【问题标题】:PayPal SDK - AttributeError: 'HttpResponse' object has no attribute 'get'PayPal SDK - AttributeError:“HttpResponse”对象没有属性“get”
【发布时间】:2021-12-27 18:19:12
【问题描述】:

我正在使用带有 Django(Django REST 框架)的 PayPal SDK 来创建和捕获交易。在此guide 之后,我得到标题中的错误。看起来 self.client.execute(request) 返回 paypalhttp.http_response.HttpResponse object 但 Django 不会让我从我的角度返回它。有任何想法吗?谢谢。

【问题讨论】:

    标签: python django django-rest-framework paypal


    【解决方案1】:

    返回 paypalhttp.http_response.HttpResponse 对象

    使用它拥有的任何方法从该对象中提取数据。通常,您需要将生成的付款详细信息存储在您的数据库中(尤其是purchase_units[0].payments.captures[0].id,它是 PayPal 交易 ID)。

    然后return a JSON response 到调用JS。从 django 1.7 开始,您可以执行以下操作:

    from django.http import JsonResponse
    
        data = {
            'name': 'Vitor',
            'location': 'Finland',
            'is_active': True,
            'count': 28
        }
        return JsonResponse(data)
    

    显然将data 替换为您要转发的实际响应数据。


    客户端JS在收到响应时应该有适当的错误处理,见demo patternhttps://developer.paypal.com/demo/checkout/#/pattern/server

    【讨论】:

      猜你喜欢
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2021-02-24
      • 2018-05-09
      • 2020-11-27
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多