GitHub 代码地址 [https://github.com/Jolly23/wx_pay_python]
作者个人网站 [https://jolly23.com]
这套系统基本涵盖微信支付全部相关功能,以及自己总结的开发引导,如果可以请点 Star
微信支付功能
参考文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php
使用
首先引入包
from wx_pay import WxPay, WxPayError
构造微信支付类,传入配置文件
wx_pay = WxPay(
wx_app_id='WX_APP_ID',
wx_mch_id='WX_MCH_ID',
wx_mch_key='WX_MCH_KEY',
wx_notify_url='http://www.example.com/pay/weixin/notify'
)
创建订单
pay_data = wx_pay.js_api(
openid=u'***user_openid***', # 付款用户 openid
body=u'***商品名称 /付款显示名称***', # 例如:饭卡充值 100 元
total_fee=100 # total_fee 单位是 分, 100 = 1 元
)
给用户发红包
wx_pay.send_red_pack(
api_client_cert_path='/home/xxx/SERVER/ext_file/wx_2_pay_cert.pem',
api_client_key_path='/home/xxx/SERVER/ext_file/wx_2_pay_key.pem',
send_name=u'微信支付测试', # 红包名称
re_openid=u'***to_user_openid***', # 要接收红包的用户 openid
total_amount=100, # total_fee 单位是 分, 100 = 1 元, 最大 499 元
wishing=u'感谢参与测试', # 祝福语
client_ip=u'222.222.222.222', # 调用微信发红包接口服务器公网 IP 地址
act_name=u'微信支付测试系统', # 活动名称
remark=u'感谢参与' # 备注
)
查询订单
raw = wx_pay.close_order(out_trade_no)
关闭订单
raw = wx_pay.order_query(out_trade_no=out_trade_no)
工具函数
签名
wx_pay.sign(dict(openid="123"))
32 位随机字符串
wx_pay.nonce_str()
验证签名
wx_pay.check(dict(openid="123", sign="SIGN"))
生成微信前端 JS 参数
详见example.py的wx_js_config方法,用来生成前端使用微信js的必要参数