自定义结算周期的Paypal定期付款

时间:2019-12-18 20:32:30

标签: laravel paypal recurring

我正在使用PHP的网站上工作,该网站需要自定义周期进行贝宝的定期付款。例如:客户希望每15天收到一次产品。因此,贝宝应每15天为客户处理一次结算。其他人可以在30天内提出相同要求,依此类推。

我还需要更新付款状态。我想当完成定期付款后,贝宝会发送一些数据。没有获得有关实施重复执行的明确说明。我得到的是从Paypal帐户创建定期付款按钮。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

假设天数是在结帐时选择的,并且对于该特定客户的自定义结算周期不会更改...

快速解决方案:

您可以通过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之一,该API可以完成与该HTML按钮几乎相同的功能。这似乎是最新的API:https://developer.paypal.com/docs/subscriptions/

(API和HTML按钮是单独的产品,以后在管理现有重复配置文件方面不能互换,因此,如果您需要成熟的API,请最好从第1天开始集成它,而不要使用HTML按钮)


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


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

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