PayPal IPN 获取空的开机自检数据



我正在使用沙盒环境,我的 IPN 侦听器的代码来自 https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php

沙盒事务完成后,我在接收$_GET时得到空$_POST

Array
(
     [tx] => 14M290096L261713C
     [st] => Pending
     [amt] => 1.00
     [cc] => USD
     [cm] => 
     [item_number] => 
)

这让我感到困惑,因为使用GET方法传递数据并不安全。我已将按钮编码语言更改为utf-8,并且我的侦听器通过了 IPN 模拟器。

在网上搜索任何可能的解决方案后,我找到了这篇博客文章,并且在教程中它也收到了$_GET数据。这让我想知道这是否也是使用 GET 进行 IPN 监听的建议方法。

这是我的PayPal按钮代码:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="charset" value="utf-8">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="A5HMGXMJNWR7Y">
    <table>
    <tr><td><input type="hidden" name="on0" value="Plan">Plan</td></tr><tr><td><select name="os0">
        <option value="Basic">Basic $1.00 USD</option>
        <option value="Advacned">Advacned $2.00 USD</option>
        <option value="Premium">Premium $3.00 USD</option>
    </select> </td></tr>
    </table>
    <input type="hidden" name="currency_code" value="USD">
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

我错过了什么吗?感谢您的帮助。

对我来说已经

有一段时间了,但IPN不是PDT,博客文章PDT

使用PDT和/或IPN的哪个/何时使用

在此处查看 IPN 信息/详细信息。

要了解 IPN 的关键项目是:

IPN 是一种异步邮件服务,这意味着 IPN 不会与您网站上的操作同步

IPN 邮件服务不是实时服务。因此,侦听器可能在事件发生后的几秒钟内不会收到 IPN 消息。因此,您的结帐流程不应依赖于接收 IPN 消息才能完成。如果是这样,您的结帐流程在系统负载繁重且复杂期间会很慢,因为它必须处理重试。

。。。

最新更新