【问题标题】:How do i revert/stop a transaction mid way in PayPal javascript sdk我如何在 PayPal javascript sdk 中恢复/停止交易
【发布时间】:2020-08-17 15:53:55
【问题描述】:

我是 Angular 的新手,我正在尝试将 paypal 集成为支付网关。我不知道要遵循什么流程

  paypal
  .Buttons({
    createOrder: (data, actions) => {
      return actions.order.create({
        purchase_units: [
          {
            description: this.data.description,
            amount: {
              currency_code: 'EUR',
              value: 200
            }
          }
        ]
      });
    },
    onApprove: async (data, actions) => {
      console.log(data);
      this.bookPackage(data);

    },
    onError: err => {
      console.log(err);
    }
  })
  .render(this.paypalElement.nativeElement);

我假设我调用支付网关进行交易,如果成功,我会调用我的服务器以在 onApprove 回调中预订包裹。但是,如果我的 BookPackage api 调用失败,我该怎么办。如何撤消交易?

【问题讨论】:

    标签: angular paypal paypal-sandbox


    【解决方案1】:

    批准后(在 onApprove 中)您需要捕获或至少授权 PayPal 订单。

    捕获(或授权)比您的 bookPackage 后端调用更可能失败(例如,如果信用卡被拒绝),因此您应该先进行 PayPal 捕获/授权。然后做你的书包。最后,如果您进行了授权,您确实需要在最后捕获作为第三个 API 调用。

    [如果您因 bookPackage 失败而需要“撤消”交易,请退还捕获物,或者如果您仅授权,则取消授权。]


    为获得最佳结果,您应该使用服务器端集成,并从服务器端执行所有操作。

    这里是要使用的前端代码:https://developer.paypal.com/demo/checkout/#/pattern/server

    您将需要至少两条路由,“设置交易”(意图:捕获或授权),第二条用于“捕获交易”https://developer.paypal.com/docs/checkout/reference/server-integration/

    (或者当然是授权,如果你要走更复杂的多步骤路线)

    【讨论】:

      猜你喜欢
      • 2012-03-05
      • 1970-01-01
      • 2020-10-14
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2014-05-11
      • 2019-02-28
      相关资源
      最近更新 更多