itransact/itransact-php

这是用于通过iTransact的API进行身份验证的SDK

此包的规范仓库似乎已消失,因此该包已被冻结。

1.1.0 2019-04-11 20:41 UTC

This package is auto-updated.

Last update: 2023-12-20 05:12:04 UTC


README

Join the chat at https://gitter.im/itransact/itransact-php

作为我们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中找到这些文件。