測試環境搭建
沙箱環境:
-------測試環境搭建
基礎配置:
# 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'