序幕
在当今科技发达的时代,纸币已将慢慢的从人们的口袋消失。随着带来的是更方便的电子货币(手机虚拟货币)。支付宝,是我国比较强大的第三方支付平台,也被广大人群所喜爱。在当今的基本所有网上购物平台都支持支付宝支付,所以我们用支付宝沙箱环境来模拟实现三方支付
什么是沙箱环境
蚂蚁沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境。沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考下文的 沙箱支持产品 列表)。 在开发者应用上线审核前,开发者可以根据自身需求,先在沙箱环境中了解、组合和调试各种开放接口,进行开发调通工作,从而帮助开发者在应用上线审核完成后,能更快速、更顺利的进行线上调试和验收工作。 如何使用和配置沙箱环境请参考下文 如何使用沙箱环境。
注意
- 由于沙箱为模拟环境,在沙箱完成接口开发及主要功能调试后,请务必在蚂蚁正式环境进行完整的功能验收测试。所有返回码及业务逻辑以正式环境为准。
- 为保证沙箱稳定,沙箱环境测试数据会进行定期数据清理。Beta 测试阶段每周日中午12点至每周一中午12点为维护时间,在此时间内沙箱环境部分功能可能会不可用,敬请谅解。
- 请勿在沙箱进行压力测试,以免触发相应的限流措施,导致无法正常使用沙箱环境。
- 沙箱支持的各个开放产品,沙箱使用的特别说明请参考各产品的快速接入文档或技术接入文档章节。
如何使用沙箱环境
第一步配置沙箱应用环境
进入 开放平台 > 开发者中心 在开发服务选项中点击 研发服务 即可进入 沙箱环境。
进入沙箱环境页面,系统已经自动为你创建一个应用,在 信息配置 中可以看到应用信息。
- 沙箱环境密钥设置支持上传 RSA2(SHA256) 的应用公钥和公钥证书两种形式,详见 生成RSA密钥。配置 RSA2(SHA256) 的应用公钥后,不需要配置 RSA(SHA1) 密钥,签名算法区别参见 RSA 和RSA2 签名算法区别。配置 crs 公钥证书时 组织/公司 需填写为 沙箱环境;
- 编写代码时,请将:
- 请求网关修改为:
https://openapi.alipaydev.com/gateway.do
- appid 切换为沙箱的 appid
- 签名方式使用 RSA2
- 应用私钥(private_key)使用第 1 步生成的 RSA2 (SHA256) 的私钥(请根据开发语言进行选择原始或 pkcs8 格式)。
- 支付宝公钥(public_key)切换为第 1 步配置后应用公钥后,点击查看支付宝公钥看到的公钥。
选看部分作为进阶使用,非必填项;
- 应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;
- 授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时需进行配置:
- 第三方应用授权:授权 url 中的 redirect_uri 必须与此值相同。
- 获取用户信息:授权 url 中的 redirect_uri 的域名必须与此值相同(例如:授权回调地址配置:https://auth.example.com/authCallBack 高亮部分需和授权url相同)。
- AES 密钥:目前不再使用。
第二步根据文档写代码
电脑网站支付流程
后端接口设计
请求方式: GET
请求参数: 路径参数
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
order | str | 是 | 订单编号 |
price | int | 是 | 订单价格 |
返回数据: JSON
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
alipay_url | str | 是 | 支付宝支付链接 |
后端实现(支付请求接口)
1 | from alipay import AliPay |
后端实现(获取回调网站数据)
1 | class Get_Alipy(APIView): |
总结
支付宝沙箱环境是一个好东西,不需要商家认证那些,开发者可以直接整代码并且效果和实际上线效果是一样的。是一些技术研究者的福音。
更多详情请查看:
- 文档主页:https://openhome.alipay.com/developmentDocument.htm
- 产品介绍:https://docs.open.alipay.com/270
- 快速接入:https://docs.open.alipay.com/270/105899/
- SDK:https://docs.open.alipay.com/270/106291/
- python对接支付宝SDK:https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
- python对接支付宝SDK安装:
pip install python-alipay-sdk --upgrade
- API列表:https://docs.open.alipay.com/270/105900/