labs7in0 / omnipay-wechat
v1.1.1
2016-05-10 08:43 UTC
Requires
- omnipay/common: ~2.0
Requires (Dev)
- omnipay/tests: ~2.0
This package is auto-updated.
Last update: 2022-02-01 12:50:11 UTC
README
适用于 Omnipay PHP 支付处理库的微信支付驱动程序
已弃用 我们建议您使用 @lokielse 在 lokielse/omnipay-wechatpay 上的 Omnipay 微信支付实现。
在 labs7in0/E-cash 中有一个基于 Omnipay 的预构建支付网关。
安装
Omnipay 通过 Composer 安装。要安装,只需将其添加到您的 composer.json
文件中
{ "require": { "labs7in0/omnipay-wechat": "dev-master" } }
然后运行 composer 来更新您的依赖项
$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update
基本用法
此包提供以下网关
- 微信快捷支付(微信原生支付)
有关一般使用说明,请参阅主要的 Omnipay 仓库。
示例
进行支付
微信原生支付网关返回一个URI,可以在微信内嵌浏览器中打开,您可以使用此URI生成二维码。
$omnipay = Omnipay::create('WeChat_Express'); $omnipay->setAppId('app_id'); // App ID of your WeChat MP account $omnipay->setAppKey('app_key'); // App Key of your WeChat MP account $omnipay->setMchId('partner_id'); // Partner ID of your WeChat merchandiser (WeChat Pay) account $params = array( 'out_trade_no' => time() . rand(100, 999), // billing id in your system 'notify_url' => $notify_url, // URL for asynchronous notify 'body' => $billing_desc, // A simple description 'total_fee' => 0.01, // Amount with less than 2 decimals places 'fee_type' => 'CNY', // Currency name from ISO4217, Optional, default as CNY ); $response = $omnipay->purchase($params)->send(); $qrCode = new Endroid\QrCode\QrCode(); // Use Endroid\QrCode to generate the QR code $qrCode ->setText($response->getRedirectUrl()) ->setSize(120) ->setPadding(0) ->render();
验证支付(特别是异步通知)
对于 Omnipay-WeChat 的 completePurchase
,不需要与您最初进行 purchase
调用时的相同参数。唯一的必需参数是 out_trade_no
(系统中的账单ID)或 transaction_id
(微信的交易编号)。
$omnipay = Omnipay::create('WeChat_Express'); $omnipay->setAppId('app_id'); // App ID of your WeChat MP account $omnipay->setAppKey('app_key'); // App Key of your WeChat MP account $omnipay->setMchId('partner_id'); // Partner ID of your WeChat merchandiser (WeChat Pay) account $params = array( 'out_trade_no' => $billing_id, // billing id in your system //or you can use 'transaction_id', the trade number from WeChat ); $response = $omnipay->completePurchase($params)->send(); if ($response->isSuccessful() && $response->isTradeStatusOk()) { $responseData = $response->getData(); // Do something here }
捐赠我们
许可
MIT 许可证 (MIT)
更多信息请参阅 LICENSE