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
显示明智的错误消息,而不是在浏览器控制台中关闭带有低级消息的付款窗口。