支付宝支付介绍
立即购买功能,点击立即购买按钮,使用支付宝支付
# 支付宝支付
-测试环境:大家都可以测试
-https://openhome.alipay.com/develop/sandbox/app
-正式环境:申请,需要有营业执照
# 咱们开发虽然用的沙箱环境,后期上线,公司会自己注册,注册成功后有个商户id号,作为开发,只要有商户id好,其他步骤都是一样,所有无论开发还是测试,代码都一样,只是商户号不一样
如何使用支付宝支付:
-API接口
-SDK:优先使用,早期,支付宝没有python的sdk,后期有了
-使用了第三方sdk
-第三方通过api接口,使用python封装了sdk,开源出来了
沙箱环境
-安卓的支付宝app,付款用的---》买家用的
-扫码使用这个app,付款,这个app的钱都是假的,付款进测试商户(卖家)
支付测试,生成支付链接
第三方地址:https://github.com/fzlee/alipay
安装:
pip install python-alipay-sdk
# 生成公钥私钥---》非对称加密
-使用支付宝提供的工具:https://opendocs.alipay.com/common/02kipl
-就可以生成公钥私钥
-生成的公钥---》配置在支付宝的网站上(沙箱环境)---》生成一个支付宝公钥---》以后使用这个支付宝公钥
# 支付宝公钥,应用私钥---》放到项目中
-pub.pem 公钥
-----BEGIN PUBLIC KEY-----
拿应用公钥跟支付宝换来的支付宝公钥
-----END PUBLIC KEY-----
-pri.pen 私钥
-----BEGIN RSA PRIVATE KEY-----
通过支付宝公钥私钥签发软件签发的应用私钥
-----END RSA PRIVATE KEY-----
支付宝二次封装
libs
├── iPay # aliapy二次封装包
│ ├── __init__.py # 包文件
│ ├── pem # 公钥私钥文件夹
│ │ ├── alipay_public_key.pem # 支付宝公钥文件
│ │ ├── app_private_key.pem # 应用私钥文件
│ ├── pay.py # 支付文件
└── └── settings.py # 应用配置
init.py
from alipay import AliPay
from alipay.utils import AliPayConfig
from . import settings
alipay = AliPay(
appid=settings.APP_ID,
app_notify_url=None, # 默认回调 url
app_private_key_string=settings.APP_PRIVATE_KEY_STRING,
# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
alipay_public_key_string=settings.ALIPAY_PUBLIC_KEY_STRING,
sign_type=settings.SIGN, # RSA 或者 RSA2
debug=settings.DEBUG, # 默认 False
verbose=settings.DEBUG, # 输出调试数据
config=AliPayConfig(timeout=15) # 可选,请求超时时间
)
settings.py
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()
# 应用ID
APP_ID = '2016092000554611'
# 加密方式
SIGN = 'RSA2'
# 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
DEBUG = True
# 支付网关
GATEWAY = 'https://openapi.alipaydev.com/gateway.do?' if DEBUG else 'https://openapi.alipay.com/gateway.do?'