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