700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python如何接入支付宝沙箱环境

python如何接入支付宝沙箱环境

时间:2019-05-28 23:26:08

相关推荐

python如何接入支付宝沙箱环境

最近的项目需要对接支付宝,因为之前没有接触过支付宝支付的功能,折腾了好久才把问题测地解决了,现在把详细的过程贴出来让广大同学少走弯路。

目前,支付宝有两种状态,一种是用于支付的正式环境,也就是平时我们在网上购物后用户支付的环境,另外一种是用于开发的沙箱环境,所以一开始因为要测试,顾接入的是沙箱环境。具体的过程如下文字:

1、打开CMD环境(windows或linux是一样的),在命令行提示符后输入openssl命令,进入ssl环境。

2、在openssl命令行下输入命令:genrsa -out app_private_key.pem 2048,得到私钥。

3、再执行命令:rsa -in app_private_key.pem -pubout -out app_public_key.pem,得到公钥并导出公钥。

4、生成的公私钥在计算机本地,地址在C:\Users\Administrator(我的系统是windows,Linux系统可能不太一样).

5、将生成的私钥导入到项目中去。

6、再把生成的公钥复制到支付宝沙箱环境中的‘自定义秘钥’中的‘秘钥模式’下的‘应用公钥’内,并将其下的’支付宝公钥’复制出来,粘贴到本地,并在收尾加上(-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----),并将此文件保存为txt文件,文件名自取即可。

7、之后就是传参的问题了。因为蚂蚁金服没有提供对应的python SDK和API,顾需要从GitHub上找对应的支付宝的SDK(网址:/fzlee/alipay/blob/master/README.zh-hans.md)

8、该文档分为三块内容:一是准备,是要在python中安装(python-alipay-sdk),所以执行命令:pip install python-alipay-sdk --upgrade

9、第二模块是初始化,是用于传递支付宝沙箱环境的APP ID 和保存在本地的公私钥。代码如下:

from alipay import AliPay, DCAliPay, ISVAliPayfrom alipay.utils import AliPayConfigapp_private_key_string = open("/path/to/your/private/key.pem").read()#读取保存在本地的私钥alipay_public_key_string = open("/path/to/alipay/public/key.pem").read()#读取本地的公钥app_private_key_string == """-----BEGIN RSA PRIVATE KEY-----base64 encoded content-----END RSA PRIVATE KEY-----"""alipay_public_key_string == """-----BEGIN PUBLIC KEY-----base64 encoded content-----END PUBLIC KEY-----"""alipay = AliPay(appid="",#这里需要你的支付宝沙箱的APP IDapp_notify_url=None, # 默认回调 urlapp_private_key_string=app_private_key_string,# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,alipay_public_key_string=alipay_public_key_string,sign_type="RSA", # RSA 或者 RSA2debug=False, # 默认 Falseverbose=False, # 输出调试数据config=AliPayConfig(timeout=15) # 可选,请求超时时间)dc_alipay = DCAliPay(appid="appid",app_notify_url="/app_notify_url",app_private_key_string=app_private_key_string,app_public_key_cert_string=app_public_key_cert_string,alipay_public_key_cert_string=alipay_public_key_cert_string,alipay_root_cert_string=alipay_root_cert_string)

10、文档的第三模块是接口。提供了很多的功能,比如电脑网页的支付功能,手机APP支付功能。可以根据自己的实际需求来选择对应的代码即可,如截图:

我的项目是电脑网页的支付功能。顾我选择的是第一项。将电脑网站支付的代码复制下来粘贴到项目中即可。

# 如果你是 Python2 用户(考虑考虑升级到 Python3 吧),请确保非 ascii 的字符串为 utf8 编码:subject = u"测试订单".encode("utf8")# 如果你是 Python3 的用户,使用默认的字符串即可subject = "测试订单"# 电脑网站支付,需要跳转到:/gateway.do? + order_stringorder_string = alipay.api_alipay_trade_page_pay(out_trade_no="1112",#这里是订单编号total_amount=0.01,#这里是具体的金额subject=subject,#这里是标题return_url="",notify_url="/notify" # 可选,不填则使用默认 notify url)

到此整个后端配置完成了,后面的其实就是要传递订单编号、金额和标题整个三个参数即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。