捕获v2 PayPal订单

时间:2020-04-13 13:23:13

标签: paypal paypal-adaptive-payments paypal-rest-sdk

我正在网站上重构PayPal付款,但是我不清楚。

我已经实施了is no longer available for new integrations的自适应支付。

我想转到受支持的PayPal SDK。我认为我应该使用PayPal Checkout SDK。但是我发现旧解决方案与新解决方案之间存在显着差异。

这是我以前的流程:

  1. 在我的网站上,用户选择PayPal付款;
  2. 网站向POST发出了www.paypal.com/cgi-bin/webscr请求,并传递了一些参数。我认为最重要的是cmd=_xclick;
  3. 用户被重定向到PayPal网站,并且用户付款。立即付款
  4. 当用户再次在我的网站上重定向时,钱已经被捕获了...流量还在继续...

有了新的流程,似乎没有立即在PayPal上捕获付款。我正在关注这个example。 即使Intent = "CAPTURE",也好像是在单独的步骤中捕获了金钱:

  1. 在我的网站上,用户选择PayPal付款;
  2. 网站向POST发出/v2/checkout/orders请求。我认为最重要的是Intent="CAPTURE";
  3. 如果POST返回了200/201(老实说,我现在不记得了),用户将被重定向到Approve Paypal link并由用户付款。在这里,在Paypal网站上,用户付款。但是付款不会立即被捕获;
  4. 再次将用户重定向到我的网站时,交易只是approved ...

从这里我有一些疑问:

  1. 我认为我需要创建一个webhook并管理事件CHECKOUT.ORDER.APPROVED;
  2. 这里I really capture the order

这是正确的流程吗?对于通过两个不同的步骤来筹集资金,我不太有信心。我想立即取钱。有其他选择吗?

我不能使用Smart button,因为我需要一个可在不同付款类型之间切换的自定义按钮。

1 个答案:

答案 0 :(得分:0)

我仍然建议使用智能按钮。您可以将其配置为仅显示黄色的贝宝付款方式,如果这是您希望显示的唯一方式。使用智能按钮的优点是没有重定向。您的网站保持在后台。与重定向到PayPal网站相比,这是一种更好的付款体验。

无论您是否使用智能按钮,都需要在买方批准后捕获订单。这是必需的步骤。您不需要为此需要一个网络挂钩。批准事件将在智能按钮内触发,或者在返回您的站点后触发,然后您可以进行v2 /订单捕获。

如果您选择使用智能按钮(推荐),则以下是前端的演示模式:https://developer.paypal.com/demo/checkout/#/pattern/server

以下是一些用于自定义外观的选项,以使其适合您的其他付款方式:https://developer.paypal.com/docs/checkout/integration-features/customize-button/

相关问题