Paypal SetExpressCheckout需要DoExpressCheckout吗?

3

我已经完成了SetExpressCheckout的工作流程,但是我看到还有另外两个API:GetExpressCheckoutDetails和DoExpressCheckoutPayment。我不想调用2个额外的URL - 我想要直接付款。仅调用SetExpressCheckout是否足以在线交易下订单?

3个回答

4
是的,为了完成PayPal Express Checkout交易,需要使用DoExpressCheckoutPayment。 Express Checkout的工作方式如下:
1. SetExpressCheckout启动交易并返回TOKEN
2. 您将TOKEN附加到特殊的URL中,将买家重定向到PayPal
3. 买家查看并同意购买
4. 买家返回到您最初在SetExpressCheckout API调用中指定的“返回URL”
5. 现在您可以显示最终的“订单审核”页面(并可选择使用GetExpressCheckoutDetails API调用以检索订单详细信息),或立即调用DoExpressCheckoutPayment API调用以完成交易。
如果您不调用DoExpressCheckoutPayment,则无法完成交易。这意味着不会向您的帐户转移任何资金。

3
据我所知,SetExpressCheckout是订单准备阶段,而DoExpressCheckoutPayment是交易完成阶段。如果您使用服务器API,您可以在同一请求中调用它们。
如果您需要的是直接支付(DoDirectPayment),您可能需要查看另一个API。请注意,HTML标签将被保留。

我将查看DoDirectPayment。 - Exegesis
不,DoDirectPayment 是一个糟糕的选择。它强制我在我的网站上制作付款表单。这就是 Paypal 的用途... - Exegesis

3

据我上一次使用该API时的记忆,SetExpressCheckout是您设置支付并确保一切有效性的机会。这提供了一个机会,让用户确认订单并显示订单确认页面,然后通过DoExpressCheckoutPayment实际收取付款。

您无需分开进行。如果愿意,您可以立即在SetExpressCheckout之后进行DoExpressCheckoutPayment。


不,你不能在SetExpressCheckout之后立即调用DoExpressCheckout,因为我们需要从SetExpress中获取令牌才能导航到PayPal,获取买家ID/付款等信息并使用它来调用DoExpressCheckout。 - Ganesh Krishnan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接