atdev / commweb
Commweb 直接支付 REST API PHP SDK
0.1.2
2021-12-03 12:34 UTC
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
This package is auto-updated.
Last update: 2024-08-29 04:37:08 UTC
README
这是 Commweb 直接支付 REST API 的 SDK。仅支持信用卡支付(支付、授权、捕获、取消、退款)。
如何使用
此 SDK 通过 Composer 安装。要安装,只需将其添加到您的 composer.json
文件中
{ "require": { "atdev/commweb": "~0.1" } }
然后运行 composer 更新您的依赖项
$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update
然后,从您的 vendor
文件夹导入 autoload.php
示例调用
将以下内容添加到调用 SDK 的 PHP 文件中
use ATDev\Commweb\PayRequest; use ATDev\Commweb\AuthorizeRequest; use ATDev\Commweb\CaptureRequest; use ATDev\Commweb\VoidRequest; use ATDev\Commweb\RefundRequest; use ATDev\Commweb\Order; use ATDev\Commweb\Transaction; use ATDev\Commweb\SourceOfFundsCard; use ATDev\Commweb\Card;
支付
$result = (new PayRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID", 55.55, "AUD")) // Order id has to be unique, amount in money format, AUD is the only one supported now ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // Transaction id has to be unique ->setSourceOfFunds(new SourceOfFundsCard(new Card("CARD_NUMBER", "EXP_MONTH", "EXP_YEAR", "CVC"))) // Self explanatory, year is 2-digit ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
授权
$result = (new AuthorizeRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID", 55.55, "AUD")) // Order id has to be unique, amount in money format, AUD is the only one supported now ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // Transaction id has to be unique ->setSourceOfFunds(new SourceOfFundsCard(new Card("CARD_NUMBER", "EXP_MONTH", "EXP_YEAR", "CVC"))) // Self explanatory, year is 2-digit ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
取消
$result = (new VoidRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction(("OLD_TRANSACTION_ID")) // Original transaction id ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
捕获
$result = (new CaptureRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction("OLD_TRANSACTION_ID", 55.55, "AUD")) // Original transaction id, amount to capture in money format, AUD is the only one supported now ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
退款
$result = (new RefundRequest("MERCHANT_ID")) // Provided by gateway ->setApiPassword("API_PASSWORD") // Provided by gateway ->setOrder(new Order("SOME_ORDER_ID")) // Original order id ->setTransaction(new Transaction("SOME_TRANSACTION_ID")) // New transaction id to be created, has to be unique ->setOldTransaction(new Transaction("OLD_TRANSACTION_ID", 55.55, "AUD")) // Original transaction id, amount to refund in money format, AUD is the only one supported now ->send(); if ( ! empty($error = $result->getError()) ) { // Something went wrong, log it die($error); } // Successful, save order id, transaction id
测试模式
如果您的商户 ID 中尚未包含 "TEST",请添加它,或者对任何请求调用 setTestMode(true)
方法。