1

我已经在一个网站上集成了贝宝快速结账。一切似乎都很好。当客户被重定向到贝宝付款时,会出现立即付款按钮,因为我使用的是:useraction=commit,即:

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

客户从 Paypal 登录并单击“立即付款”按钮。Paypal 没有给出任何错误,一切似乎都成功了,客户被重定向到RETURNURL,但在买家或卖家账户中没有创建交易。

4

2 回答 2

8

恐怕我错过了 Paypal API 文档中的一些要点。useraction=commit不会完成交易。从 Paypal 返回后,我们仍然需要执行DoExpressCheckoutPayment才能完成交易。

于 2012-08-28T09:08:28.697 回答
2

就像 George 说的, useraction=commit 并没有完成交易。它只会更改 PayPal UI,让客户觉得他们已经在那里确认了,因此您不必在您的网站上添加确认 UI。您仍然需要在后台发出请求以确认它。

PayPal 的文档是这样说的:

重定向到 PayPal 中的 useraction URL 参数决定了买家是在 PayPal 上还是在您的网站上完成购买。如果您将用户操作设置为提交,PayPal 会将按钮文本设置为在 PayPal 查看您的信息页面上立即付款。此文本让买家知道,如果他们点击按钮,他们就完成了购买。

在 PayPal 将买家重定向到您的网站后,调用 GetExpressCheckoutDetails 和 DoExpressCheckoutPayment 让 PayPal 成功完成付款。无需等待买家互动即可致电 DoExpressCheckoutPayment。使用 GetExpressCheckoutDetails 响应中的信息填写您的订单确认页面。

于 2014-11-12T12:33:35.677 回答