PayPal自动返回不会发回任何POST数据

Nat*_*lia 8 php paypal return paypal-ipn

我对这篇文章有类似的问题

设置PayPal返回URL并使其自动返回?

但是,那里的解决方案没有用.我们设置了IPN并传回POST变量(访问者点击后可以下载购买的PDF文件),但后来我试图摆脱Paypal订单确认页面

你刚刚完成了付款.此付款的交易ID为:XXXXXXXXXXXXX.

并启用网站付款首选项中的"自动返回",指定URL http://www.educted.ca/payment_complete.php,POST变量现在不会传递回payment_complete.php - 它显示为空白.一旦禁用"自动返回",POST变量就会正确显示,并且可以下载购买的产品.当然,我正在使用Paypal Sandbox帐户.

<input type="hidden" name="return" value="<?php echo LIVE_SITE;>payment_complete.php">
<input type="hidden" name="cancel_return" value="<?php echo LIVE_SITE; ?>catalog.php">
<input type="hidden" name="notify_url" value="<?php echo LIVE_SITE; ?>ipn.php">
<input type="hidden" name="rm" value="2">
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Rob*_*ert 14

如果启用"自动返回",则无论rm设置的是什么,都将通过GET返回值.

如果您想在买家完成交易后立即进行文件传递,请查看PayPal付款数据传输.启用后,PDT会tx在您的返回网址中添加GET var; 通过致电贝宝https://www.paypal.com/cgi-bin/webscr?cmd=_notify-synch&tx=value-for-tx-here&at=value-for-your-paypal-account-authentication-token你会能够提取有关交易的额外数据,并立即检查它是否有效.
另见https://www.paypal.com/pdt/

IPN应该保留用于后端处理,因为它可能会有很大的延迟.
另一方面,PDT让你从PayPal中提取信息,并且就是这样.