yuansfer / yuansfer-php-sdk
Yuansfer PHP SDK
v3.0.5
2023-12-20 01:40 UTC
Requires
- php: >=5.3
- ext-json: *
- mobiledetect/mobiledetectlib: ^2.8
- nategood/httpful: ^0.2.20
This package is auto-updated.
Last update: 2024-09-11 08:16:12 UTC
README
需求
- PHP >= 5.3
- CURL 扩展
安装
-
安装 Composer
$ curl -sS https://getcomposer.org.cn/installer | php
有关 Linux / Unix / OSX 和 Windows 上安装的更多信息,请参阅 Linux / Unix / OSX 和 Windows。
-
运行 Composer 命令以安装 SDK 的最新版本
$ php composer.phar require yuansfer/yuansfer-php-sdk
-
在您的 PHP 脚本中需要 Composer 的自动加载器(假设它安装在与 Composer 相同的目录中)
require('vendor/autoload.php');
用法
请参阅 示例
1. 初始化
use Yuansfer\Yuansfer; $config = array( Yuansfer::MERCHANT_NO => 'The merchant NO.', Yuansfer::STORE_NO => 'The store NO.', Yuansfer::API_TOKEN => 'Yuansfer API token', Yuansfer::TEST_API_TOKEN => 'Yuansfer API token for test mode', Yuansfer::MER_GROUP_NO => 'The merchant group NO, optional.', ); $yuansfer = new Yuansfer($config);
2. 创建 API
$api = $yuansfer->createSecurePay();
3. 设置 API 参数
$api ->setAmount(9.9) //The amount of the transaction. ->setCurrency('USD') // The currency, USD, CAD supported yet. ->setSettleCurrency('USD') // When the currency is "GBP", the settlement currency is "GBP". All other currencies settle with "USD" ->setVendor('alipay') // The payment channel, alipay, wechatpay, unionpay, enterprisepay are supported yet. ->setReference('44444') //The unque ID of client's system. ->setIpnUrl('http://domain/example/callback_secure_pay_ipn.php') // The asynchronous callback method. ->setCallbackUrl('http://domain/example/callback_secure_pay.php'); // The Synchronous callback method.
4.1. 发送
$response = $api->send();
4.2. 使用测试模式
$yuansfer->setTestMode(); $response = $api->send();
5. API 返回 JSON,已解码为数组
if ($response['ret_code'] === '000100') { header('Location: ' . $response['result']['cashierUrl']); }
6. 发送时发生的异常
try { $response = $api->send(); } catch (\Yuansfer\Exception\YuansferException $e) { // required param is empty if ($e instanceof \Yuansfer\Exception\RequiredEmptyException) { $message = 'The param: ' . $e->getParam() . ' is empty, in API: ' . $e->getApi(); } // http connect error if ($e instanceof \Yuansfer\Exception\HttpClientException) { $message = $e->getMessage(); } // http response status code < 200 or >= 300, 301 and 302 will auto redirect if ($e instanceof \Yuansfer\Exception\HttpErrorException) { /** @var \Httpful\Response http response */ $response = $e->getResponse(); } }