clearhaus / sdk
Clearhaus PHP SDK
Requires
- php: ^7.0
- php-http/client-common: ^1.3
- php-http/discovery: ^1.0
- php-http/httplug: ^1.0
- php-http/message-factory: ^1.0.2
- phpseclib/phpseclib: ^2.0
- psr/container: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- phpspec/phpspec: ^4.0
- phpspec/prophecy: ^1.6.2
- zendframework/zend-diactoros: ^1.6
Suggests
- ext-openssl: Allow to sign requests using RSA signature of the HTTP body.
This package is auto-updated.
Last update: 2024-09-06 18:22:11 UTC
README
使用PHP编写并使用HTTPlug解耦的任何HTTP消息客户端的Clearhaus API SDK。
您可以在 https://www.clearhaus.com/ 注册Clearhaus账户。
要求
安装
Clearhaus SDK 仅通过Composer官方支持安装。有关Composer文档,请参阅 getcomposer.org。
您可以从命令行安装模块
$ composer require clearhaus/sdk
文档
请参阅 http://docs.gateway.clearhaus.com 获取最新文档。
认证
对于认证,您必须提供一个API密钥,您可以在您的账户中找到。
use Clearhaus\Client; $client = new Client($apiKey);
签名请求
签名是HTTP体内容的RSA签名;以十六进制表示。签名者必须通过签名API密钥进行识别。
use Clearhaus\Client; $client->enableSignature();
授权
要预留持卡人银行账户中的资金,您需要创建一个新的授权资源。
$authorization = $client->authorizations->authorize([ 'amount' => 2050, 'currency' => 'EUR', 'ip' => '1.1.1.1', 'card' => [ 'number' => '4111111111111111', 'expire_month' => '06', 'expire_year' => '2018', 'csc' => '123', ], ]);
您还可以使用之前令牌化的卡。
$authorization = $client->authorizations->authorizeFromCardId($cardId, [ 'amount' => 2050, 'currency' => 'EUR', 'ip' => '1.1.1.1', ]);
捕获
要将持卡人银行账户中的资金转入您的商户银行账户,您需要创建一个新的捕获资源。您可以为授权交易进行多次捕获。
$client->captures->capture($authorization['id']);
您可以通过提供金额参数来提取部分金额
$client->captures->capture($authorization['id'], ['amount' => 1000]);
退款
要将资金退还到持卡人银行账户,您需要创建一个新的退款资源。您可以为授权交易进行多次退款。
$client->refunds->refund($authorization['id']);
您可以通过提供金额参数来退还部分金额
$client->refunds->refund($authorization['id'], ['amount' => 500]);
作废
要释放持卡人银行账户中的预留资金,您需要创建一个新的作废资源。预留通常持续7天,具体取决于发卡行,然后自动释放。
$client->voids->void($authorization['id']);
信用
要将资金(例如奖金而不是退款)划拨到持卡人银行账户,您需要创建一个新的信用资源。您必须有一个卡片资源才能进行信用交易。
$client->credits->credit($card['id'], [ 'amount' => 2050, 'currency' => 'EUR', ]);
卡片
卡片资源(令牌)对应于支付卡,可以用来进行信用或授权交易,而无需提供敏感的卡数据。必须使用卡片资源来执行后续的定期授权交易。
$card = $client->cards->createCard([ 'card' => [ 'number' => '4111111111111111', 'expire_month' => '06', 'expire_year' => '2018', 'csc' => '123', ], ]);
账户
账户资源包含基本商户账户信息。
$account = $client->accounts->getAccount();
3-D Secure
3-D Secure 是一个旨在提高在线交易安全的协议。在继续之前,请阅读有关此协议的更多信息 3Dsecure.io。
要执行3-D Secure交易,您需要创建一个包括pares值的普通授权。
$authorization = $client->authorizations->authorize([ 'amount' => 2050, 'currency' => 'EUR', 'ip' => '1.1.1.1', 'card' => [ 'number' => '4111111111111111', 'expire_month' => '06', 'expire_year' => '2018', 'csc' => '123', ], 'threed_secure' => [ 'pares' => '<some-pares-value>', ], ]);
PSR-11工厂
您可以使用预定义的工厂 Clearhaus\Container\ClientFactory
来实例化Clearhaus客户端
use Clearhaus\Container\ClientFactory; $factory = new ClientFactory(); $client = $factory($psrContainer);
客户端配置必须如下所示
use Clearhaus\Client; return [ 'clearhaus_sdk' => [ 'api_key' => null, // Allow to provide API key that you will find in your account 'mode' => Client::MODE_TEST, // Allow to define the usage of either test or live accounts 'use_signature' => true, // Allow to configure the usage of request signature 'plugins' => [], // HTTPlug plugins that allow to add some processing logic ], ];
测试
$ vendor/bin/phpspec run
信用
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件。