我有PayPal付款的网站。我使用IPN处理付款
我希望访客在paypal付款后返回特定页面
我放入篮子形式
<input type="hidden" name="return" value="http://site.com/basket/thank-you?param=value">
配对param =值在某些情况下可能是特定的
但付款后访客只能看到贝宝“感谢您的订单”页面:( 访问者可以在此页面上使用返回链接,但他们不会这样做:)
我知道可以在PayPal商家帐户中设置自动退货 - &gt;个人资料 - &gt;销售偏好设置 - &gt;网站付款偏好设置 - &gt;网站付款自动退货
但我应该只设置一个网址。所以我必须使用cookie或会话来捕获用户语言。 为什么会这样?为什么返回链接隐藏字段不起作用?没有PDT可以获得返回功能吗?
答案 0 :(得分:1)
当您使用Payments Standard时,即使启用了自动返回功能,也绝不保证用户返回到您的返回状态。例如,他们可以在自动返回发生之前关闭浏览器。它根本不可靠。
如果您想确保用户返回您的应用流程,那么您可以使用Express Checkout。这涉及3个API调用,SetExpressCheckout,GetExpressCheckoutDetails和DoExpressCheckoutPayment。
登录,审核并同意付款后,用户将被发送回您在SetExpressCheckout中指定的ReturnURL。此时,您可以调用GetExpressCheckoutDetails获取付款人详细信息(可选),然后使用DoExpressCheckoutPayment完成所有操作。
我还建议将数据保存到您的数据库或使用会话变量与URL参数相对应,这很容易访问,因为Express Checkout发生在您自己的服务器而不是PayPal上。
答案 1 :(得分:0)
通过将Auto Return for Website Payments
上的Website Payment Preferences
设置为开启,并不意味着您的应用程序将始终使用其中的返回URL。您仍然可以通过指定return
字段来覆盖它,就像您上面所做的那样:
<input type="hidden" name="return" value="http://site.com/basket/thank-you?param=value">
不同之处仅在于访问者将被直接重定向到返回网址(通常等待大约10秒),而不会将他们带入“感谢您的订单”页面。
答案 2 :(得分:0)
我遇到的最有趣的问题是仅在沙盒中归档。在真正的PayPal帐户上,即使关闭了自动退货选项,我也会在感谢页面上返回访问者。