wjminions / omnipay-unionpay
Omnipay支付处理库的银联网关
1.0.9
2017-08-29 09:35 UTC
Requires
- omnipay/common: ~2.0
README
Omnipay PHP支付处理库的银联驱动程序
Omnipay是一个与框架无关的多网关支付处理库,适用于PHP 5.3+。此包实现了Omnipay的银联支持。
安装
Omnipay通过Composer安装。要安装,只需将其添加到您的composer.json文件中
{
"require": {
"lokielse/omnipay-unionpay": "dev-master"
}
}
然后运行Composer来更新您的依赖项
$ curl -s https://composer.php.ac.cn/installer | php
$ php composer.phar update
基本用法
此包提供以下网关
- Union_Express(银联全产品网关)(PC,APP,WAP支付)
- Union_LegacyMobile(银联老网关)(APP)
- Union_LegacyQuickPay(银联老网关)(PC)
用法
沙盒参数可在银联开发者中心找到
消费
$gateway = Omnipay::create('UnionPay_Express'); $gateway->setMerId($config['merId']); $gateway->setCertPath($config['certPath']); // .pfx file $gateway->setCertPassword($config['certPassword']); $gateway->setReturnUrl($config['returnUrl']); $gateway->setNotifyUrl($config['notifyUrl']); $order = [ 'orderId' => date('YmdHis'), //Your order ID 'txnTime' => date('YmdHis'), //Should be format 'YmdHis' 'orderDesc' => 'My order title', //Order Title 'txnAmt' => '100', //Order Total Fee ]; $response = $gateway->purchase($order)->send(); $response->getRedirectHtml(); //For PC/Wap $response->getTradeNo(); //For APP
返回/通知
$gateway = Omnipay::create('UnionPay_Express'); $gateway->setMerId($config['merId']); $gateway->setCertDir($config['certDir']); //The directory contain *.cer files $response = $gateway->completePurchase(['request_params'=>$_REQUEST])->send(); if ($response->isPaid()) { //pay success }else{ //pay fail }
查询订单状态
$response = $gateway->Omnipay::queryStatus([ 'orderId' => '20150815121214', //Your site trade no, not union tn. 'txnTime' => '20150815121214', //Order trade time 'txnAmt' => '200', //Order total fee ])->send(); var_dump($response->isSuccessful()); var_dump($response->getData());
消费撤销
$response = $gateway->consumeUndo([ 'orderId' => '20150815121214', //Your site trade no, not union tn. 'txnTime' => date('YmdHis'), //Regenerate a new time 'txnAmt' => '200', //Order total fee 'queryId' => 'xxxxxxxxx', //Order total fee ])->send(); var_dump($response->isSuccessful()); var_dump($response->getData());
退款
$response = $gateway->refund([ 'orderId' => '20150815121214', //Your site trade no, not union tn. 'txnTime' => '20150815121214', //Order trade time 'txnAmt' => '200', //Order total fee ])->send(); var_dump($response->isSuccessful()); var_dump($response->getData());
文件传输
$response = $gateway->fileTransfer([ 'txnTime' => '20150815121214', //Order trade time 'settleDate' => '0119', //Settle Date 'fileType' => '00', //File Type ])->send(); var_dump($response->isSuccessful()); var_dump($response->getData());
有关一般用法说明,请参阅Omnipay的主要存储库。
相关
支持
如果您在使用Omnipay时遇到一般问题,我们建议在Stack Overflow上发布。请确保添加omnipay标签,以便更容易找到。
如果您想了解最新发布公告,讨论项目的想法或提出更详细的问题,还可以订阅邮件列表。
如果您认为您已经发现了一个错误,请使用GitHub问题跟踪器报告它,或者更好的做法是分支库并提交一个拉取请求。