【发布时间】:2024-01-22 03:45:01
【问题描述】:
付款完成后 PayPal 没有向我发送返回 URL 可能是什么问题?这仅适用于信用卡付款,一切都适用于直接 PP 付款。
我使用 iFrame 并收到完整的付款消息“感谢您的付款”,但该消息在 iFrame 中,我想在付款后刷新整个页面。所以在验证函数之后:
$verified = $ipn->verifyIPN();
我正在使用以下命令重定向到另一个页面:
header();
但它不适用于信用卡付款。
错误:
Invalid 'X-Frame-Options' header encountered when loading 'https://www.paypal.com/hostedpaymentnodeweb/payWithCC': 'ALLOW' is not a recognized directive. The header will be ignored.
我也在 PHP 脚本的末尾尝试了这个:
echo '<script type="text/javascript">window.top.location.href = "https://www.test.com";</script>';
【问题讨论】:
-
我很困惑。您说的是返回到您提供的返回 URL,但这与 IPN 无关。 IPN 是服务器到服务器的通信,它不在浏览器中进行。如果您尝试将数据发送回您的返回 URL,则需要使用 PDT。如果这就是您正在做的事情,并且您正在使用 IPN 脚本,这很可能是您问题的根源。
-
嗯,是的,IPN 在浏览器中什么都不做,但是通常在支付完成后,PayPal 会重定向到参数中提供的重定向 URL,但现在它什么也不做。如果我使用 PayPal 交易,它会完美地重定向,问题只发生在信用卡支付上。
-
那么您在 PayPal 帐户配置文件中启用了 PDT 和自动退货?
-
我建议您使用 Express Checkout API 而不是 PayPal Standard。这样,无论用户在结账时选择了何种自动返回设置或支付方式,用户最终都会回到您的网站。
-
是的,Express Checkout 的工作方式甚至在您已经返回 ReturnURL 之前也不会影响最终付款。
标签: php iframe paypal paypal-ipn