itransact / itransact-php
这是用于通过iTransact的API进行身份验证的SDK
此包的规范仓库似乎已消失,因此该包已被冻结。
1.1.0
2019-04-11 20:41 UTC
Requires
- php: >=5.3.0
- lib/curl: 0.2
- phpunit/phpunit: >=6.0
This package is auto-updated.
Last update: 2023-12-20 05:12:04 UTC
README
作为我们PHP社区快速开始使用依赖管理器的快速助手,我们专门为PHP创建了这个API/SDK包装器。
更多详细信息请参阅iTransact开发者API
功能
使用方法
如果您想看到除composer之外的平台进行依赖项管理,请告诉我们。
Composer安装
在项目的根目录下运行以下命令
composer require itransact/itransact-php
Packagist链接 - iTransact SDK在Composer上
手动安装
下载zip文件,或使用git子模块将SDK拖入您的项目。
现在只需在需要使用它的类上require iTransactSDK.php即可。
导入示例
以下是实现示例
使用Composer
# Wherever you are adding autoloader it should pick up the class. $loader = require_once __DIR__ . '/vendor/autoload.php'; ... # Now that its been automatically loaded, you can just call it inline or via use use iTransact\iTransactSDK\CardPayload; use iTransact\iTransactSDK\AddressPayload; use iTransact\iTransactSDK\TransactionPayload; use iTransact\iTransactSDK\iTTransaction; class Foo(){ private function Bar(){ // Put these somewhere safe, like in an environment variable $apiUsername = 'InsertApiUsername'; $apiKey = 'InsertApiKeyHere'; // Create new instances of the SDK, and if you would like you can also use the payload. $card = new CardPayload('Greg',5454545454545454,123,12,2020); $address = new AddressPayload('', '', '', '', '84025'); // Address is optional unless you are using a Loopback / Sandbox / Demo account $payload = new TransactionPayload(1234, $card, $address); // Amount, CardPayload, AddressPayload $payload->addMetadata('email', 'example@itransact.com'); // Optional $payload->setSendCustomerReceipt(true); // Optional - default: false $sdk = new iTTransaction(); // POST request to server $postResult = $sdk->postCardTransaction($transactionAmount,$apiUsername,$apiKey,$payload); } }
不使用Composer
require_once('./iTransactSDK.php'); use iTransact\iTransactSDK\CardPayload; use iTransact\iTransactSDK\AddressPayload; use iTransact\iTransactSDK\TransactionPayload; use iTransact\iTransactSDK\iTTransaction; class Foo(){ private function Bar(){ // Put these somewhere safe, like in an environment variable $apiUsername = 'InsertApiUsername'; $apiKey = 'InsertApiKeyHere'; // Create new instances of the SDK, and if you would like you can also use the payload. $card = new CardPayload('Greg',5454545454545454,123,12,2020); $address = new AddressPayload('', '', '', '', '84025'); // Address is optional unless you are using a Loopback / Sandbox / Demo account $payload = new TransactionPayload(1234, $card, $address); // Amount, CardPayload, AddressPayload $payload->addMetadata('email', 'example@itransact.com'); // Optional $payload->setSendCustomerReceipt(true); // Optional - default: false $sdk = new iTTransaction(); // POST request to server $postResult = $sdk->postCardTransaction($transactionAmount,$apiUsername,$apiKey,$payload); } }
示例响应
示例成功的$postResult将返回以下字段/值类型
{
"id": "string",
"amount": 0,
"status": "string",
"settled": "string",
"instrument": "string",
"metadata": [
{
"key": "string",
"value": "string"
}
],
"payment_source": {
"name": "string",
"default": "string",
"type": "string",
"expired": "string",
"month": "string",
"year": "string",
"brand": "string",
"last_four_digits": "string",
"sec_code": "string"
},
"credits": {
"amount": 0,
"state": "string"
},
"credited_amount": "string"
}
示例失败的'$postResult'将返回未授权,如果$apiUsername或$apiKey在您的iTransact账户上不存在
{
"error": [
{ "message": "Unauthorized" }
]
}
请参阅src/iTransactJSON/Examples中的文件,以获取其他实现想法。
测试
本项目使用PHPUnit运行单元测试。您可以在src/iTransactJSON/Tests文件夹中找到每个测试
遗留XML API
我们还提供了一些旧遗留XML API的示例,以方便您使用。请继续使用JSON API。
您可以在src/iTransactXML/Examples中找到这些文件。