线上支付有:
支付流程:
1.用户把钱打到第三方平台(支付宝,微信)的商家账户中
2.商家提现提出来(第三方平台收手续费)
注意:必须是商户(企业),有营业执照才能申请支付宝,微信的支付接入
第一步:找到支付宝沙箱
第二步:画框处后续需要用到
第三步:创建公钥私钥
安装支付宝开放平台开发助手:点击进入支付宝文档下载
生成公钥私钥
第四步:将生成的公钥配置到支付宝沙箱中
示例:
直接使用python-alipay-sdk调用支付宝
首先安装
pip install python-alipay-sdk
from alipay import AliPay
app_private_key_string = open("./pri").read() #在pri文件下加入私钥
alipay_public_key_string = open("./pub").read() #在pub文件下加入支付宝公钥
alipay = AliPay(
appid="xxxxxxxxxxxx", # 此处填写支付宝公开平台的appid
app_notify_url=None, # 默认回调 url
app_private_key_string=app_private_key_string,
# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
alipay_public_key_string=alipay_public_key_string,
sign_type="RSA2", # RSA 或者 RSA2
debug=True, # 默认 False
)
# 电脑网站支付,需要跳转到:https://openapi.alipay.com/gateway.do? + order_string
res=alipay.api_alipay_trade_page_pay(
out_trade_no='asdsad623232332', # 订单号,自设
total_amount=float(999), # 只有生成支付宝链接时,不能用Decimal
subject='充气球', # 订单内容,自设
return_url='http://127.0.0.1:8000', # 回调地址
notify_url='http://127.0.0.1:8000',
)
gataway = 'https://openapi.alipaydev.com/gateway.do?' # 支付宝网关地址
print(gataway+res) # 此处是生成的支付链接
创建一个包
ipay #包名
-pem #存放公钥私钥
alipay_public_key.pem
app_private_key.pem
__init__.py
pay.py #生成一个对象
settings.py #配置文件
公钥私钥必须按照格式来存放
pem文件下的app_private_key.pem存放私钥
-----BEGIN RSA PRIVATE KEY-----
此处为私钥内容
-----END RSA PRIVATE KEY-----
pem文件下的alipay_public_key.pem存放支付宝公钥
-----BEGIN PUBLIC KEY-----
此处为公钥内容
-----END PUBLIC KEY-----
init.py
from .pay import alipay
from .settings import GATEWAY
pay.py
from alipay import AliPay
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
)
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 = 'xxxxxxxx'
# 加密方式
SIGN = 'RSA2'
# 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
DEBUG = True
# 支付网关
GATEWAY = 'https://openapi.alipaydev.com/gateway.do?' if DEBUG else 'https://openapi.alipay.com/gateway.do?'