参考文档 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的必要参数
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.