mblsolutions / inspireddeck-php
PHP应用程序的官方Inspired Deck接口。
Requires
- php: ^8.0
- ext-json: *
- ext-openssl: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-09 20:14:37 UTC
README
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发出此请求。搜索条件应之一为serial
、pan
、customer
或transaction
。
\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