Paypal沙箱:此交易无效



我正试图整合paypal express checkout(测试)没有运气。不知道我做错了什么。我遵循了文档,但我得到"此交易无效"。当我试图重定向到浏览器到沙盒登录页面时,请返回到收件人的网站,使用他们的常规结账流程完成交易。

<form method=post action=https://api-3t.sandbox.paypal.com/nvp>
    <input type=hidden name=USER value=j***-1_api1.g*******s.com.au>
    <input type=hidden name=PWD value=Q8P*******U6>
    <input type=hidden name=SIGNATURE value=AFc************fH>
    <input type=hidden name=VERSION value=124.0>
    <input type=hidden name=PAYMENTREQUEST_0_PAYMENTACTION
        value=Sale>
    <input name=PAYMENTREQUEST_0_AMT value=19.95>
    <input type=hidden name=RETURNURL
        value=http://localhost/moes/paypal_complete.php>
    <input type=hidden name=CANCELURL
        value=http://localhost/moes/paypal_complete.php>
    <input type=submit name=METHOD id="submit_paypal" value=SetExpressCheckout>
</form>

也在我的网站上尝试了这个,以防本地主机引起麻烦,但仍然是一样的。

我得到的ACK响应是成功的:

TOKEN=EC-83V63085L7957480A
TIMESTAMP=20150901T14:14:08Z
CORRELATIONID=ffb632c840981
ACK=Success
VERSION=124.0
BUILD=000000 

但是当我用令牌在文档中使用redirectURL时,我得到了无效的事务错误。

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&TOKEN=EC-83V63085L7957480A

当我尝试时,我登录到developer.paypal.com,仍然每次都是无效的交易。

无效事务的URL:

//http://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_flow&SESSION=xa6gvld5X3qDZhYbt7pnz6rWMCzBdIFvAREoxohX4E5zH_3ydrzEQBnpQFW&dispatch=50a222a57771920b6a3d7b606239e4d529b525e0b7e69bf0224adecfb0124e9b61f737ba21b0819803370655d2811b9456e01fe893c80ec2

想法?

您可以从PayPal向导中获得样例Express Checkout Code:PayPal Express Checkout Code Wizard

<form action='expresscheckout.php' METHOD='POST'>
<input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
</form>

您需要从PayPal代码向导中下载expresscheckout.php和paypalfunctions.php文件。通常你的PayPal API签名会在一个单独的php文件中。代码向导上的paypalfunctions.php存储了API凭据。

下面的代码片段来自paypal.php文件,它是沙箱端点的代码部分。

    if ($SandboxFlag == true) 
{ 
    $API_Endpoint = "https://api-3t.sandbox.paypal.com/nvp";
    $PAYPAL_URL = "https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=";
}

同样使用Express Checkout,你需要调用Mark Express Checkout,这通常是在你的PHP文件中完成的。

您可以从代码向导中获得完整的php代码。

这里是更多的文档在快速结账从贝宝开发人员网站。

对于其他阅读本文的人,我发现如果我从:

更改redirectURL
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&TOKEN=

:

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=

按预期重定向到paypal(sandbox)登录页面,没有错误。

希望能有所帮助

相关内容

  • 没有找到相关文章

最新更新