mblsolutions/inspireddeck-php

PHP应用程序的官方Inspired Deck接口。

v2.0.0 2022-12-09 16:04 UTC

README

Build Status

Inspired Deck Interface for PHP 为您的PHP应用程序提供了一个API接口,以便访问Inspired Deck平台。

内容

集成应用程序

Inspired Deck 为集成商提供了一个接口,用于管理自己的安全凭证集。此接口可通过Inspired Deck门户的“集成”菜单项访问。

安装

建议通过Composer安装Inspired Deck PHP。

composer require mblsolutions/inspireddeck-php

用法

身份验证

请注意:您的API凭证(客户端ID、客户端密钥和访问令牌)具有许多权限。请确保这些凭证的安全性。不要在GitHub、客户端代码等地方共享此数据。如果您认为任何凭证已泄露,请在Inspired Deck集成应用程序界面中撤销/重置用户令牌、客户端密钥和解密密钥。

可以通过将Inspired Deck集成应用程序的客户端ID客户端密钥用户电子邮件用户密码传递给身份验证密码方法来进行身份验证。

$deckAuthentication = new \MBLSolutions\InspiredDeck\Authentication();

$authentication = $deckAuthentication->password(1, 'auth-secret', 'john.doe@exmaple.com', 'password');

成功的身份验证将返回包含访问、刷新和用户信息的OAuth响应。

[
    'token_type' => 'Bearer',
    'expires_in' => 31622400,
    'access_token' => 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBmOGMwNDAxZDAy',
    'refresh_token' => 'def5020002eca9ac7875d5d800c195024d7fb702535c0d30a0',
    'user' => [
        'name' => 'John Doe',
        'email' => 'john.doe@example.com',
        'role' => 'programme_manager'
    ]
];

我们建议将此信息存储并在请求之间重用(身份验证将在身份验证发出后'31622400'秒内过期)。

通过在InspiredDeck配置中设置令牌来使用您的access_token。PHP库将自动将此令牌附加到每个API请求(在当前请求中,每个PHP请求都需要重新设置此令牌)。

\MBLSolutions\InspiredDeck\InspiredDeck::setToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBmOGMwNDAxZDAy');

查找代码

在可以对产品代码发出交易之前,我们建议检查代码的当前状态/有效性。应使用搜索对象向Inspired Deck发出此请求。搜索条件应之一为serialpancustomertransaction

\MBLSolutions\InspiredDeck\InspiredDeck::setToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBmOGMwNDAxZDAy');

$search = new \MBLSolutions\InspiredDeck\Search();

$result = $search->code([
    'serial' => 123456789,
    'pan' => null,
    'customer' => null,
    'transaction' => null,
]);

成功的请求将显示有关代码的信息。

[   
    'data' => [
        'activation_date' => null,
        'asset' => "Example Gift Card",
        'balance' => 0,
        'created' => "2016-08-31T12:36:34+00:00",
        'currency_code' => "GBP",
        'currency_decimals' => 2,
        'display' => "12345*******6799",
        'expiration_date' => "2021-12-16T00:00:00+00:00",
        'profile' => "Example Codes",
        'serial' => 123456789,
        'sku' => "GIFT_CARD",
        'status' => "active",
        'type' => "physical",
        'updated' => "2019-10-30T11:35:49+00:00",
        'valid_from' => null,
        'valid_to' => null,
    ]
];

代码交易

可以在本软件包包含的多个API对象上执行代码交易(完整列表位于src目录中,例如/src/Balance.php)。

\MBLSolutions\InspiredDeck\InspiredDeck::setToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBmOGMwNDAxZDAy');

$search = new \MBLSolutions\InspiredDeck\Credit();

$result = $search->credit([
    'serial' => 12345678,
    'amount' => 1000,
    'reference' => 'TEST-REF-1'
]);

成功的交易将返回有关代码的更新信息(请参阅更新后的余额)。

[   
    'data' => [
        'activation_date' => null,
        'asset' => "Example Gift Card",
        'balance' => 1000,
        'created' => "2016-08-31T12:36:34+00:00",
        'currency_code' => "GBP",
        'currency_decimals' => 2,
        'display' => "12345*******6799",
        'expiration_date' => "2021-12-16T00:00:00+00:00",
        'profile' => "Example Codes",
        'serial' => 123456789,
        'sku' => "GIFT_CARD",
        'status' => "active",
        'type' => "physical",
        'updated' => "2019-10-30T11:35:49+00:00",
        'valid_from' => null,
        'valid_to' => null,
    ]
];

交易历史

可以使用交易历史记录对象获取代码交易历史记录。

\MBLSolutions\InspiredDeck\InspiredDeck::setToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBmOGMwNDAxZDAy');

$search = new \MBLSolutions\InspiredDeck\TransactionHistory();

$page = 1;
$limit = 5;

$result = $search->all(12345678, $page, $limit);

将返回请求代码的交易历史记录。

[
    'data' => [
        [
            'action' => "search",
            'action_name' => "Find Code",
            'amount' => 1000,
            'comment' => null,
            'currency_code' => "GBP",
            'currency_decimals' => 2,
            'date' => "2020-10-01T10:40:40+00:00",
            'external_ref' => null,
            'origin_ref' => null,
            'reference' => "TEST-REF-1",
            'reversed' => false,
            'serial' => 123456789,
            'user' => "John Doe"
        ],
        [
            'action' => "search",
            'action_name' => "Find Code",
            'amount' => 0,
            'comment' => null,
            'currency_code' => "GBP",
            'currency_decimals' => 2,
            'date' => "2020-10-01T10:40:33+00:00",
            'external_ref' => null,
            'origin_ref' => null,
            'reference' => "ID-1601548826005",
            'reversed' => false,
            'serial' => 123456789,
            'user' => "John Doe"
        ]
    ]
];

许可协议

Inspired Deck Interface for PHP 是在MIT许可条款下分发的免费软件。

要使用此软件包,需要与Inspired Deck签订合同/订阅,更多信息请联系MBL Solutions