我正在尝试设置一个 paypal 解决方案,但我在使用 RETURNURL 时遇到了一些问题。
我的表格看起来像这样。
<form method="post" action="https://api-3t.paypal.com/nvp">
<input type="hidden" name="USER" value="<%=PayPal_API_Username%>">
<input type="hidden" name="PWD" value="<%=PayPal_API_Password%>">
<input type="hidden" name="SIGNATURE" value="<%=PayPal_API_Signature%>">
<input type="hidden" name="VERSION" value="65.0">
<input type="hidden" name="PAYMENTREQUEST_0_PAYMENTACTION" value="Sale">
<input type="hidden" name="PAYMENTREQUEST_0_CURRENCYCODE" value="DKK">
<input type="text" name="PAYMENTREQUEST_0_AMT" value="<%=Amount%>.00">
<input type="hidden" name="CUSTOM" value="<%=GUID%>">
<input type="hidden" name="RETURNURL" value="http://<%=c_mainDomain%>/return.html">
<input type="hidden" name="CANCELURL" value="http://<%=c_mainDomain%>/cancel.html">
<input type="hidden" name="METHOD" value="SetExpressCheckout">
<input type="submit" name="submit" value="Videre til betaling med Paypal">
</form>
当我提交表单时,它会转到“https://api-3t.paypal.com/nvp”并显示以下消息。
TOKEN=EC%2d2XR31554RN094031R&TIMESTAMP=2012%2d01%2d03T10%3a23%3a11Z&CORRELATIONID=a0c80a35bfde2&ACK=Success&VERSION=65%2e0&BUILD=2271164
它不应该让我回到我自己的页面,回到“RETURNURL”吗?还是我遗漏了什么
最佳答案
是的,我很确定我的评论是正确的。 此 POST 应由您的 Web 应用程序服务器完成 - 对客户端是暂时的。 就在用户点击网络应用程序上的“支付”按钮(当您呈现网站时)之前 - 您调用 setExpressCheckout,然后从答案中读取 token 并将其应用于按钮。 然后在用户点击后他被重定向到 paypal 站点并通过 returnURL 返回到您的页面。
请确保您完全理解整个过程。向您的用户提供过多信息可能会成为您的支付模块的潜在漏洞。
编辑:我猜你创建的表单来自 PayPal's tutorial .请注意,它仅用于测试和了解整个过程。
关于Paypal SetExpressCheckout 不会返回 "RETURN URL",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8710841/