v0.1.0 2017-11-08 14:40 UTC

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账户。

Build Status Latest Stable Version Total Downloads GitHub license

要求

安装

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)。有关更多信息,请参阅 许可证文件