原理解释:对于你创建的第三方支付的SKD(不限制于支付宝,微信之类的),一定会有一个回调参数地址给你填入,填入后,在用户支付后会使用第三方支付的服务器请求你创建支付对象时填写的回调路由地址(就是你接收回调的接口),以下代码是某平台的回调函数示例,但是每个平台都是不一样的,PS:一定要在线上部署后才能测试回调,注释可以使用日志打印来调试
class CheckCurrentAlipay(APIView): authentication_classes = [] # 不验证token # 查询订单支付情况 def post(self, request): try: message = {} # 验签请参data data = request.data.get("data") # 验签请参sign sign = request.data.get("sign") # 验签 result = adapay.AdapayTools.verify_sign(data, sign) data = json.loads(data) if result: # 验签成功逻辑 if data.get("status") == "succeeded":
"""
这里填写成功之后你要做的数据库操作或者逻辑操作
"""
message['code'] = 200 message['message'] = "支付成功" logging_main.pay_error.error("支付成功") return JsonResponse(message) else: # 验签失败逻辑 message['code'] = 400 message['message'] = "支付失败" return JsonResponse(message) except: message = {} msg = traceback.format_exc() logging_main.pay_error.error(msg) message['code'] = 10014 message['message'] = "请求失败" return JsonResponse(message)