开源我公司微信支付 python 版本的全部代码,包含生成微信订单,以及最新的微信平台向用户发红包,向用户付款等功能

2016-12-21 13:31:07 +08:00
 Jolly23

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的必要参数

18433 次点击
所在节点    Python
93 条回复
soli
2016-12-21 13:51:50 +08:00
先赞一下!
ty89
2016-12-21 14:02:31 +08:00
滋瓷
v2 应该多一些这种帖子,少一些撕逼的
lincolnhuang
2016-12-21 14:07:05 +08:00
先赞后看!
shiny
2016-12-21 14:18:17 +08:00
你们公司同意你开源?
wyntergreg
2016-12-21 14:18:55 +08:00
手动点赞
Jolly23
2016-12-21 14:28:53 +08:00
@shiny CTO 说了算,也就是我说了算, that's enough
Jolly23
2016-12-21 14:32:23 +08:00
放出来的代码足够大家开发用,一些涉密的小东西没开源,但不影响此框架使用。截至昨天,我公司用这套代码 3 个月已经在微信成功过账 109 万元且未产生任何问题。
cxl008
2016-12-21 14:38:11 +08:00
赞一个
flamhaze5946
2016-12-21 14:40:21 +08:00
@Jolly23 你这泄露了财务信息吧 - -b
wsy2220
2016-12-21 14:42:08 +08:00
支持开源
dexterlei
2016-12-21 14:47:22 +08:00
先赞后看
mortal
2016-12-21 14:53:33 +08:00
你问我呲磁不呲磁,我当然是呲磁的!我们年轻人还是要 Star 学习一个。
Jolly23
2016-12-21 14:55:20 +08:00
@mortal 我 20 周岁,也是年轻人 哈哈
vugusurk
2016-12-21 14:57:31 +08:00
哇,才大三就 CTO 啦
mortal
2016-12-21 14:59:55 +08:00
@Jolly23 我遭不住这种 20 多岁就当上 CTO 的了 反观自己还在打杂…
Jolly23
2016-12-21 15:02:10 +08:00
@mortal 也许我这含金量不大呗 毕竟公司目前业务单一
xiuc001
2016-12-21 15:49:39 +08:00
你们公司同意你开源?
derpc
2016-12-21 15:51:31 +08:00
先赞后看,楼主加油
MrWhite
2016-12-21 15:53:40 +08:00
不错的哦。 很详细~
zhushajun
2016-12-21 15:55:23 +08:00
学习了,感谢分享哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/329136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX