支付宝支付成功后,返回的get请求中单步调试并没有trade_status

来源:10-16 支付宝接口和vue联调-2

慕设计0293856

2019-11-16

class AlipayView(APIView):

def get(self, request):
    """
    处理支付宝的return_url返回
    :param request:
    :return:
    """
    processed_dict = {}
    for key, value in request.GET.items():
        processed_dict[key] = value

    sign = processed_dict.pop("sign", None)
    server_ip = "149.129.53.199"
    alipay = AliPay(
        appid = "2016101400687743",
        # app_notify_url="http://127.0.0.1:8000/alipay/return/",
        app_notify_url = "http://" + server_ip + ":8000/alipay/return/",
        app_private_key_path = private_key_path,
        alipay_public_key_path = ali_pub_key_path,  # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
        debug = True,  # 默认False,
        return_url = "http://" + server_ip + ":8000/alipay/return/"
    )
    verify_re = alipay.verify(processed_dict, sign)
    #这里我们可以调试看一下,如果verify_re为真,说明验证成功
    if verify_re is True:
        order_sn = processed_dict.get('out_trade_no', None)#订单号
        trade_no = processed_dict.get('trade_no', None)#支付宝交易号
        trade_status = processed_dict.get('trade_status', None)#交易状态

        existed_orders = OrderInfo.objects.filter(order_sn=order_sn)
        for existed_order in existed_orders:
            existed_order.pay_status = trade_status  #更新交易状态
            existed_order.trade_no = trade_no
            existed_order.pay_time = datetime.now()
            existed_order.save()

        response = redirect("index")
        response.set_cookie("nextPath","pay", max_age=2)
        return response
    else:
        response = redirect("index")
        return response

老师,请问get请求中是不是并没有trade_status,我们的trade_status更新是依赖异步的POST请求,进行的更新?
图片描述
图片描述

写回答

4回答

慕姐4046084

2020-06-01

现在问题解决了吗,这个问题,就是没有trade_status 之后的结果是订单状态一直没有更新

0
1
bobby
你debug一下看看你的执行逻辑里面为什么没有执行这个
2020-06-01
共1条回复

bobby

2019-11-24

//img.mukewang.com/szimg/5dda471209e6c75f08270460.jpg 这是我刚查看的接口文档,现在通过code来区别成功和失败了 比如这里的code就是代表成功

0
6
bobby
回复
我有何罪
你可以打印看看支付宝能给你返回的所有字段有哪些 肯定能通过某一个字段查找到是你本地哪个订单的
2020-02-22
共6条回复

bobby

2019-11-23

processed_dict 我需要看到支付宝给你回传的值有哪些 

0
1
慕设计0293856
processed_dict提交了截图
2019-11-23
共1条回复

bobby

2019-11-18

如果没有trade_status,你把所有返回的信息截图我看看呢

0
1
慕设计0293856
提交了截图
2019-11-20
共1条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2873 学习 · 2457 问题

查看课程