0

我正在尝试让贝宝为我的网站工作。我正在使用 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=成功&版本=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

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

4

2 回答 2

0

正如前人提到的,这是因为您所拥有的是通过服务器端进程进行的 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-取消网址

于 2012-07-11T21:02:01.813 回答
0

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

于 2012-07-11T20:44:04.520 回答