PayPal订阅PDT/IPN——请问

5

我很难理解这个PayPal支付的内容...

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

我对IPN一无所知,例如:如果一个用户使用example@e.com注册了我的网站,但使用sample@s.com的PayPal账户付款,那么我该如何匹配用户。

我读到PDT不会为重复(订阅)付款发送交易ID(tx),这是真的吗?

需要帮助...诚实而简单:)

谢谢。

2个回答

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需要检查付款是否完成并且状态是否正确。然后检索自定义字段($_POST['custom']),在这种情况下为100(userid)。然后,如果状态为已完成,更新您的数据库中的用户信息并标记此用户已付款。
希望这能帮到您一点。但在这种情况下,用户使用哪个PayPal帐户以及在您的数据库中注册的帐户并不重要。您需要的只是将它们联系起来。在这种情况下,使用userid或类似的东西。

在使用沙盒进行测试时,我们应该使用哪个返回URL和账户?谢谢。 - Frenchi In LA
是的,这又是一个烦恼 :) 您可以使用您的真实电子邮件地址(https://developer.paypal.com/)注册一个新的沙盒账户。之后,您可以使用您的电子邮件和密码登录PayPal沙盒账户,然后在那里创建不同的测试账户。例如,您可以创建一个商业账户和一个或多个个人账户。请记住,这只是测试账户,但实际上像真实账户一样工作。一旦您登录PayPal沙盒账户,点击新创建的商业账户并设置IPN URL,就像在真实的PayPal账户中一样。您还可以在那里生成付款按钮。 - StudioArena
然后创建至少一个测试用户帐户,以便您可以尝试付款是否真正起作用。在测试时,您只需要将按钮的HTML源代码从business = YOUR_REAL_EMAIL_or_YOUR_REAL_BUSINESS_CODE更改为您的业务TEST帐户(来自Paypal沙箱)的电子邮件地址或业务代码即可。此外,在您的IPN文件(ipn.php - 您将其设置为IPN网址)中,您需要更改将数据发送回Paypal的URL。因此,您使用沙箱网址而不是真实的Paypal网址。在此处检查PHP示例:https://cms.paypal.com/cms_content/US/en_US/files/developer/IPN_PHP_41.txt - StudioArena
或者在此处查看其他示例:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_code_ipn_code_samples 对不起,英语不是我的母语,但我希望现在更清楚了?另外,请确保在测试您的付款程序时,您需要登录到您的沙盒帐户,并且当然,对于测试付款,您可以使用您在PayPal沙盒帐户中创建的个人帐户之一。我知道这很复杂,但这并不是我的错,这就是PayPal的工作方式。我只想让它变得更容易 :) - StudioArena

2
如果您想实现Paypal IPN并且您的客户没有使用相同的电子邮件,可以使用表单来验证用户。具体步骤如下:
- 用户使用 xxx@example.org 在您的网站上登录。 - 用户点击您的商品并使用 yyy@example.org 进行支付。 - 支付后,您可以将其重定向到一个表单,在该表单中,用户可以将Paypal帐户与网站帐户合并。 - 每次用户进行支付时,您的IPN将由他提供的信息覆盖。 - 您应该保存他的付款信息以备以后使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接