所以,我有一个接受付款的Python PayPal REST API应用程序。我创建了一个Payment对象并将用户重定向到PayPal。当他们回来时,我做了:
payment = Payment.find(trans_id)
payment.execute({ "payer_id": payer_id })
如果成功,我会收到付款人的电子邮件地址,如:
payer_info = payment.payer.payer_info.to_dict()
email = payer_info['email']
这很有效,除非有时它没有!有时(实际上只有一次到目前为止)我得到一个没有电子邮件地址的付款人。怎么可能?这是我的代码应该期待的吗?我工作的系统需要一封电子邮件作为我们用户数据库的主键,所以这很难适应。
感谢您的帮助!
答案 0 :(得分:0)
即使这个问题是1年,这仍然是当前Paypal REST API的一个问题:有时电子邮件领域并没有显示出来。
不幸的是我无法提供解决方案,因为我面临同样的问题,但我至少有一点建议:自从我尝试在执行付款之前收到电子邮件之后,这种现象的频率略有增加;当我在付款后移动请求时,此事件变得更少;最后,在这种情况仍然发生的少数情况下,快速查看付款日志会显示正确的电子邮件地址,正如预期的那样,所以这些似乎并不是特别的"贝宝付款。
在我看来,电子邮件字段只是"慢"出现,即使系统正确等待来自paypal服务器的每个响应......我将尝试通过在失败的情况下添加定时重试来解决此问题,以便给paypal服务器提供额外的几秒钟来响应......但是,如果比我更有经验的人能够就此事提出更加坚实的意见,我将不胜感激!
ps:实际上我的平台使用官方paypal PHP SDK的最新版本