一旦Paypal购买,关闭主题

时间:2011-09-21 13:34:41

标签: php paypal phpbb3

我在phpBB论坛上有一个选项,可以添加Paypal立即购买按钮,以便用户销售和购买商品。我希望能够在用户通过PayPal进行购买时自动关闭主题,以避免多个用户购买相同的商品。

是否可以在进行交易后从paypal获取用户的会话数据?然后将会话数据合并到一个变量中:

$paypal = (isset($_POST['purchased'])) ? true : false;

我不确定是否需要下载Paypal SDK。

任何建议都会很棒,谢谢。

3 个答案:

答案 0 :(得分:1)

  

是否有可能从paypal获取用户的会话数据   进行交易?

您真的想要信任用户的会话数据吗?我相信你可以阅读会话数据,你不想这样做,改变它将是一项微不足道的任务。即使你真的不能阅读其他网站的会话数据。

  

我不确定是否需要为此下载Paypal SDK。

这是正确的方法。

答案 1 :(得分:1)

当我上次使用它时,Paypal Standard允许您指定失败和成功的返回URL(发送用户的位置)。动态生成一些秘密哈希,以方便最终重定向用户。

或者您可以使用IPN。

答案 2 :(得分:1)

不要依赖返回网址。买家可以(并将在完成付款后)关闭浏览器/标签页 相反,使用PayPal即时支付通知从PayPal接收服务器到服务器通知,您可以随后验证并使用它来使用phpBB关闭线程的相应标志更新您的数据库。

IPN的工作原理如下:

  1. 您创建PayPal并包含“notify_url”。此参数的值将是服务器上脚本的完整URL,称为“IPN脚本”或“IPN处理程序”。
  2. 您可以为网站付款标准指定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

    1. 买方通过PayPal完成交易
    2. 买家完成交易后,他/她可以关闭浏览器或返回您的网站
    3. PayPal接受并处理交易后,PayPal会向http://blah.com/ipn.php发送通知
    4. 您需要获取发送到此脚本的所有POST数据,并将其重新发送回https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate
    5. 如果您发回的数据与PayPal发送给您的数据一致,则会返回“已验证”的回复。
    6. 如果响应是VERIFIED,那么此时您将查找匹配的事务/买方,并适当更新phpBB线程状态。
    7. 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数据中返回。