All Projects → zhangv → wechat-pay

zhangv / wechat-pay

Licence: MIT license
Simplest WechatPay(最简单的微信支付)

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to wechat-pay

Pay
可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了
Stars: ✭ 4,176 (+8422.45%)
Mutual labels:  pay, weixin
Ijpay
IJPay 让支付触手可及,封装了微信支付、QQ支付、支付宝支付、京东支付、银联支付、PayPal 支付等常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。右上角点下小星星✨
Stars: ✭ 3,561 (+7167.35%)
Mutual labels:  pay, weixin
Wxpay
微信支付 wxpay SDK for Go, 集成简单,功能完善,持续更新。
Stars: ✭ 99 (+102.04%)
Mutual labels:  pay, weixin
Wechat kit
flutter版微信登录/分享/支付
Stars: ✭ 347 (+608.16%)
Mutual labels:  pay, weixin
Node Tenpay
微信支付 for nodejs
Stars: ✭ 947 (+1832.65%)
Mutual labels:  pay, weixin
Teepay
Typecho 个人支付宝、微信收款插件
Stars: ✭ 90 (+83.67%)
Mutual labels:  pay, weixin
anger-wechat
👿Angry wechat api 微信支付、小程序、各种接口的封装。
Stars: ✭ 17 (-65.31%)
Mutual labels:  weixin, wechatpay
wxpay-gitbook
微信支付文档: https://yclimb.gitbook.io/wxpay/
Stars: ✭ 45 (-8.16%)
Mutual labels:  weixin
WechatHttpApiWeb
Wechat Http Api Html
Stars: ✭ 36 (-26.53%)
Mutual labels:  weixin
sep-pay
Pay.ir Payment Package for Laravel 5.3+
Stars: ✭ 17 (-65.31%)
Mutual labels:  pay
YHThirdManager
一个快速、简单、易集成、扩展性好的社交化组件。摒弃友盟等三方库,使用原生SDK。支持微信支付、微信分享、微信登录、微信授权、QQ授权、QQ分享、QQ登录、新浪授权、新浪登录、新浪分享、微博评论、微博获取、支付宝支付。极大的减小了包体积;同时加入了自动管理提示框的功能
Stars: ✭ 41 (-16.33%)
Mutual labels:  weixin
react-native-wx-ali-pay
react-native pay for Ali && WeiXin
Stars: ✭ 15 (-69.39%)
Mutual labels:  pay
hms-iap-clientdemo-android-studio
This demo app provides all 3 types of product to demonstrate the procedure and capability of Huawei IAP.
Stars: ✭ 36 (-26.53%)
Mutual labels:  pay
ImageTrans
一个仿微信的图片查看过渡动画demo 支持拖动图片手势返回 ,缩略图与原图无缝切换
Stars: ✭ 42 (-14.29%)
Mutual labels:  weixin
WeChatClient
一个高仿微信网页版 https://wx.qq.com 的WPF应用程序,基本完成了网页微信的主要基础功能,例如聊天,联系人,搜索,表情等。
Stars: ✭ 68 (+38.78%)
Mutual labels:  weixin
wechat-webview-debug
模拟微信应用中打开网页时原生注入的 WeixinJSBridge 对象,方便在开发环境中调试
Stars: ✭ 19 (-61.22%)
Mutual labels:  weixin
sweet-lightning
⚡️ Pay for your candy with Bitcoin over Lightning
Stars: ✭ 18 (-63.27%)
Mutual labels:  pay
datepicker-plus
可选择公历,农历日期;可选择隐藏年份;组件化,引入文件可直接调用
Stars: ✭ 75 (+53.06%)
Mutual labels:  weixin
iran-payment
a Laravel package to handle Internet Payment Gateways for Iran Banking System
Stars: ✭ 16 (-67.35%)
Mutual labels:  pay
preact-weui
Weui for preact.
Stars: ✭ 44 (-10.2%)
Mutual labels:  weixin

WechatPay - 微信支付

Latest Stable Version License Build Status codecov Scrutinizer Code Quality Author

simplest, minimal dependency

Feature

  • 使用简单
  • 支持php-7x
  • 不依赖第三方库(但依赖json、simpleXML、openssl、curl扩展)
  • 100%测试覆盖
  • 支持所有付款方式(公众号、APP、小程序、H5、扫码、刷卡)
  • 支持企业付款、红包、代金券

Install

composer require zhangv/wechat-pay

or

add:

"zhangv/wechat-pay":"1.4.2"

in composer.json

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_key_path'      => __DIR__ .'/../cert/apiclient_key.pem',
    'sign_type'         => 'MD5',
    'notify_url'        => 'http://XXX.XXX/paidnotify.php',
    'refund_notify_url' => 'http://XXX.XXX/refundednotify.php',
    'h5_scene_info'     => [//required in 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);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].