tmconsulting / uniteller-php-sdk
此包已被弃用且不再维护。未建议替代包。
用于与Uniteller支付处理集成 的PHP库。
0.2.1
2018-07-20 12:28 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.3
- php-http/guzzle6-adapter: ^1.1
- php-http/httplug: ^1.1
Requires (Dev)
- phpunit/phpunit: ~5.7
- symfony/var-dumper: ^3.2
This package is not auto-updated.
Last update: 2020-05-29 19:21:55 UTC
README
Uniteller PHP SDK
用于与Uniteller(非官方)的互联网支付集成 的PHP(5.6+)SDK。 此文档有俄语版本。此外,此SDK与Payum库集成,您可以使用网关。
功能
- 支付(方法
pay
) - 周期性支付(方法
recurrent
) - 取消支付(方法
unblock
) - 接收结果
- 回调(用于验证传入签名的方法)
- 通用错误处理器(任何请求的通用错误处理器)
- 通用状态(请求/响应中可能会遇到
canceled
或cancelled
变体。它们将被转换为通用状态,如cancelled
。)
待办事项
- 将注释和系统(错误)消息翻译成英文
- 验证
- 实现方法
card
- 实现方法
confirm
安装
要安装包,请执行以下命令
composer require tmconsulting/uniteller-php-sdk
使用方法
您可以在当前SDK的 examples
文件夹中找到一些使用示例。只需遵循 README.md
文件中的说明。
配置凭证
<?php $uniteller = new \Tmconsulting\Uniteller\Client(); $uniteller->setShopId('you_shop_id'); $uniteller->setLogin('you_login_number'); $uniteller->setPassword('you_password'); $uniteller->setBaseUri('https://wpay.uniteller.ru');
跳转到支付页面
因此,要跳转到支付页面,您只需运行带有如下参数的 payment
方法
<?php use Tmconsulting\Uniteller\Payment\PaymentBuilder; $builder = new PaymentBuilder(); $builder ->setOrderIdp(mt_rand(10000, 99999)) ->setSubtotalP(10) ->setCustomerIdp(mt_rand(10000, 99999)) ->setUrlReturnOk('http://google.ru/?q=success') ->setUrlReturnNo('http://google.ru/?q=failure'); $uniteller->payment($builder)->go(); // if you don't need redirect // $uniteller->payment($builder)->getUri();
或使用纯数组
<?php $uniteller->payment([ 'Order_IDP' => mt_rand(10000, 99999), // ... other parameters ])->go();
周期性支付
<?php use Tmconsulting\Uniteller\Recurrent\RecurrentBuilder; $builder = (new RecurrentBuilder()) ->setOrderIdp(mt_rand(10000, 99999)) ->setSubtotalP(15) ->setParentOrderIdp(00000) // order id of any past payment ->setParentShopIdp($uniteller->getShopId()); // optional $results = $uniteller->recurrent($builder);
或使用纯数组
<?php $results = $uniteller->recurrent([ 'Order_IDP' => mt_rand(10000, 99999), // ... other parameters ]);
取消支付
<?php use Tmconsulting\Uniteller\Cancel\CancelBuilder; $builder = (new CancelBuilder())->setBillNumber('RRN Number, (12 digits)'); $results = $uniteller->cancel($builder);
或
<?php use Tmconsulting\Uniteller\Order\Status; $results = $uniteller->cancel([ 'Billnumber' => 'RRN Number, (12 digits)', // ... ]); foreach ($results as $payment) { // see Tmconsulting\Uniteller\Order\Order for other methods. if ($payment->getStatus() === Status::CANCELLED) { // payment was cancelled } }
接收结果
<?php $results = $uniteller->results([ 'ShopOrderNumber' => 'Order_IDP number' ]); var_dump($results); // $results[0]->getCardNumber();
回调(网关通知)
接收来自网关的传入参数并验证签名。
<?php if (! $uniteller->verifyCallbackRequest(['all_parameters_from_post_with_signature'])) { return 'invalid_signature'; }
测试
vendor/bin/phpunit
许可协议
MIT.