使用贝宝订阅的 PHP 用户注册

Posted

技术标签:

【中文标题】使用贝宝订阅的 PHP 用户注册【英文标题】:PHP user signup with paypal subscriptions 【发布时间】:2011-07-24 20:13:22 【问题描述】:

我有一个网站,我已经设置了一个会员区,并希望这样当人们注册时,他们需要订阅贝宝,然后才在数据库中创建用户。

我不太了解 paypal 的工作原理。有没有人有任何指示?我如何或从哪里开始?

基本上我需要在访问者按下“注册”按钮后以某种方式将访问者重定向到贝宝,进行付款,然后让贝宝返回我的网站并告诉它付款已处理,因此可以创建用户。 ..

【问题讨论】:

【参考方案1】:

Paypal IPN 是针对此类需求的 Paypal 部署。

IPN(即时支付通知)允许您委托一个端点 URL,当支付成功完成时支付网关将发送 postdata 到该端点。

大多数情况下,这需要使用某种数据库来保存注册状态,同时将用户转发到 Paypal 进行支付流程,利用他们的 SSL 加密和支付逻辑。该过程完成后,您的应用程序会收到包含由您的应用程序生成的唯一标识符的发布数据通知,并与原始重定向一起传递,以识别已完成付款的用户会话。

您将希望使用 php uniqueid() 函数或通过散列时间戳来生成唯一 ID。这将在您的重定向中传递给贝宝,贝宝将在处理付款时将其与成功/失败标志一起发送。当用户填写他们的表单并被重定向到 Paypal 时,在与他们的 ID 关联的数据库中保存一个 IsPaid 的布尔值(我建议同时使用主键和前面提到的这个唯一交易 ID。)你的 IPN 脚本然后可以监听 post 数据,解析出来并将该 id 的 false IsPaid 布尔值更改为 true。

有许多很好的教程可供使用。我只在 MVC 部署中使用过这个,所以如果你在做程序,谷歌搜索会有很大帮助。 Paypal 的文档有最新的参数指南,但还有其他很棒的教程,如果有点旧,独立于它们。

http://www.web-development-blog.com/archives/easy-payments-using-paypal-ipn/

http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/

【讨论】:

【参考方案2】:

查看 Paypal IPN API,它用于大多数付费会员脚本: https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/library_code

【讨论】:

以上是关于使用贝宝订阅的 PHP 用户注册的主要内容,如果未能解决你的问题,请参考以下文章

如何在会员网站上使用贝宝 IPN (PHP)

贝宝 - 订阅按钮

没有贝宝账户的用户使用信用卡订阅贝宝

在贝宝(贝宝订阅)中首次定期付款时应用折扣优惠券代码

贝宝订阅流程

贝宝网站订阅标准,取消订阅