python 支付宝三方支付 以及 退款
既然已经做到了支付宝三方支付,那我们废话不多说切入正题
首先来到你的沙箱应用 沙箱应用接口
这里可以查看你的沙箱应用信息
首先需要确认你的应用公钥和支付宝密钥 可以选择开发信息下的系统默认密钥和自定义密钥
如果是系统默认可以点机查看按钮获取
需要自定义密钥时点击自定义密钥时点击自定义密钥 然后点击设置并启用(选择RSA2密钥)
然后点击公钥
这是侯可以看到填写公钥字符,需要去生密钥 接口:生成密钥接口
点击生成生成应用密钥和公钥 复制应用公钥去换取支付宝公钥
点击复制公钥 粘贴到沙箱应用填写公钥字符处
点击保存设置 可以出现应用公钥和对应的支付宝公钥
保存好支付宝公钥 这时候先恭喜你生成自定义密钥成功
这时候需要在你的项目根目录下建立keys文件夹和两个文件保存应用私钥和支付宝公钥
上面是支付宝公钥 下面是应用私钥
支付宝公钥基础格式:
-----BEGIN PUBLIC KEY-----
支付宝私钥
-----END PUBLIC KEY-----
应用私钥格式
-----BEGIN RSA PRIVATE KEY-----
应用私钥
-----END RSA PRIVATE KEY-----
然后使用相应的代码就可以运行了 我是用tornado + vue 实现 其他web框架也可以做参考
from datetime import datetime
from typing_extensions import Required
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256
from urllib.parse import quote_plus
from urllib.parse import urlparse, parse_qs
from base64 import decodebytes, encodebytes
import json
import requests
class AliPay:
"""
支付宝支付接口(PC端支付接口)
"""
def __init__(self, appid, app_notify_url, app_private_key_path,
alipay_public_key_path, return_url, debug=False):
self.appid = appid
self.app_notify_url = app_notify_url
self.app_private_key_path = app_private_key_path
self.app_private_key = None
self.return_url = return_url
with open(self.app_private_key_path) as fp:
self.app_private_key = RSA.importKey