shadon / omnipay-wechatpay
3.0.13
2019-12-12 13:02 UTC
Requires
Requires (Dev)
- omnipay/tests: ^3.0
- squizlabs/php_codesniffer: 3.*
- dev-master
- 3.0.13
- 3.0.12
- 3.0.11
- v3.0.10
- v3.0.9
- v3.0.8
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0-beta.1
- v3.0-alpha.1
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-develop
- dev-release/v3.0.9
This package is auto-updated.
Last update: 2024-09-13 00:25:15 UTC
README
Omnipay PHP支付处理库的微信支付驱动程序
Omnipay 是一个不依赖于框架、多网关的PHP 5.3+支付处理库。本包实现了Omnipay对微信支付的支持。
安装
Omnipay通过 Composer 安装。要安装
composer require lokielse/omnipay-wechatpay
基本用法
本包提供了以下网关
- WechatPay (Wechat Common Gateway) 微信支付通用网关
- WechatPay_App (Wechat App Gateway) 微信APP支付网关
- WechatPay_Native (Wechat Native Gateway) 微信原生扫码支付网关
- WechatPay_Js (Wechat Js API/MP Gateway) 微信网页、公众号、小程序支付网关
- WechatPay_Pos (Wechat Micro/POS Gateway) 微信刷卡支付网关
- WechatPay_Mweb (Wechat H5 Gateway) 微信H5支付网关
用法
创建订单 文档
//gateways: WechatPay_App, WechatPay_Native, WechatPay_Js, WechatPay_Pos, WechatPay_Mweb
$gateway = Omnipay::create('WechatPay_App');
$gateway->setAppId($config['app_id']);
$gateway->setMchId($config['mch_id']);
$gateway->setApiKey($config['api_key']);
$order = [
'body' => 'The test order',
'out_trade_no' => date('YmdHis').mt_rand(1000, 9999),
'total_fee' => 1, //=0.01
'spbill_create_ip' => 'ip_address',
'fee_type' => 'CNY'
];
/**
* @var Omnipay\WechatPay\Message\CreateOrderRequest $request
* @var Omnipay\WechatPay\Message\CreateOrderResponse $response
*/
$request = $gateway->purchase($order);
$response = $request->send();
//available methods
$response->isSuccessful();
$response->getData(); //For debug
$response->getAppOrderData(); //For WechatPay_App
$response->getJsOrderData(); //For WechatPay_Js
$response->getCodeUrl(); //For Native Trade Type
通知 文档
$gateway = Omnipay::create('WechatPay');
$gateway->setAppId($config['app_id']);
$gateway->setMchId($config['mch_id']);
$gateway->setApiKey($config['api_key']);
$response = $gateway->completePurchase([
'request_params' => file_get_contents('php://input')
])->send();
if ($response->isPaid()) {
//pay success
var_dump($response->getRequestData());
}else{
//pay fail
}
查询订单 文档
$response = $gateway->query([
'transaction_id' => '1217752501201407033233368018', //The wechat trade no
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
关闭订单 文档
$response = $gateway->close([
'out_trade_no' => '201602011315231245', //The merchant trade no
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
退款 文档
$gateway->setCertPath($certPath);
$gateway->setKeyPath($keyPath);
$response = $gateway->refund([
'transaction_id' => '1217752501201407033233368018', //The wechat trade no
'out_refund_no' => $outRefundNo,
'total_fee' => 1, //=0.01
'refund_fee' => 1, //=0.01
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
查询退款 文档
$response = $gateway->queryRefund([
'refund_id' => '1217752501201407033233368018', //Your site trade no, not union tn.
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
缩短URL (用于 WechatPay_Native) 文档
$response = $gateway->shortenUrl([
'long_url' => $longUrl
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
var_dump($response->getShortUrl());
查询OpenId (用于 WechatPay_Pos) 文档
$response = $gateway->queryOpenId([
'auth_code' => $authCode
])->send();
var_dump($response->isSuccessful());
var_dump($response->getData());
var_dump($response->getOpenId());
有关一般用法说明,请参阅主要的 Omnipay 仓库。
相关
支持
如果您遇到Omnipay的一般问题,我们建议在 Stack Overflow 上发布。请确保添加 omnipay 标签,以便易于查找。
如果您想了解发布公告、讨论项目想法或提出更详细的问题,还可以订阅 邮件列表。
如果您认为您已经发现了一个错误,请使用 GitHub问题跟踪器 报告它,或者更好的是,fork库并提交一个pull请求。


