使用AngularJS进行Paypal Express结账

Paypal Express Checkout with AngularJS

本文关键字:Express 结账 Paypal 进行 AngularJS 使用      更新时间:2023-09-26

有人成功地将PayPal Express Checkout API集成到AngularJS网络应用程序中吗?我试着将"在上下文中"的整合步骤融入到我棱角分明的网站中;然而,它只能正常工作一次。

我的场景是:

  • 我在页面上有贝宝按钮
  • 单击贝宝按钮调用paypal.checkout.initXO(),然后进行服务器端调用以生成快速结账令牌
  • 当调用返回时,我将令牌传递到paypal.checkout.startFlow(tokenFromServer)
  • 贝宝API创建一个弹出窗口并收集我的贝宝帐户信息
  • 当我生成快速结账令牌时,浏览器会根据我在服务器端设置的内容导航到我的确认页面

正如我上面所说的,这一次效果很好;PayPal API将浏览器导航到我的确认页面,正如我所期望的那样。然而,在使用paypal弹出窗口完成后,随后尝试使用快速结账API不会在浏览器中导航。刷新浏览器可以让我再次使用快速结账。

我在Javascript控制台中没有看到任何错误。

同时,我将其添加到ui.router状态,这是我"购买"工作流程的起点:

.state("example.buy.the.thing", {
    url: "/buy",
    templateUrl: "path/to/my/template.html",
    controller: ["$window", ($window) => {
        if ($window.needsPaypalRefresh) {
            $window.location.reload();
        }
        $window.needsPaypalRefresh = true;
    }]
})

它在随后访问此状态时刷新页面,从而重置PayPal API。它有效。它很难看,但它有效。