我已经完成了 SetExpressCheckout 的工作流程,但我看到了另外 2 个 API:GetExpressCheckoutDetails 和 DoExpressCheckoutPayment。我不想调用 2 个额外的网址 - 我想要直接付款。调用 SetExpressCheckout 是否足以订购在线交易?
3 回答
是的,需要 DoExpressCheckoutPayment 才能完成 PayPal Express Checkout 交易。
Express Checkout 的工作原理如下:
1. SetExpressCheckout 启动交易并返回一个 TOKEN
2. 您通过将 TOKEN 附加到一个特制的 URL
将买家重定向到 PayPal 3. 买家评论并同意购买
4. 买家被退回到您最初在 SetExpressCheckout API 调用中指定的“返回 URL”
5。现在您可以显示最终的“订单审查”页面(并可选择使用 GetExpressCheckoutDetails API 调用来获取返回订单详细信息),或立即调用 DoExpressCheckoutPayment API 调用完成交易。
如果您不调用 DoExpressCheckoutPayment,您将无法完成交易。这意味着不会有任何资金转入您的帐户。
不,据我所知并回想一下,SetExpressCheckout 是订单的准备,而 DoExpressCheckoutPayment 是交易的最终确定。
但是,如果您使用服务器 API,没有什么能阻止您在最终的同一请求中调用它们。
在这种情况下,您可能应该查看另一个 API。也许 DoDirectPayment 是你想要的?
根据我上次使用此 API 时的回忆,SetExpressCheckout 是您设置付款并确保一切有效的机会。这使您有机会显示订单确认页面,因此用户可以确认订单,然后通过 DoExpressCheckoutPayment 实际收取付款。
您不必在单独的请求中执行它们。如果您愿意,您可以在 SetExpressCheckout 后立即执行 DoExpressCheckoutPayment。