获取应用公钥和私钥
使用Web在线加密 —>点击生成密钥
复制应用私钥 然后再 沙箱应用 中点击 -> 自定义密钥,选择公钥,修改就好了,它会自动生成支付宝公钥
将应用公钥复制下来,以这样的格式
public = """-----BEGIN PUBLIC KEY-----
应用公钥
-----END PUBLIC KEY-----
"""
然后将支付宝私钥复制下来,放到文件里以这样的格式
private = """-----BEGIN RSA PRIVATE KEY-----
支付宝私钥
-----END RSA PRIVATE KEY-----
"""
pip install python-alipay-sdk
from alipay import AliPay
public = """-----BEGIN PUBLIC KEY-----
应用公钥
-----END PUBLIC KEY-----
"""
private = """-----BEGIN RSA PRIVATE KEY-----
支付宝私钥
-----END RSA PRIVATE KEY-----
"""
class PaymenView(LoginLoginRequiredJSONMixin, View):
"""对接支付宝的支付接口"""
def get(self, request, order_id):
"""
:param order_id:当前要支付的订单ID
:return: JSON
"""
alipay = AliPay( # 传入公共参数(对接任何接口都要传递的)
appid=APPID, # 应用ID
app_notify_url=None, # 默认回调url,如果采用同步通知就不传
# 应用的私钥和支付宝公钥的路径
app_private_key_string=private,
alipay_public_key_string=public,
sign_type="RSA2", # 加密标准
debug=True # 指定是否是开发环境
)
# SDK对象对接支付宝支付的接口,得到登录页的地址
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no='20219261150100001', # 商品编号,每次提交的时候,不能相同
total_amount=str(order.total_amount), # 商品价钱
subject="美多商城%s" % order_id, # 名字
return_url='http://127.0.0.1:8000/payment/status/' # 回调地址
)
# 电脑网站支付(正式环境),需要跳转到https://openapi.alipay.com/gateway.do? + order_string
# 电脑网站支付(开发环境),需要跳转到https://openapi.alipaydev.com/gateway.do? + order_string
alipay_url = '支付宝网关' + '?' + order_string
return http.JsonResponse({'code': RETCODE.OK, 'errmsg': 'OK', 'alipay_url': alipay_url})
卸了,重下
这个需要C++,应该是在linux环境中使用的
public = """
-----BEGIN PUBLIC KEY-----
应用公钥
-----END PUBLIC KEY-----
"""
这样不行
public = """-----BEGIN PUBLIC KEY-----
应用公钥
-----END PUBLIC KEY-----
"""
换成这样,成功了