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 Payflow Recurring Billing:重新激活个人资料
从 Paypal 获取 first_name(和其他信息)并使用 paypal-recurring gem 创建 Rails Devise 帐户