PayPal检测到资金不足

时间:2014-04-14 22:47:03

标签: php paypal

我们的系统存在一些问题,我们允许客户使用PayPal付款,这很棒!

但在以下情况下我们有这个问题:

  1. 客户使用PayPal向我们付款。
  2. 我们会在交易完成后将产品发送给我们的客户。
  3. 几天后,PayPal拒绝向我们付款,因为客户将其PayPal帐户与其银行帐户相关联。而且该银行账户的资金太低了。

    那么,有没有办法让PayPal知道我们何时通过对我们服务器的API / URL调用?

1 个答案:

答案 0 :(得分:2)

正如Dagon所说,IPN是解决这个问题的最好办法。

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

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

因此,在您提供的示例中,会发生的事情是,当事务首次发生时,将使用待处理的payment_status触发IPN,然后您还会看到名为pending_reason的参数echeck的值。这告诉您付款已经完成,但它是一个需要时间清除的echeck,因此状态再次是Pending而不是Completed。

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

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