我正试图整合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代码。
这里是更多的文档在快速结账从贝宝开发人员网站。
对于其他阅读本文的人,我发现如果我从:
更改redirectURLhttps://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)登录页面,没有错误。
希望能有所帮助