airtimerewards/ar-connect-sdk

3.1.0 2022-01-19 12:39 UTC

README

Packagist Packagist

AR Connect SDK

此包提供与 AR Connect 交互的客户端。

1. 要求

此 SDK 需要 PHP 7.1 或更高版本。此外,您必须注册 AR Connect 以使用 API。最后,您需要一个环境和该环境的 API 密钥。

2. 安装

建议使用 composer,并运行以下命令

$ composer require airtimerewards/ar-connect-sdk

3. 使用方法

AR Connect 客户端提供了与 AR Connect API 交互的方法。

3.1 实例化客户端

要实例化客户端,请使用工厂方法并传入您的环境 ID 和 API 密钥。

重要:API 密钥必须是针对已指定的环境的。如果它们不匹配,将发生错误。

<?php

use AirtimeRewards\ARConnect\ARConnectClient;

$client = ARConnectClient::createClient('api-key', 'environment-id', $logger);

3.2 查询数据以创建信用

在创建信用之前,您需要找到有关要应用的信用账户的一些信息:移动电话网络以及它是预付费(预付费)还是月度合约(后付费)。可以通过调用 getNetworks() 方法来实现。此方法接受一个可选的 MSISDN(带有国家代码前缀的国际标准移动电话号码)getNetworks('447700900000'),如果传入,将仅返回适用于该移动账户的网络。

<?php

use AirtimeRewards\ARConnect\ARConnectClient;

$client = ARConnectClient::createClient('api-key', 'environment-id', $logger);

$networks = $client->getNetworks(); // returns a collection of networks
$filteredNetworks = $client->getNetworks('447700900000'); // returns a collection of networks for UK mobile number 07700 900 000

一旦选择了网络,您可以获取有关此网络支持哪些信用类型的详细信息。信用类型包含有关可用信用值的最小值、最大值和增量信息。

<?php

use AirtimeRewards\ARConnect\ARConnectClient;

$client = ARConnectClient::createClient('api-key', 'environment-id', $logger);
$creditTypes = $client->getCreditTypesForNetwork($network);

现在已收集了应用信用所需的所有信息。

3.3 应用信用

可以通过调用 createCredit() 方法并传入以下信息来应用信用

  • MSISDN
  • 网络
  • 订阅类型(《Credit::SUBSCRIPTION_TYPE_POSTPAID》或《Credit::SUBSCRIPTION_TYPE_PREPAID》)
  • 信用的值(Money\Money 实例,见 PHP Money
  • 是否在信用应用后向账户发送短信
  • 可选的唯一引用。强烈建议使用,因为它将防止信用意外多次应用。
<?php

use AirtimeRewards\ARConnect\ARConnectClient;
use AirtimeRewards\ARConnect\Credit;
use Money\Money;
use Money\Currency;

$client = ARConnectClient::createClient('api-key', 'environment-id', $logger);
$creditValue = new Money(1000, new Currency('GBP')); // £10 of credit
$credit = $client->createCredit(
    '447700900000',
    $network,
    Credit::SUBSCRIPTION_TYPE_POSTPAID,
    $creditValue,
    true,
    'client-reference'
);

将返回一个 AirtimeRewards\ARConnect\Credit 实例。建议存储信用的 ID,以便将来用作引用和检索(例如,用于检查信用的最新状态)。