twikey/twikey-api-php

用于与 Twikey API 交互的 PHP 客户端

v0.6.0 2024-04-24 19:13 UTC

This package is auto-updated.

Last update: 2024-09-24 21:54:55 UTC


README

Twikey API PHP 客户端

想让您客户以最便捷的方式支付,那么 Twikey 正是您需要的。

通过(定期)信用卡、SEPA 直接借记或其他任何支付方式,通过引入您自己的支付服务提供商或利用您的银行合同进行定期或偶尔的支付。

Twikey 提供了一个简单且安全的多渠道解决方案,用于协商和收取定期(或甚至偶尔)的支付。Twikey 与许多会计和 CRM 软件包集成了。它是欧洲范围内直接借记的第一个和唯一提供商,可以直接与所有主要的比利时和荷兰银行合作。然而,您可以使用您最喜欢的 PSP 的支付选项,让其他客户也能支付。

要求

要使用 Twikey API 客户端,以下是需要满足的条件

  • 注册一个 Twikey 账户
  • PHP >= 5.6
  • 最新的 OpenSSL(或其他 SSL/TLS 工具包)

Composer 安装

安装 Twikey API 客户端最简单的方法是使用 Composer 依赖它。

$ composer require twikey/twikey-api-php:^0.6.0

{
    "require": {
        "twikey/twikey-api-php": "^0.6.0"
    }
}

如何创建任何东西

API 的工作方式与您想要创建指令、交易、发票或甚至是支付链接无关。以下步骤应予以实施

  1. 使用 Twikey API 客户端创建或导入您的项目。

  2. 一旦可用,我们的平台将向配置的 webhook 发送异步请求,以允许检索详细信息。由于可能有多个项目可供您使用,因此提供了一个“feed”端点,该端点就像一个队列,可以读取直到为空,直到下一次。

  3. 客户返回,应该满意地看到他采取的操作已经完成。

在我们的在线完整文档中找到更多信息 api.twikey.com

入门

使用您首选的 Http 客户端(例如,guzzle)初始化 Twikey API 客户端,并配置您的 API 密钥,您可以在 Twikey 商户界面 中找到。

use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use Twikey\Api;

$httpClient = new Client([
    'http_errors' => false,
    'debug' => false
]);

$twikey = new Twikey($httpClient,$APIKEY);

文档

邀请客户使用特定的行为模板(ct)签署 SEPA 指令,该模板允许您配置客户将体验到的行为或流程。

$invite = $twikey->document->create([
    "ct" => $ct
    "email" => "john@doe.com",
    "firstname" => "John",
    "lastname" => "Doe",
]);

创建后,链接可用于签署,理想情况下,您将存储指令编号以供将来使用(例如,发送交易)。

// store $invite->mndtId for this customer
header("Location: " . $invite->url);

Feed

$twikey->document->feed(new class implements DocumentCallback {
   function handleNew($update)
   {
       print("New " . $update->Mndt->MndtId . ' @ '. $update->EvtTime . "\n");
   }

   function handleUpdate($update)
   {
       $rsn = $update->AmdmntRsn->Rsn;
       print("Update: " . $update->Mndt->MndtId . ' -> '. $rsn . ' @ '. $update->EvtTime . "\n");
   }

   function handleCancel($update)
   {
       $rsn = $update->CxlRsn->Rsn;
       print("Cancel: " . $update->OrgnlMndtId . ' -> '. $rsn . ' @ '. $update->EvtTime . "\n");
   }
}
);

交易

发送新的交易并处理来自银行的反馈。

$invite = $twikey->transaction->create([
   "mndtId" => "CORERECURRENTNL16318",
   "message" => "Test Message",
   "ref" => "Merchant Reference",
   "amount" => 10.00, // 10 euro
   "place" => "Here"
]);

Feed

$count = $twikey->transaction->feed(new class implements TransactionCallback{
   public function handle($transaction)
   {
       print("Transaction " . $transaction->id . ' @ '. $transaction->date . ' has '. $transaction->state . "\n");
   }
});

Webhook

当需要通知您有关文件或支付的更新时,将调用您在 API 设置中指定的 webhookUrl

$queryString = decode($_SERVER['QUERY_STRING']);
$signatureHeader = $_SERVER['HTTP_X_SIGNATURE'];

Twikey::validateWebhook($APIKEY, "abc=123&name=abc", $queryString, $signatureHeader);

API 文档

如果您想了解更多关于我们 API 的信息,请访问 Twikey Api 页面。API 文档可用英文。

想要帮助我们使我们的 API 客户端变得更好吗?

想要帮助我们使我们的 API 客户端变得更好?我们接受 pull requests

支持

联系: www.twikey.com