PHP和Paypal IPN订阅和定期付款


PHP and Paypal IPN Subscription and recurring payments

我需要在网站上为我的客户设置贝宝自动续订。实际上,客户每月付款后将获得30天的网站访问权限。

如果每月自动付款可以,我们可以将"网站访问"天数增加30天。如果没有,它将不会再向客户帐户添加任何天数。

这意味着我需要在自己的网站上运行一个脚本,在每次自动付款后几天检查并增加或停止客户的"网站访问"。

我们可以这样设置贝宝自动续订吗?有什么方法可以在每次自动续订后运行脚本(mywebsite.com/renewalscript.php?customerid=123&payment=ok)吗?或者你有其他的想法来克服这个问题吗?

一个简单的方法可以是有一个valid_until日期列之类的。当用户试图查看内容时,只需检查该字段,看看他们是否能够查看。然后在IPN监听器中,当收到好的付款时,你可以将日期提前30天。

如果您需要创建IPN侦听器的帮助,您可能会发现我的教程很有帮助。

  • PayPal即时支付通知(IPN)

txn_typesubscr_eot时,您可以通过监听IPN来实现这一点。当订阅失败或被取消时,您可以禁止访问。

这个问题进一步解释了subscr_eot:使用Paypal IPN 订阅

我使用这个类:PHP Paypal IPN集成类并检查:

if($p->ipn_data['txn_type'] == 'subscr_eot')

则将它们的CCD_ 7设置为CCD_。

AFAIK,在每一笔成功承付的订阅费上,您都会通过IPN获得信息。"需要运行的脚本"是IPN脚本。如果PayPal通过IPN通知您,您的IPN脚本需要处理请求/响应,如果有效,请在数据库中设置您的参数。这一切都是在你的网站上的IPN处理程序脚本中完成的。

(请记住,在对您的表等进行任何本地更新之前,请首先回答此脚本中的贝宝请求。如果您发送请求太晚,贝宝将不接受它,并在稍后发送新的请求)。

请参阅https://cms.paypal.com/cgi-bin/marketingweb?cmd=_render-内容&content_ID=开发人员/library_code_ipn_code_samples for sample code