click / module
该软件包最新版本(dev-master)没有提供许可证信息。
与click集成的库
dev-master
2019-09-17 14:36 UTC
Requires
- guzzlehttp/guzzle: ~6.0
This package is not auto-updated.
Last update: 2024-09-29 06:02:36 UTC
README
此库允许您将使用 "CLICK"
支付系统的支付接受集成到 PHP
网络应用程序中。要使库正常工作,用户必须使用 Shop API 方案连接到 Click 商户。详细的文档在此处可查 https://docs.click.uz。
通过Git安装
git clone https://github.com/click-llc/click-integration-php.git
cd click-integration-php
composer install
安装后,您需要引入自动加载器
require(__DIR__ . '\vendor\autoload.php');
文档
配置
您可以通过 click/configs.php
文件设置配置。
Click配置
return [ ... 'provider' => [ 'endpoint' => 'https://api.click.uz/v2/merchant/', 'click' => [ 'merchant_id' => 1111, 'service_id' => 2222, 'user_id' => 3333, 'secret_key' => 'AAAAAAAA' ] ] ... ]
数据库配置
return [ ... 'db' => [ 'dsn' => 'mysql:host=localhost;dbname=<your_db_name>', 'username' => 'root', 'password' => '' ] ... ]
快速开始
1) 创建模型
您可以使用 \cick\models\Payments
模型
use click\models\Payments; $model = new Payments();
或者可以通过 \click\models\Payments
类自己创建支付模型
use click\models\Payments; class MyPayments extends Payments{ ... } $model = new MyPayments();
SHOP API 方法
准备
$model->prepare([ 'click_trans_id' => 1111, 'service_id' => 2222, 'click_paydoc_id' => 3333, 'merchant_trans_id' => '11111', 'amount' => 1000.0, 'action' => 0, 'error' => 0, 'error_note' => 'Success', 'sign_time' => 'YYYY-MM-DD HH:mm:ss', 'sign_string' => 'AAAAAAAAAAAAAAAAAAAAAAAAAA' ]);
完成
$model->complete([ 'click_trans_id' => 1111, 'service_id' => 2222, 'click_paydoc_id' => 3333, 'merchant_trans_id' => '11111', 'merchant_prepare_id' => 11111, 'amount' => 1000.0, 'action' => 1, 'error' => 0, 'error_note' => 'Success', 'sign_time' => 'YYYY-MM-DD HH:mm:ss', 'sign_string' => 'AAAAAAAAAAAAAAAAAAAAAAAAAA' ]);
商户 API 方法
注意:所有商户 API 方法都返回 CLICK-MERCHANT-API 的数组响应
创建发票
$model->create_invoice([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'phone_number' => '998112222222' ]);
检查发票状态
$model->check_invoice([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'invoice_id' => 2222 ]);
创建卡令牌
$model->create_card_token([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'card_number' => 'AAAA-BBBB-CCCC-DDDD', 'expire_date' => 'BBEE', 'temporary' => 1 ]);
验证卡令牌
$model->verify_card_token([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'sms_code' => '12345' ]);
使用卡令牌进行支付
$model->payment_with_card_token([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'card_token' => 'AAAAAA-BBBB-CCCC-DDDDDDD' ]);
删除卡令牌
$model->delete_card_token([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'card_token' => 'AAAAAA-BBBB-CCCC-DDDDDDD' ]);
通过 payment_id
检查支付状态
$model->check_payment([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'payment_id' => 1111 ]);
通过 merchant_trans_id
检查支付状态
$model->merchant_trans_id([ 'token' => 'aaaa-bbbb-cccc-ddddddd', 'merchant_trans_id' => 1111 ]);
取消支付(撤销)
$model->cancel([ 'token' => 'aaaa-bbbb-cccc-dddddddd', 'payment_id' => 1111 ]);
2) 重写 Payments 的某些方法
use click\models\Payments; class MyPayments extends Payments{ /** * @param data array * @return response \GuzzleHttp\Client */ public function on_invoice_creating($data){ ... $response = $this->client->request('POST', 'invoice/create', [ ... ]); ... return $response; } /** * @param request array * @param response \GuzzleHttp\Client object * @param token string * @return response array|null */ public function on_invoice_created($request, $response, $token){ ... if($response->getStatusCode() == 200){ $result = (array)json_decode((string) $response->getBody()); ... $this->model->update_by_token($token, [ ... ]); ... } ... return $result; } }
Payments 方法列表
on_invoice_creating
和on_invoice_created
用于创建发票on_invoice_checking
和on_invoice_checked
用于检查发票on_canceling
和on_canceled
用于取消支付on_card_token_creating
和on_card_token_created
用于创建卡令牌on_card_token_verifying
和on_card_token_verified
用于验证卡令牌on_card_token_paying
和on_card_token_payed
用于通过卡令牌支付on_card_token_deleting
和on_card_token_deleted
用于删除卡令牌on_payment_checking
和on_payment_checked
用于通过商户_id 检查支付状态on_checking_with_merchant_trans_id
和on_checked_with_merchant_trans_id
用于通过商户_trans_id 检查支付状态
如果您想检查支付用户是否存在,请完成此方法
use click\models\Payments; class MyPayments extends Payments{ /** * @name on_user_is_exists method * @param payment array * @return response boolean|null */ protected function on_user_is_exists($payment){ ... } }
高级
1) 创建用于REST API的应用程序
use click\applications\Application; use click\models\Payments; $model = new Payments(); $application = new Application([ 'model' => $model ]);
2) 创建带有应用程序会话的应用程序以通过令牌进行授权
use click\applications\Application; use click\models\Payments; Application::session('<YOUR_AUTH_TOKEN>', ['/prepare', '/complete'], function(){ $model = new Payments(); $application = new Application([ 'model' => $model ]); $application->run(); });
SHOP API 方法
/prepare
用于准备/complete
用于完成
商户 API 方法
/invoice/create
用于创建发票/invoice/check
用于检查发票/payment/status
用于通过支付_id 检查支付状态/payment/merchant_train_id
用于通过商户_trans_id 检查支付状态/cancel
用于取消支付/card/create
用于创建卡令牌/card/verify
用于验证卡令牌/card/payment
用于使用卡令牌支付/card/delete
用于删除卡令牌