# 使用第三方sdk
-基于官方的api封装的
-pip install python-alipay-sdk --upgrade
1 目录结构
-send_ali_pay ---------包
-__init__.py
-pem -----------文件夹 存放公钥私钥
-alipay_public_key.pem --------存放公钥
-alipay_private_key.pem --------存放私钥
-pey.py ---------主要逻辑
-setting.py ---------- 配置
2 内容
2.1 __init__.py
from .pay import gateway, alipay
2.2 alipay_public_key.pem --------存放公钥 ,中间放的是支付宝公钥
要使用支付宝:需要营业执照注册,咱们没有,咱们使用沙箱环境测试, 测试通过,后期只要换成公司的商户号和支付宝公钥私钥即可
参考这个连接:沙盒环境
# 需要生成公钥私钥:非对称加密---》公钥加密,私钥解密
https://opendocs.alipay.com/common/02kipl# 生成公钥和私钥
# 把你的公钥,配置在支付宝账号里,生成支付宝公钥----》写支付,需要用支付宝公钥和私钥
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyP5K2a4prh35pNFsMYE+SHhPawYwFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/x0skHZNK/4sVOXA9GMbnHE7vvjW8H8VDt0dN5ZPoo7v/ETOo73npSktrDgwTVEoVz3QIDAQAB
-----END PUBLIC KEY-----
2.3 alipay_private_key.pem --------存放私钥
-----BEGIN PUBLIC KEY-----
MIIEvgIBADANBgkqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlKW7UPhnC7eoQBF/v5CxHoL34B7l89m+vK/wspoFf6aLY6KmoLkiR+aoDwM5YCeBaIQGjC86xcO9kt5hsMQ9kITAKbfalBfx/Gd2THEPZj1xxxxxxxxxxxxxxxxxxxxxxxxxxxCpWorE6XDflu6S2PTZ2yabnjWx7H4elTyVeRZRs0DS9NN692yUuK+qDYeUwLgUQMvhWfcKmshxxxxxxxxxxxxxxxxxxxxxxxxxxxBhp8BcjRdLTHKKGvFgAH8Fh1PVBTJW7asw5inB8uaKefZE/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZsdMtQaK/8/gUN8xHTTwtZ8wBR+2NlLELoTPXlYhI16BEaEz9sp
-----END PUBLIC KEY-----
2.4 -pey.py ---------主要逻辑
from alipay import AliPay, DCAliPay, ISVAliPay
from alipay.utils import AliPayConfig
from luffy_api.libs.send_ali_pay import setting
# 私钥和支付宝公钥 需要去支付宝官网申请
# 只能使用测试环境:沙箱环境
app_private_key_string = setting.APP_PRIVATE_KEY_STRING
alipay_public_key_string = setting.ALIPAY_PUBLIC_KEY_STRING # 公钥
alipay = AliPay(
appid=setting.APP_ID, # 支付宝页面上复制,沙箱环境---》公司有人会给你
# appid="90xxxxx97941", # 支付宝页面上复制,沙箱环境---》公司有人会给你
app_notify_url=None, # 默认回调 url
app_private_key_string=app_private_key_string,
# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
alipay_public_key_string=alipay_public_key_string,
sign_type=setting.SIGN, # RSA 或者 RSA2
debug=setting.DEBUG, # 默认 False
verbose=False, # 输出调试数据
config=AliPayConfig(timeout=15) # 可选,请求超时时间
)
gateway = setting.GATEWAY #支付宝网关
2.5 -setting.py ---------- 配置
from alipay import AliPay, DCAliPay, ISVAliPay
from alipay.utils import AliPayConfig
import os
# 应用私钥
APP_PRIVATE_KEY_STRING = open(
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'app_private_key.pem')).read()
# 支付宝公钥
ALIPAY_PUBLIC_KEY_STRING = open(
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'alipay_public_key.pem')).read()
# 加密方式
SIGN = 'RSA2'
# 私钥和支付宝公钥 需要去支付宝官网申请
# 只能使用测试环境:沙箱环境
APP_ID = "90xxxxxx7941" # 支付宝页面上复制,沙箱环境
# 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
DEBUG = True
# 支付网关
GATEWAY = 'https://openapi-sandbox.dl.alipaydev.com/gateway.do?' if DEBUG else 'https://openapi.alipay.com/gateway.do?'