使用 AngularJS 的 Paypal Express 结帐

Posted

技术标签:

【中文标题】使用 AngularJS 的 Paypal Express 结帐【英文标题】:Paypal Express Checkout with AngularJS 【发布时间】:2016-11-29 01:15:54 【问题描述】:

有没有人成功地将 PayPal Express Checkout API 集成到 AngularJS 网络应用程序中?我试图将"in-context" integration steps 调整到我的角度站点中;但是,它只能正常工作一次。

我的情况是这样的:

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

正如我上面所说,这一次可以正常工作;正如我所期望的那样,PayPal API 将浏览器导航到我的确认页面。但是,在完成贝宝弹出窗口后,后续尝试使用快速结帐 API 时不会导航浏览器。刷新浏览器让我可以再次使用快速结帐。

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

【问题讨论】:

拒绝投票者:任何 cmets? 您可能应该多展示一些代码。 【参考方案1】:

与此同时,我已将此添加到 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。有用。这很丑陋,但它有效。

【讨论】:

以上是关于使用 AngularJS 的 Paypal Express 结帐的主要内容,如果未能解决你的问题,请参考以下文章

带有 angularjs 的 Paypal API

使用 nodejs、angularjs 和 paypal sdk 付款结果 cors 错误

Angularjs Paypal 集成没有找到要遵循的特定路径

Paypal 不接受 angularjs 中的 FORM

Paypal 与 angularjs $http.post 请求

使用 Braintree SDK 在 Android 中支付 PayPal