[toc]
测试环境搭建
沙箱环境:
-------测试环境搭建
基础配置:
# 1、在沙箱环境下实名认证:https://openhome.alipay.com/platform/appDaily.htm?tab=info
# 2、电脑网站支付API:https://docs.open.alipay.com/270/105898/
# 3、完成RSA密钥生成:https://docs.open.alipay.com/291/105971
下载软件: 开发助手
# 4、在开发中心的沙箱应用下设置应用公钥:填入生成的公钥文件中的内容
用公钥 换取alipay对象的公钥
# 5、Python支付宝开源框架:https://github.com/fzlee/alipay
github 开发文档 (多种)
# >: pip install python-alipay-sdk --upgrade
6.公私钥配置:
# alipay_public_key.pem
-----BEGIN PUBLIC KEY-----
支付宝公钥
-----END PUBLIC KEY-----
# app_private_key.pem
-----BEGIN RSA PRIVATE KEY-----
用户私钥
-----END RSA PRIVATE KEY-----
"""
注意: 不能留空格!!!
7.支付宝链接:
开发:https://openapi.alipay.com/gateway.do
沙箱:https://openapi.alipaydev.com/gateway.do
支付流程:
支付模块的创建:
aliapy 二次封装:
https://github.com/fzlee/alipay 开源文档
下载:
>: pip install python-alipay-sdk --upgrade
>: pip install pyopenssl
节构:
libs
├── iPay # aliapy二次封装包
│ ├── __init__.py # 包文件
│ ├── pay.py# 支付文件
└── └── settings.py # 应用配置
settings.py
# 应用ID
APP_ID = "2016093000631831"
# 是否是沙箱环境
DEBUG = True
# 签名算法 RSA or RSA2
SIGN = 'RSA2'
# 网关
if DEBUG:
GATEWAY = 'https://openapi.alipaydev.com/gateway.do?'
else:
GATEWAY = 'https://openapi.alipay.com/gateway.do?'
# 应用私钥:首行尾行是固定的,中间是一行私钥字符串(不能有其他字符)
APP_PRIVATE_KEY_STRING = """-----BEGIN RSA PRIVATE KEY-----
MIIEd.......
-----END RSA PRIVATE KEY-----"""
# 阿里公钥:首行尾行是固定的,中间是一行公钥字符串(不能有其他字符)
ALIPAY_PUBLIC_KEY_STRING = """-----BEGIN PUBLIC KEY-----
MIIBIjAN......
-----END PUBLIC KEY-----"""
pay.py:
from alipay import AliPay
from .settings import *
alipay = AliPay(
appid=APP_ID,
app_notify_url=None, # 该通知接口一般都设置None
# 应用私钥
app_private_key_string=APP_PRIVATE_KEY_STRING,
# 阿里pay公钥
alipay_public_key_string=ALIPAY_PUBLIC_KEY_STRING,
# 签名算法,采用RSA2
sign_type=SIGN, # RSA or RSA2
# 是否是沙箱环境
debug=DEBUG
)
# __init__.py:
# 对外提供配置生成好的 alipay 支付对象
from .pay import alipay
# 对外提供alipay的支付网关
from .settings import GATEWAY as alipay_gateway
补充:
补充:在自己项目的配置文件中配置支付宝回调接口:settings.py | dev.py | const.py
# 上线后必须换成公网地址
# 后台http根路径
BASE_URL = 'http://127.0.0.1:8000'
# 前台http根路径
LUFFY_URL = 'http://127.0.0.1:8080'
# 订单支付成功的后台异步回调接口 (公网地址 --- 服务器)
NOTIFY_URL = BASE_URL + '/order/success'
# 订单支付成功的前台同步回调接口 (公网地址 --- 服务器)
RETURN_URL = LUFFY_URL + '/pay/success'