【问题标题】:PayPal detect insufficient fundsPayPal检测到资金不足
【发布时间】:2014-05-29 02:24:42
【问题描述】:

我们的系统出了点小问题,我们允许客户使用 PayPal 付款,这很棒!

但是在以下情况下我们会遇到这个问题:

  1. 一位客户使用 PayPal 向我们付款。
  2. 我们会在交易完成后将产品发送给我们的客户。

几天后,PayPal 拒绝向我们付款,因为客户的 PayPal 帐户与他的银行帐户相关联。而且那个银行账户上的资金太少了。

那么,有没有办法让 PayPal 在发生这种情况时通过 API/URL 调用我们的服务器来了解我们?

【问题讨论】:

  • 取决于您的设置,使用的贝宝产品,但您应该等到 IPN 通知您付款已完成:payment_status" 为“已完成, 如果它处于待处理状态,您等待
  • 我认为您必须直接询问 PayPal,我很确定答案是否定的。您可以做的就是只接受来自经过验证的帐户的付款。

标签: php paypal


【解决方案1】:

正如 Dagon 所说,IPN 是处理此问题的最佳方式。

您将在您的服务器上设置一个侦听器脚本,每次您的 PayPal 帐户发生交易时,PayPal 服务器都会将该帐户的相关数据发布到您的侦听器脚本。根据发生的交易类型,您将获得不同的参数。你可以see a list of the types and parameters here

您可以将电子邮件通知、数据库更新等构建到您的 IPN 脚本中,以完全自动化付款后处理任务。

因此,在您提供的示例中,当交易首次发生时,IPN 将被触发,payment_status 为 Pending,然后您还会看到一个名为 pending_reason 的参数,其值为 echeck .这会告诉您付款已完成,但它是需要时间来清除的电子支票,因此状态再次为待处理而不是已完成。

几天后,当该付款确实清除(或失败)时,您将获得另一个具有更新的 payment_status 的 IPN。只有在收到实际的 COMPLETED payment_status 后,您才会交付订单。

同样,这一切都可以在您的 IPN 脚本中自动完成。

【讨论】:

  • 有用的答案安德鲁。如果买家将 Paypal 连接到资金不足的信用卡(即预付卡),您是否知道您描述的过程是否也会发生?
猜你喜欢
  • 2014-01-24
  • 2017-08-21
  • 2013-12-30
  • 2018-08-30
  • 2015-10-07
  • 2014-07-15
  • 1970-01-01
  • 1970-01-01
  • 2020-08-11
相关资源
最近更新 更多