贝宝IPN未检索变量

时间:2019-04-22 20:46:23

标签: button dynamic paypal paypal-ipn subscription

我有一个带有设置订阅按钮的Paypal帐户。买方设置订阅后,我将其发送到收据页面。在此页面上,我需要从Paypal检索变量以通过数据库进行更新。

  • 表格正在运行
  • 在Paypal上保存的订阅
  • 买家已正确重定向到收据页面

但未检索到变量。

这是我到目前为止尝试过的:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="mybusinessname">
<input type="hidden" name="lc" value="IE">
<input type="hidden" name="item_name" value="Monthly Subscription">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="a1" value="0.00">
<input type="hidden" name="p1" value="1">
<input type="hidden" name="t1" value="M">
<input type="hidden" name="src" value="1">
<input type="hidden" name="a3" value="1.50">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHosted">
<input type="hidden" name="custom" value="test_value">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

已启用Paypal上的即时付款通知(IPN)详细信息,并指向:

https://www.mydomain/payments/

IPN历史记录显示来自Paypal的通知已正确发送到通知URL(上方)

但是,收据页面显示

Error
Undefined index: custom

要获取自定义变量,我尝试使用类似的方法GET,POST甚至REQUEST方法

test 1: <?php echo $_GET["custom"]; ?>
test 2: <?php echo $_POST["custom"]; ?>

然后我尝试了

<?php
if (isset($_POST['custom'])) {
    $custom_display = $_POST['custom'];
}
?>  

但这会导致:Undefined variable: custom_display

我所需要做的就是获取自定义变量。

我猜我做错了,但是经过数小时的搜索答案并尝试了不同的设置(例如,在表单中动态发送通知网址,在Paypal中更改设置,使用不同的网址等),似乎没有为我工作,我被困住了

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

几个月前,我遇到了same issue (?)。答案似乎是:PayPal不再在IPN中通过custom(也不接受return的值)。两者都在去年某个时候停止工作。

我的解决方法是使用subscr_id值查找客户资料。 YMMV。