2011-12-17 129 views
0

我已经在PayPal沙盒中创建了一个帐户,并创建了2个帐户,其中有一些钱用于付款。我在我的java程序中使用签名详细信息来获得付款。当用户点击与PayPal按钮工资,我们将来自PayPal获得令牌,并将其传递到这个网址:Paypal沙箱交易不显示

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

支付成功我不能够看到我的PayPal沙盒帐户的任何交易后?为什么会这样,我在做什么错误?我正在使用Google App Engine java和jsp。请给我提供任何帮助完整的链接,做“付贝宝”

谢谢。

回答

6

见我在Why is DoExpressCheckoutPayment required for Paypal?
答案为了使用快速结账,您必须至少致电以下API调用:
1. SetExpressCheckout - 设置交易。
2. DoExpressCheckoutPayment - 完成交易。

如果您在SetExpressCheckoutRETURNURL参数中指定的页面上未调用DoExpressCheckoutPayment,则交易未完成。这是为了在结账流程中提供更大的灵活性。

快速结账是作为您自己的结帐过程中的一种解决方案。 Express Checkout将您重新导向到您的网站后,您应该显示订单确认,买方可以在启动最终的DoExpressCheckoutPayment API调用之前查看他/她的最终订单详细信息。这就是为什么DoExpressCheckoutPayment是必需的。

+1

我确实调用了'DoExpressCheckoutPayment',甚至重新提取了付款细节,它显示'CHECKOUTSTATUS'是'PaymentActionCompleted',但它没有显示在交易标签中。 – kapitanluffy 2015-10-05 09:24:57

1

首先,我会使用常规的“发送金钱”界面从一个测试账户向另一个测试账户进行付款,并检查付款是否显示,以排除PayPal沙箱出现的可能性。

对于快速结帐,您不仅需要在用户返回到您的网站后执行GetExpressCheckoutDetails,还需要在付款显示前执行DoExpressCheckoutPayment(作为挂起或完成,具体取决于如果你不打电话给DoExpressCheckoutPayment,PayPal就会假设你的用户离开你的网站或者没有确认交易。

这是我最喜欢的关于如何做EC的参考资料: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECSimpleIntegration