首页 > 解决方案 > PayPal SDK - AttributeError:“HttpResponse”对象没有属性“get”

问题描述

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

标签: pythondjangodjango-rest-frameworkpaypal

解决方案


返回 paypalhttp.http_response.HttpResponse 对象

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

然后返回一个 JSON 响应给调用的 JS。从 django 1.7 开始,您可以执行以下操作:

from django.http import JsonResponse

    data = {
        'name': 'Vitor',
        'location': 'Finland',
        'is_active': True,
        'count': 28
    }
    return JsonResponse(data)

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


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


推荐阅读