支付宝支付

支付宝支付介绍

立即购买功能,点击立即购买按钮,使用支付宝支付

# 支付宝支付
	-测试环境:大家都可以测试
   		-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?'
posted @ 2023-03-13 21:21  雪语  阅读(16)  评论(0编辑  收藏  举报