Paypal Buy Now IPN 在 POST vars 中返回空 item_number

Posted

技术标签:

【中文标题】Paypal Buy Now IPN 在 POST vars 中返回空 item_number【英文标题】:Paypal Buy Now IPN returning empty item_number in POST vars 【发布时间】:2018-03-28 14:46:20 【问题描述】:

简而言之,Paypal 正在返回 POST var item_number 但它是空白的。

详情:

客户点击“立即购买”并被转移到 Paypal,在此交易完成,然后将它们发送回我的站点。 我使用通知 url/页面来更新数据库,但它依赖于 item_number 来触发正确的代码。 我知道最近对 item_number1 或 item_number_1 的更改我在其他一些问题中看到过,但我正在将所有 POST 变量打印到一个临时文件(通过通知 url 中的 php),我看到的只是 item_number它是空白的。

任何建议都将不胜感激,因为我不是 Paypal 专家,而且我一直在拼命想弄清楚为什么它没有给我送回价值。下面的一些代码 sn-ps 和有用的东西......(注意我已经修改了一些安全值,但没有别的)

我的“立即购买”链接 = https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MYBUTTONID&lc=US&page_style=primary&item_number=PayPerCard&invoice=00000000&custom=userName

循环打印 POST 变量

foreach ($_POST as $key => $value) 
$data.= $key.'='.$value.'\n';

每次交易完成时,$data 都会被打印到一个临时文件中

$data =

transaction_subject=
payment_date=17:25:25 Oct 16, 2017 PDT
txn_type=web_accept
last_name=McDougal
receipt_id=0000-0000-0000-0000
residence_country=US
item_name=Buy & Send
payment_gross=1.50
mc_currency=USD
business=sales@mydomain.com
payment_type=instant
protection_eligibility=Ineligible
verify_sign=BIGLONGSTRING
payer_status=unverified
payer_email=customer@gmail.com
txn_id=BIGLONGSTRING
quantity=1
receiver_email=sales@mydomain.com
first_name=Sticky
invoice=00000000
payer_id=0000000000000
receiver_id=0000000000000
item_number=
payment_status=Completed
payment_fee=0.37
mc_fee=0.37
mc_gross=1.50
custom=userName
charset=windows-1252
notify_version=3.8
ipn_track_id=0000000000000

【问题讨论】:

【参考方案1】:

当然,在花费数小时寻找和调试并最终发布到 *** 之后,我在十分钟后发现了问题,这是一个非常容易解决的问题。在这里发帖是为了让其他人受益。

解决方案:不确定何时发生,但当您创建托管按钮时,Paypal 使用标记为“项目 ID”的字段。这是 item_number,它必须在这里设置,而不是像我以前那样在“立即购买”链接中设置。

image of PayPal fields

将该字段设置为我想要的 item_number 就可以了。

【讨论】:

以上是关于Paypal Buy Now IPN 在 POST vars 中返回空 item_number的主要内容,如果未能解决你的问题,请参考以下文章

Paypal IPN,缺少 POST 数据

IPN 验证返回 INVALID,因为 PayPal 在 POST 中向 IPN 侦听器发送了不正确的字符集

通过 PayPal Buy Now 按钮的自定义字段发送一个 json 编码的 var

Paypal:ipn响应问题

PayPal IPN POST 请求编码

Paypal IPN:如何从此类中获取 POST?