一、登录蚂蚁金服网站
https://open.alipay.com/developmentAccess/developmentAccess.htm
二、配置沙箱应用环境
- 进入到沙盒环境
选择沙盒应用
沙箱应用: 支付宝给开发者提供的调试环境应用
-
沙盒应用界面
信息配置 -
生成RSA密钥支付宝提供一键生成工具便于开发者生成一对RSA密钥.
下载该工具后,解压打开文件夹,运行“RSA签名验签工具.bat”(WINDOWS)或“RSA签名验签工具.command”(MAC_OSX)
生成的私钥需妥善保管,避免遗失,不要泄露。应用私钥需填写到代码中供签名时使用。应用公钥需提供给支付宝账号管理者上传到支付宝开放平台。
-
上传自己的公钥
生成公钥后,将公钥填写到信息配置上传自己的公钥
上述中生成了
生成RSA密钥
操作中,对应的应用公钥2048.txt
即是公钥!
-
保存支付宝公钥
将生成的支付宝公钥,复制到一个txt文件中支付公钥 -
秘钥个数确定
这样我们就有了3个秘钥,看下图!秘钥文件 -
秘钥文件的修改
在秘钥txt文件里,秘钥内容的头部和结尾加上两行字符串,注意所有秘钥都要加。
-----BEGIN PRIVATE KEY-----
# 秘钥内容....
-----END PRIVATE KEY-----
后续方便操作,直接读取文件即可
三、支付宝集成到项目
- 基本流程
1. 接收商品名称信息、订单金额、订单号
2. 请求支付宝预付订单创建接口
3. 根据返回的URL返回给客户端
4. 用户支付
5. 用户支付完成之后,客户端会跳转到一个页面(服务器预置页面)
6. 用户支付完成之后,支付宝会调用回调(通知服务器)
- 安装
# 需要模块加密方面的模块
pip install pycryptodome
- 支付宝封装及初始化配置 alipay/init.py
# __init__.py文件(直接拷贝)
from datetime import datetime
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256
from base64 import b64encode, b64decode
from urllib.parse import quote_plus
from urllib.parse import urlparse, parse_qs
from urllib.request import urlopen
from base64 import decodebytes, encodebytes
import json
# 支付宝封装(不需要做任何修改)
class AliPay(object):
"""
支付宝支付接口
"""
def __init__(s