首页 > 解决方案 > Paypal 定期付款自定义计费周期

问题描述

我正在开发一个 PHP 网站,该网站需要自定义周期来进行 paypal 定期付款。例如:客户希望每 15 天收到一件产品。因此,贝宝应每 15 天为客户处理一次帐单。其他人可以在 30 天内提出同样的要求,以此类推。

我还需要更新付款状态。我猜当定期付款完成时,贝宝会发送一些数据。没有得到关于实施重复的明确指示。我得到的是从贝宝帐户创建定期付款按钮。

谁可以帮我这个事?

标签: laravelpaypalrecurring

解决方案


假设天数是在结账时选择的,并且对于该特定客户的自定义计费周期永远不会改变......

快速解决方案:

您可以通过http://www.paypal.com/buttons在一定天数内生成“订阅”按钮,例如 15 天。在“第 2 步”中,取消选中将按钮保存在 PayPal 的选项。生成代码后,单击选项以删除代码保护。

这将为您提供纯 HTML,并且“15”将是其中的变量之一。可能的变量记录在https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

因此,您可以将该隐藏输入更改为“文本”类型 - 或者仍然隐藏但由您的 javascript 或服务器端代码设置,并具有 X 天的动态按钮。当然,也可以将图像更改为您自己的图像。

更复杂的解决方案: 集成 PayPal 的定期订阅 API 之一,它将完成与那个 HTML 按钮大致相同的事情。这似乎是最新的 API:https ://developer.paypal.com/docs/subscriptions/

(API 和 HTML 按钮是独立的产品,并且在您以后如何管理现有的重复配置文件方面不可互换,因此如果您需要一个完整的 API,最好从第一天开始集成它,而不是使用 HTML 按钮)


如果第一个假设不成立,并且您需要客户能够在结帐后的稍后日期调整计费周期,那么事情就会变得更加复杂。


至于获取付款状态更新,您可以集成 PayPal 的 webhook 服务:https ://developer.paypal.com/docs/integration/direct/webhooks/

还有一个功能类似的旧IPN服务


推荐阅读