我过去一直使用paypal通过我的网站销售东西(例如会员资格)但我总是必须通过paypal验证用户是否真的购买了会员资格(例如)才能将其分配给他/她的帐户。现在我想知道是否有一种方法可以将paypal购买按钮放到我的网页上(例如)购买会员资格,然后一旦用户付款,他将自动被分配到我的网站上的会员资格(例如,有一个页面purchase_result.php指定会员资格,但仅在用户真正通过paypal购买时才会这样做。如何确保用户在我网站的返回页面上通过paypal实际购买了该商品?
提前致谢, Skyfe。
顺便说一下,我希望我的问题可以理解答案 0 :(得分:8)
您可以通过PayPal即时付款通知接收来自PayPal的服务器到服务器通知,您可以随后验证并使用它来更新您的数据库。
IPN的工作原理如下:
您可以为网站付款标准指定IPN处理程序,如下所示
<input type="hidden" name="notify_url" value="http://blah.com/ipn.php
对于Express Checkout或Website Payments Pro,只需在SetExpressCheckout / DoExpressCheckoutPayment或DoDirectPayment API调用中分别包含以下内容即可。
NOTIFYURL=http://blah.com/ipn.php
PayPal IPN的一些示例代码和文档可在https://www.paypal.com/ipn/发送 此外,https://www.x.com/developers/community/blogs/ppmtsrobertg/securing-your-instant-payment-notification-ipn-script
提供了有关制作安全IPN脚本的一些提示注意:如果您想要包含任何自定义数据以及稍后可以阅读的交易,请使用“自定义”。
<input type="hidden" name="custom" value="xxxxx">
这也将在PayPal发送的IPN POST数据中返回。