在 PayPal 的 REST API 中执行付款后,有时我没有收到电子邮件

Posted

技术标签:

【中文标题】在 PayPal 的 REST API 中执行付款后,有时我没有收到电子邮件【英文标题】:After executing a payment in PayPal's REST API, sometimes I don't get an email back 【发布时间】:2015-09-01 17:36:13 【问题描述】:

所以,我有一个接受付款的 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']

这很好用,但有时不行!有时(实际上到目前为止只有一次)我会收到一个没有电子邮件地址的付款人。这怎么可能?这是我的代码应该期待的吗?我正在使用的系统需要一个电子邮件作为我们用户数据库的主键,所以这很难适应。

感谢您的所有帮助!

【问题讨论】:

更奇怪的是 - 当我加载此付款对象时,付款人现在附上了一封电子邮件。那么,这可能是 PayPal 的一个不会再次发生的错误? 现在发生了两次,当我检查时,这两次电子邮件现在都可用,但在用户从 PayPal 回来后不是立即可用。 嗯,PayPal 帐户可能没有电子邮件地址。至少在某些司法管辖区(国家/地区),您只需一个电话号码即可注册,而其他类型的“句柄”或地址在技术上是可行的。不过,您应该始终获得一些唯一标识符。 有趣 - 你有这方面的任何文件吗?您个人是否有一个没有附加电子邮件的帐户?如果可能的话,我很想测试一下!无论如何,这不是这里发生的事情 - 这些帐户确实有电子邮件,但由于某种原因,我无法在交易后立即收到它们(至少这是我的理论)。 我在 PP 工作了 10 多年。我的帐户都有电子邮件……但在某些情况下,情况可能并非如此(尽管其中一些情况是用假电子邮件地址“掩盖”的,以免破坏期望填充该字段的代码) . 【参考方案1】:

即使这个问题已经存在 1 年了,这似乎仍然是当前 Paypal REST API 的问题:有时电子邮件字段不显示。

不幸的是我无法提供解决方案,因为我面临同样的问题,但我至少有一点建议:自从我尝试在执行付款之前收到电子邮件以来,这种现象的频率略有增加;当我在付款后移动请求时,此事件变得不那么频繁了;最后,在少数仍然发生这种情况的情况下,快速查看付款日志会显示正确的电子邮件地址,正如预期的那样,因此这些似乎不是“特殊”的贝宝付款。

在我看来,电子邮件字段只是“缓慢”出现,即使系统正确等待来自贝宝服务器的每个响应......我将尝试通过添加定时重试来解决这个问题,以防万一失败,为了给贝宝服务器多几秒钟的时间来响应......但是如果比我更有经验的人可以就这个问题给出更可靠的意见,将不胜感激!

ps:实际上我的平台使用的是官方paypal php SDK的最新版本

【讨论】:

以上是关于在 PayPal 的 REST API 中执行付款后,有时我没有收到电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用 REST api 执行 PayPal 付款

PayPal Rest API - 使用更新的交易信息执行付款

paypal Java Rest API 在付款执行前获取运输信息

执行付款后调用的 PayPal REST API 取消 URL

paypal rest api执行错误

通过 Classic 或 Rest API 的 Paypal 付款