zhangv/wechat-pay
Composer 安装命令:
composer require zhangv/wechat-pay
包简介
The simplest wechat pay
关键字:
README 文档
README
simplest, minimal dependency
Feature
- 使用简单
- 支持php-7x
- 不依赖第三方库(但依赖json、simpleXML、openssl、curl扩展)
- 100%测试覆盖
- 支持所有付款方式(公众号、APP、小程序、H5、扫码、刷卡)
- 支持企业付款、红包、代金券
Install
composer require zhangv/wechat-pay
Demo
- 配置参数
$cfg = [ 'mch_id' => 'XXXX', //商户号 'app_id' => 'XXXXXXXXXXXXXXXXXXX', //APPID 'app_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXX', //App Secret 'api_key' =>'XXXXXXXXXXXXXXXXXXXXXXX', //支付密钥 'ssl_cert_path' => __DIR__ . '/../cert/apiclient_cert.pem', //SSL证书(通过商户后台下载) 'ssl_key_path' => __DIR__ .'/../cert/apiclient_key.pem', //SSL密钥(通过商户后台下载) 'sign_type' => 'MD5', 'notify_url' => 'http://XXX.XXX/paidnotify.php', //支付结果通知地址 'refund_notify_url' => 'http://XXX.XXX/refundednotify.php', //退款结果通知地址 'h5_scene_info' => [//H5支付时需要 'h5_info' => ['type' => 'Wap', 'wap_url' => 'http://wapurl', 'wap_name' => 'wapname'] ], 'rsa_pubkey_path' => __DIR__ .'/../cert/pubkey.pem', 'jsapi_ticket' => __DIR__ .'/jsapi_ticket.json' //jsticket的临时存放路径 ];
- 获取公众号支付参数(公众号网页支付)
$wp = WechatPay::Jsapi($cfg); $prepayId = $wp->getPrepayId($body, $orderNo, $amt, $openid); $package = $wp->getPackage($prepayId);
- 获取小程序支付参数(小程序支付)
$wp = WechatPay::Weapp($cfg); $prepayId = $wp->getPrepayId($body, $orderNo, $amt, $openid); $package = $wp->getPackage($prepayId);
- 获取APP的支付参数(APP支付)
$wp = WechatPay::App($cfg); $prepayId = $wp->getPrepayId($body, $orderNo, $amt, $openid); $package = $wp->getPackage($prepayId);
- 获取H5支付URL(H5支付)
$wp = WechatPay::Mweb($cfg); $url = $wp->getMwebUrl($body,$orderNo,$amt);
- 获取扫码支付URL(扫码支付)
$wp = WechatPay::Native($cfg); $url = $wp->getCodeUrl($body,$out_trade_no,$total_fee,$product_id);
- 提交支付授权码(刷卡支付)
$wp = WechatPay::Micro($cfg); $url = $wp->microPay($body,$out_trade_no,$total_fee,$spbill_create_ip,$auth_code);
- 支付结果后台通知处理
$notifyxml = file_get_contents("php://input"); $wp = new WechatPay($cfg); $msg = $wp->onPaidNotify($notifyxml, function($notifyArray){ //处理逻辑 return 'ok'; }); $xml = "<xml> <return_code>SUCCESS</return_code> <return_msg><![CDATA[$msg]]></return_msg> </xml>"; echo $xml;
- 退款
$wxpay = new WechatPay($cfg); $result = $wxpay->refundByOutTradeNo($out_trade_no,$out_refund_no,$total_fee,$refund_fee);
- 企业付款
$wp = WechatPay::Mchpay($cfg); //付款到零钱 $result = $wp->transferWallet($partner_trade_no,$openid,$amount,$desc); //付款到银行卡 $result = $wp->transferBankCard($partner_trade_no,$bank_no,$true_name,$bank_code,$amount,$desc);
- 红包
$wp = WechatPay::Redpack($cfg); //发放普通红包 $result = $wp->sendRedPack($mch_billno,$send_name,$re_openid,$total_amount,$total_num,$wishing,$act_name,$remark); //发放裂变红包 $result = $wp->sendGroupRedPack($mch_billno,$send_name,$re_openid,$total_amount,$total_num,$wishing,$act_name,$remark);
- 代金券
$wp = WechatPay::Coupon($cfg); //发放代金券 $result = $wp->sendCoupon($coupon_stock_id,$open_id,$partner_trade_no); //查询代金券批次 $result = $wp->queryCouponStock($coupon_stock_id);
zhangv/wechat-pay 适用场景与选型建议
zhangv/wechat-pay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 987 次下载、GitHub Stars 达 56, 最近一次更新时间为 2017 年 05 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wechat」 「weixin」 「wechatpay」 「微信支付」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 zhangv/wechat-pay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zhangv/wechat-pay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 zhangv/wechat-pay 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
WeChat OAuth SDK
微信SDK
钉钉、企业微信、飞书 自定义群组机器人。支持链式语法创建发送消息。支持文本、Markdown、图片、文件、图文、卡片等消息。
The wechat extension for the Yii framework
A Laravel package to easily integrate Xendit payment gateway. It supports credit and debit cards, and e-wallet payments and custom invoices, queued notifications, webhook listeners and more.
微信支付在laravle5中的封装
统计信息
- 总下载量: 987
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 56
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-05-08