Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/panweifeng/openunipay
统一支付接口。整合微信,支付宝 等等
https://github.com/panweifeng/openunipay
Last synced: 3 months ago
JSON representation
统一支付接口。整合微信,支付宝 等等
- Host: GitHub
- URL: https://github.com/panweifeng/openunipay
- Owner: panweifeng
- License: mit
- Created: 2016-01-28T05:47:32.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-24T05:52:55.000Z (over 7 years ago)
- Last Synced: 2024-07-23T09:37:34.352Z (4 months ago)
- Language: Python
- Size: 75.2 KB
- Stars: 58
- Watchers: 9
- Forks: 23
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
openunipay 统一支付接口 - 集成了微信、支付宝支付
=======================为微信支付,支付宝支付提供统一接口。做到一次集成即可使用多种支付渠道
此为服务端,随后会提供Android, IOS, JS client SDK.
目前此服务端只能集成在您自己的项目中使用。1.0版本时,会支持作为一个service发布.[此为开发版本,生产环境使用请仔细审查代码!!!]
欢迎各位有兴趣的同学,参与维护这个开源项目!有意请联系[email protected].
=======================
欢迎赞助!支付宝: [email protected]
=======================更新:
=======================
V0.2.2 2017-07-22 扫码支付使用短连接. 重构了微信支付部分
V0.2.1 2017-07-21 增加扫码支付的支持,目前仅支持模式1----
RoadMap:
=======================
1. 增加微信扫码模式2的支持
2,增加支付宝扫码支付的支持
3,支持支付宝新接口安装方法:
=======================
pip install openunipay----
服务端部署:
=======================
(需要基于django 项目部署。随后会提供开箱即用的Docker Image)
此module 需要集成在django 项目中。----
1, 在settings.py 里 将openunipay 添加到 install app中
INSTALLED_APPS = (
......
'openunipay',
)----
2, 发布 支付宝 和 微信支付支付 异步支付结果通知URL。支付成功后,支付宝和微信支付 在支付成功后会通过此URL通知支付结果
openunipay 已经提供了用于处理支付结果的django view. 你只需配置django URL 将openunipay的view 发布即可。
openuipay 提供了以下三个个view
openuipay.api.views_alipay.process_notify
openuipay.api.views_weixin.process_notify
openuipay.api.views_weixin.process_qr_notify在你的url.py里
*********************************************************
from openunipay.api import views_alipay, views_weixinurlpatterns = [
url(r'^notify/weixin/$', views_weixin.process_notify), //用户使用微信付款后,微信服务器会调用这个接口。详细流程参看微信支付文档
url(r'^qrnotify/weixin/$', views_weixin.process_qr_notify), //微信扫码支付, 用户扫描二维码后,微信服务器会调用这个接口。详细流程请参考微信扫码支付文档
url(r'^notify/alipay/$', views_alipay.process_notify), //支付宝支付后,支付宝服务器会调用这个接口。详细流程参看支付宝文档
]
***********************************************************----
3,在settings.py里添加以下配置项#####支付宝支付配置
ALIPAY = {
'partner':'XXX', //支付宝partner ID
'seller_id':'XXX', //收款方支付宝账号如 [email protected]
'notify_url':'https://XXX/notify/alipay/', //支付宝异步通知接收URL
'ali_public_key_pem':'PATH to PEM File', //支付宝公钥的PEM文件路径,在支付宝合作伙伴密钥管理中查看(需要使用合作伙伴支付宝公钥)。如何查看,请参看支付宝文档
'rsa_private_key_pem':'PATH to PEM File',//您自己的支付宝账户的私钥的PEM文件路径。如何设置,请参看支付宝文档
'rsa_public_key_pem':'PATH to PEM File',//您自己的支付宝账户的公钥的PEM文件路径。如何设置,请参看支付宝文档
}
#####微信支付配置
WEIXIN = {
'app_id':'XXX', //微信APPID
'app_seckey':'XXX', //微信APP Sec Key
'mch_id':'XXX', //微信商户ID
'mch_seckey':'XXX',//微信商户seckey
'mch_notify_url':'https://XXX/notify/weixin/', //微信支付异步通知接收URL
'clientIp':'',//扫码支付时,会使用这个IP地址发送给微信API, 请设置为您服务器的IP
}
----
4, 同步数据库python manage.py migrate --run-syncdb
----
如何使用:
=======================
1,创建订单
from openunipay.paygateway import unipay
from openunipay.models import PAY_WAY_WEIXIN,PAY_WAY_ALI //PAY_WAY_WEIXIN:微信支付 PAY_WAY_ALI:支付宝支付create_order.create_order(orderno, payway, clientIp, product_desc, product_detail, fee, user=None, attach=None, expire=1440, **kwargs):
此方法会返回支付信息。在APP中发起支付时 需要使用此支付信息。所有数据已经按照微信和支付宝接口要求做了处理。APP无需再次处理。2, 查寻订单
query_order(orderno)
APP支付成功后,需要调用此接口确认支付。发货流程需要在此方法里处理。3. 生成扫码支付二维码(目前仅支持微信扫码支付模式1)
generate_qr_pay_url(payway, productid)
已经在Admin 里增加了Production Model Admin. 只需要增加商品即可生成支付URL. 然后用URL生成二维码。 你也可以用此方法的链接在服务端生成二维码图片.----