discussio / raas
使用这个RESTful API,您可以将其集成到您的应用程序或平台中的全球奖励或激励计划。如果您有任何问题或希望接收自己的凭据,请联系devsupport@tangocard.com。
此软件包的规范仓库似乎已消失,因此该软件包已被冻结。
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ~1.3.0
- mashape/unirest-php: ~3.0.1
Requires (Dev)
This package is not auto-updated.
Last update: 2023-03-16 07:33:22 UTC
README
使用这个RESTful API,您可以将其集成到您的应用程序或平台中的全球奖励或激励计划。如果您有任何问题或希望接收自己的凭据,请联系devsupport@tangocard.com。
如何构建
生成的代码依赖于外部库,如UniRest。这些依赖关系定义在SDK附带的composer.json
文件中。为了解决这些依赖关系,我们使用Composer包管理器,它需要在您的系统上安装PHP大于5.3.2。访问https://getcomposer.org.cn/download/下载Composer安装文件并在您的系统上运行它。打开命令提示符并输入composer --version
。如果安装成功,它应显示已安装的Composer当前版本。
- 使用命令行,导航到包含生成的文件(包括
composer.json
)的SDK目录。 - 运行命令
composer install
。这将安装所有必需的依赖关系,并在您的项目目录中创建vendor
目录。
[仅限Windows用户] 在php.ini中配置CURL证书路径
CURL过去包含一组受信任的CA列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书,因为它们无法验证。您必须获取您CA的证书并将curl指向它。步骤如下
- 从https://curl.haxx.se/docs/caextract.html下载证书包(.pem文件)到您的系统。
- 将curl.cainfo = "PATH_TO/cacert.pem"添加到您的php.ini文件中,该文件位于您的PHP安装中。"PATH_TO"必须是一个包含.pem文件的绝对路径。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
如何使用
以下部分解释了如何在新的项目中使用Raas库。
1. 在IDE中打开项目
打开PHP的IDE,如PhpStorm。这里介绍的基本工作流程也适用于您更喜欢使用不同的编辑器或IDE的情况。
在PhpStorm中单击打开
,浏览到生成的SDK目录,然后单击确定
。
2. 添加一个新的测试项目
如以下所示,在解决方案名称上右键单击以创建新目录
将目录命名为"test"
向此项目添加PHP文件
将其命名为"testSDK"
根据您的项目设置,您可能需要在PHP代码中包含Composer的自动加载器以启用类的自动加载。
require_once "../vendor/autoload.php";
确保 require_once 中的路径正确指向依赖安装过程中创建在 vendor 目录下的 autoload.php
文件,这是很重要的。
在此之后,您可以添加代码来初始化客户端库并获取 Controller 类的实例。后续章节将给出初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的 PHP 引擎。
从“文件”菜单中打开 设置
。
在 语言和框架
中选择 PHP
。
在 解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击 确定
。
要运行您的项目,右键单击测试项目中的 PHP 文件,然后单击 运行
。
如何测试
可以使用 PHPUnit 运行此 SDK 中的单元测试。
- 首先使用 composer 安装依赖项,包括
require-dev
依赖项。 - 从命令行运行
vendor\bin\phpunit --verbose
来执行测试。如果您已全局安装 PHPUnit,则使用phpunit --verbose
运行测试。
您可以在 phpunit.xml
文件中更改 PHPUnit 测试配置。
初始化
认证
为了设置 API 客户端的认证和初始化,您需要以下信息。
参数 | 描述 |
---|---|
platformName | RaaS v2 API 平台名称 |
platformKey | RaaS v2 API 平台密钥 |
API 客户端可以按以下方式初始化。
$platformName = 'QAPlatform2'; // RaaS v2 API Platform Name $platformKey = 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj'; // RaaS v2 API Platform Key $client = new RaasLib\RaasClient($platformName, $platformKey);
类参考
控制器列表
- OrdersController
- AccountsController
- CatalogController
- ExchangeRatesController
- StatusController
- CustomersController
- FundController
OrdersController
获取单例实例
可以从 API 客户端访问 OrdersController
类的单例实例。
$orders = $client->getOrders();
createOrder
TODO: 添加方法描述
function createOrder($body)
参数
参数 | 标签 | 描述 |
---|---|---|
body | 必需 |
TODO: 添加参数描述 |
示例用法
$body = new CreateOrderRequestModel(); $result = $orders->createOrder($body);
getOrder
TODO: 添加方法描述
function getOrder($referenceOrderID)
参数
参数 | 标签 | 描述 |
---|---|---|
referenceOrderID | 必需 |
参考订单 ID |
示例用法
$referenceOrderID = 'referenceOrderID'; $result = $orders->getOrder($referenceOrderID);
getOrders
TODO: 添加方法描述
function getOrders($options)
参数
参数 | 标签 | 描述 |
---|---|---|
accountIdentifier | 可选 |
TODO: 添加参数描述 |
customerIdentifier | 可选 |
TODO: 添加参数描述 |
externalRefID | 可选 |
TODO: 添加参数描述 |
startDate | 可选 |
TODO: 添加参数描述 |
endDate | 可选 |
TODO: 添加参数描述 |
elementsPerBlock | 可选 |
TODO: 添加参数描述 |
page | 可选 |
TODO: 添加参数描述 |
示例用法
$accountIdentifier = 'accountIdentifier'; $collect['accountIdentifier'] = $accountIdentifier; $customerIdentifier = 'customerIdentifier'; $collect['customerIdentifier'] = $customerIdentifier; $externalRefID = 'externalRefID'; $collect['externalRefID'] = $externalRefID; $startDate = date("D M d, Y G:i"); $collect['startDate'] = $startDate; $endDate = date("D M d, Y G:i"); $collect['endDate'] = $endDate; $elementsPerBlock = 114; $collect['elementsPerBlock'] = $elementsPerBlock; $page = 114; $collect['page'] = $page; $result = $orders->getOrders($collect);
createResendOrder
TODO: 添加方法描述
function createResendOrder($referenceOrderID)
参数
参数 | 标签 | 描述 |
---|---|---|
referenceOrderID | 必需 |
TODO: 添加参数描述 |
示例用法
$referenceOrderID = 'referenceOrderID'; $result = $orders->createResendOrder($referenceOrderID);
AccountsController
获取单例实例
可以从 API 客户端访问 AccountsController
类的单例实例。
$accounts = $client->getAccounts();
getAccount
获取账户
function getAccount($accountIdentifier)
参数
参数 | 标签 | 描述 |
---|---|---|
accountIdentifier | 必需 |
账户标识符 |
示例用法
$accountIdentifier = 'accountIdentifier'; $result = $accounts->getAccount($accountIdentifier);
getAccountsByCustomer
获取指定客户的账户列表
function getAccountsByCustomer($customerIdentifier)
参数
参数 | 标签 | 描述 |
---|---|---|
customerIdentifier | 必需 |
客户标识符 |
示例用法
$customerIdentifier = 'customerIdentifier'; $result = $accounts->getAccountsByCustomer($customerIdentifier);
createAccount
在指定客户下创建账户
function createAccount( $customerIdentifier, $body)
参数
参数 | 标签 | 描述 |
---|---|---|
customerIdentifier | 必需 |
客户标识符 |
body | 必需 |
请求体 |
示例用法
$customerIdentifier = 'customerIdentifier'; $body = new CreateAccountRequestModel(); $result = $accounts->createAccount($customerIdentifier, $body);
getAllAccounts
获取平台下的所有账户
function getAllAccounts()
示例用法
$result = $accounts->getAllAccounts();
CatalogController
获取单例实例
可以通过API客户端访问CatalogController
类的单例实例。
$catalog = $client->getCatalog();
getCatalog
获取目录
function getCatalog()
示例用法
$result = $catalog->getCatalog();
ExchangeRatesController
获取单例实例
可以通过API客户端访问ExchangeRatesController
类的单例实例。
$exchangeRates = $client->getExchangeRates();
getExchangeRates
获取当前汇率
function getExchangeRates()
示例用法
$result = $exchangeRates->getExchangeRates();
StatusController
获取单例实例
可以从API客户端访问StatusController
类的单例实例。
$status = $client->getStatus();
getSystemStatus
标签:
跳过认证
获取系统状态
function getSystemStatus()
示例用法
$result = $status->getSystemStatus();
CustomersController
获取单例实例
可以从API客户端访问CustomersController
类的单例实例。
$customers = $client->getCustomers();
getCustomer
获取客户
function getCustomer($customerIdentifier)
参数
参数 | 标签 | 描述 |
---|---|---|
customerIdentifier | 必需 |
客户标识符 |
示例用法
$customerIdentifier = 'customerIdentifier'; $result = $customers->getCustomer($customerIdentifier);
createCustomer
创建新客户
function createCustomer($body)
参数
参数 | 标签 | 描述 |
---|---|---|
body | 必需 |
请求体 |
示例用法
$body = new CreateCustomerRequestModel(); $result = $customers->createCustomer($body);
getAllCustomers
获取平台下所有客户
function getAllCustomers()
示例用法
$result = $customers->getAllCustomers();
FundController
获取单例实例
可以从API客户端访问FundController
类的单例实例。
$fund = $client->getFund();
getCreditCards
列出在此平台上注册的所有信用卡
function getCreditCards()
示例用法
$result = $fund->getCreditCards();
createCreditCard
注册新信用卡
function createCreditCard($body)
参数
参数 | 标签 | 描述 |
---|---|---|
body | 必需 |
TODO: 添加参数描述 |
示例用法
$body = new CreateCreditCardRequestModel(); $result = $fund->createCreditCard($body);
createUnregisterCreditCard
注销信用卡
function createUnregisterCreditCard($body)
参数
参数 | 标签 | 描述 |
---|---|---|
body | 必需 |
TODO: 添加参数描述 |
示例用法
$body = new UnregisterCreditCardRequestModel(); $result = $fund->createUnregisterCreditCard($body);
createDeposit
为账户充值
function createDeposit($body)
参数
参数 | 标签 | 描述 |
---|---|---|
body | 必需 |
TODO: 添加参数描述 |
示例用法
$body = new DepositRequestModel(); $result = $fund->createDeposit($body);
getDeposit
获取特定信用卡充值的详细信息
function getDeposit($depositId)
参数
参数 | 标签 | 描述 |
---|---|---|
depositId | 必需 |
充值ID |
示例用法
$depositId = 'depositId'; $result = $fund->getDeposit($depositId);
getCreditCard
获取特定信用卡的详细信息
function getCreditCard($token)
参数
参数 | 标签 | 描述 |
---|---|---|
token | 必需 |
卡令牌 |
示例用法
$token = 'token'; $result = $fund->getCreditCard($token);