Paypal 未按预期重定向

Posted

技术标签:

【中文标题】Paypal 未按预期重定向【英文标题】:Paypal Not redirecting as expected 【发布时间】:2012-07-11 12:56:36 【问题描述】:

我正在尝试让贝宝为我的网站工作。我使用的是 Jade,所以下面的代码看起来与 html 不完全相同,但呈现相同。

form(id="SubmitForm", action="https://api-3t.sandbox.paypal.com/nvp")
  input(type="hidden", name="USER",value="USER")
  input(type="hidden", name="PWD", value="PWD")
  input(type="hidden", name="SIGNATURE", value="SIGNATURE")
  input(type="hidden", name="VERSION", value="89.0")
  input(type="hidden", name="PAYMENTREQUEST_0_PAYMENTACTION",
                    value="Sale")
  input(name="PAYMENTREQUEST_0_AMT", value="19.95")
  input(type="hidden", name="RETURNURL",
                    value="https://localhost:3001/confirm")
  input(type="hidden", name="CANCELURL",
                    value="https://localhost:3001/end")
  input(type="submit", name="METHOD", value="SetExpressCheckout")

它对贝宝执行并返回带有令牌的文本字符串,而不是重定向回我期望的确认页面。

我看到类似....

TOKEN=EC%2d33S38595GH5727152&TIMESTAMP=2012%2d07%2d11T20%3a00%3a02Z&CORRELATIONID=687adf3870d19&ACK=Success&VERSION=89%2e0&BUILD=3242673

网址为...

https://api-3t.sandbox.paypal.com/nvp?USER=USER&PWD=PWD&SIGNATURE=SIG&VERSION=89.0&PAYMENTREQUEST_0_PAYMENTACTION=Sale&PAYMENTREQUEST_0_AMT=19.95&RETURNURL=https%3A%2F%2Flocalhost%3A3001%2Fconfirm&CANCELURL=https%3A%2F%2Flocalhost%3A3001%2Fend&METHOD=SetExpressCheckout

如果我剪切并粘贴令牌,它可以正常工作,但是,我当然会尽量避免这种情况。

【问题讨论】:

【参考方案1】:

您确定您使用的是正确的网址吗?它以“api”开头的事实表明它旨在通过服务器端进程或 AJAX 调用并返回数据(就像它正在做的那样)而不是发出重定向。

【讨论】:

但是我不能使用 AJAX 调用,因为它是跨域请求,对吧?那我为什么还要提供回调网址呢?【参考方案2】:

正如前人提到的,这是因为您所拥有的是通过服务器端进程进行的 API 调用。

如果您只想重定向到 PayPal 并立即付款,只需使用以下 URL,并将其替换为您自己的值即可;https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=YOUR-EMAIL-HERE&amount=YOUR-AMOUNT-HERE&item_name=NAME-OF-YOUR-ITEM-HERE&return=YOUR-RETURN-URL&cancel_return=YOUR-CANCEL-URL

【讨论】:

所以这仍然没有告诉我为什么它需要一个重定向 URL,如果它不打算重定向....但是感谢正常 web 服务的 url,我有一种感觉我会必须改用它。 它将重定向。 事务完成之后。

以上是关于Paypal 未按预期重定向的主要内容,如果未能解决你的问题,请参考以下文章

贝宝定期付款重定向到贝宝的主页

Woocommerce 客户在 Paypal 重定向之前退出

Magento - PayPal 未重定向到移动网站

Paypal 自动登录重定向

在 PayPal 按钮重定向之前完成 AJAX 调用

302 url重定向到paypal主页