Paypal Recurring api 用于查找下一次定期付款

Posted

技术标签:

【中文标题】Paypal Recurring api 用于查找下一次定期付款【英文标题】:Paypal Recurring api for find next recurring payment occure 【发布时间】:2014-02-25 00:19:52 【问题描述】:

我已经在 php 中实施了 paypal 定期订阅计划,并且 paypal recurring 也根据重复周期通过 paypal 收费。但我的系统没有发现下一次定期付款是否已收费,所以我怎么知道下一次定期付款已使用 paypal api 收费。

我想在下次定期付款更改后帮助升级下一个到期日期。

【问题讨论】:

【参考方案1】:

如果我理解正确的话,你需要配置Instant Payment Notification (IPN)。 PayPal 的服务器会将交易数据发布到您服务器上的侦听器脚本,以便您可以相应地处理事情。它是实时发生的。

使用定期付款时,您会在个人资料创建、取消或暂停时收到 IPN,并且您还会在个人资料付款完成、失败等情况下收到通知。您可以更新系统或发送根据您获得的 IPN 数据相应地发出电子邮件通知。

【讨论】:

【参考方案2】:

据我了解,您想查看用户是否付款并据此更改到期日期。

解决方案是 Webhooks。在您的 PayPal 应用程序部分中,单击添加 webhook 并选择 PAYMENT.SALE.COMPLETED 并输入您要收听此事件的 URL,当您完成新的付款时,PayPal 将向该 URL 发送一个发布请求。 在与您输入的 URL 对应的页面中,您必须执行以下操作:

    验证呼叫来自 PayPal,而不是来自其他来源(如果您使用 PHP,可以检查:PHP verify Paypal webhook signature) 通过读取正文内容而不是 POST 数据来解析从 PayPal 发送的数据 验证该事件是您需要的,在本例中为PAYMENT.SALE.COMPLETED 验证您收到的金额和币种 确保您之前没有处理过此交易,这太重要了 如果一切都有效,您可以保存交易并做任何您想做的事情,以延长到期日。

【讨论】:

以上是关于Paypal Recurring api 用于查找下一次定期付款的主要内容,如果未能解决你的问题,请参考以下文章

Paypal Recurring Profile:如何每小时运行一次?

Paypal recurring_payment_skipped 条件

Paypal Recurring Gem - 暂停付款

PayPal Payflow Recurring Billing:重新激活个人资料

Paypal 定期付款 API - 工作流程

从 Paypal 获取 first_name(和其他信息)并使用 paypal-recurring gem 创建 Rails Devise 帐户