PayPal订阅PDT / IPN - 请

时间:2012-05-08 10:15:24

标签: php paypal paypal-ipn payment-processing

我很难解决这个PayPal付款问题......

如何确认用户已成功注册订阅?

我知道0关于IPN,但例如:如果用户使用example@e.com注册我的网站,但使用paypal帐户sample@s.com付款,那么我将如何匹配用户。

我读到PDT不会发送交易ID(tx)来定期(订阅)付款是真的吗?

只需要帮助一切......诚实而轻松:)

感谢。

2 个答案:

答案 0 :(得分:3)

是的,有时很难理解Paypal及其所有文档,但对于任何类型的订阅,我会推荐Paypal IPN。您在PayPal帐户中设置了IPN URL,例如:http://www.domain.com/ipn.php。然后在paypal帐户中创建一个订阅按钮,您可以在其中设置价格,经常性价格等。

有关Paypal IPN的更多信息,请点击此处: https://www.paypal.com/ipn

创建Paypal按钮时,您还可以添加一些自定义字段,以帮助您确定哪个客户真正支付。例如,您有一个用户数据库,并且有userid = 100,username = Nickname和registered_email=xxx@gmail.com的用户。现在,您可以决定将userid = 100添加为自定义字段,并将其添加到paypal按钮。例如CUSTOM = 100。

在这种情况下,ipn.php是一个处理所有逻辑的脚本。当用户付费时,Paypal会将任何状态发送到http://www.domain.com/ipn.php(您在PayPal帐户中将其设置为IPN URL)。因此,在这种情况下,ipn.php需要检查付款是否完整且状态是否正常。然后检索一个CUSTOM字段($ _POST ['custom']),在这种情况下为100(userid)。然后用用户更新您的数据库,并以某种方式标记该用户当然已付款,如果状态为已完成。

希望这会有所帮助。但在这种情况下,paypal帐户用户支付的费用以及在您的数据库中注册的费用并不重要。所有你需要的是你以某种方式将它连接在一起。在这种情况下使用userid或类似的东西。

答案 1 :(得分:2)

如果您想实施Paypal IPN,并且您的客户不使用我的经验中的相同电子邮件,您可以使用表单对用户进行身份验证

  • 用户使用xxx@example.org
  • 登录您的网站
  • 用户点击您的商品并使用yyy@example.org付款
  • 付款后,您可以将其重定向到可以将Paypal帐户与网站帐户合并的表单
  • 每次用户付款时,您提供的信息都会覆盖您的IPN
  • 您应保存其付款信息以供日后使用。