如何将错误返回到PayPal的checkout.js?

时间:2018-10-08 18:12:18

标签: python rest paypal error-handling

PayPal的checkout.js向我的服务器端Python代码(在reg.exe-based method中描述的{/my-api/create-payment/)发出请求,而该代码又向/v1/payments/payment PayPal API发出请求,以创建一个根据用户输入进行付款(如https://developer.paypal.com/docs/checkout/how-to/server-integration/中所述)

    api = PayPalAPI()
    r = api.session.post(api.server + '/v1/payments/payment',
                         data=json.dumps(input),
                         headers={'Content-Type': 'application/json',
                                  'PayPal-Request-Id': transaction.invoice_id()})
    if r.status_code != 201:
        return HttpResponse('')  # FIXME: What to do in this situation?
    output = r.json()
    return HttpResponse(json.dumps({'id': output['id']}))

在发生错误的情况下(例如,如果我对checkout.js的JSON请求形成了错误或者客户的账户因欺诈而被禁用),我的服务器端代码应该返回到/v1/payments/payment吗?我希望checkout.js显示明智的错误消息,而不是在浏览器控制台中关闭带有低级消息的付款窗口。

0 个答案:

没有答案