javascript – Paypal在上下文结帐 – 阻止页面重定向

我想在AngularJS应用程序下集成PayPal
in-context checkout.一切都按预期工作:

>通过REST API我发送所有细节并获得结账TOKEN
>然后,TOKEN被传递到客户端应用程序
>使用某些TOKEN调用上下文检出

现在我想知道是否有办法防止在成功或取消方案后重定向页面.

以下是客户端应用程序中的一段代码:

<button id="t2" type="submit">Pay</button>

<script>
  window.paypalCheckoutReady = function () {
    paypal.checkout.setup("API_CREDENTIALS", {
      environment: "sandbox",
      button: ["t2"],
      click: function (event) {
        
        event.preventDefault();
        //init lightbox modal
        paypal.checkout.initXO();
        
        //start checkout flow
        paypal.checkout.startFlow(TOKEN);
      }
    });
  };
</script>

<script src="//www.paypalobjects.com/api/checkout.js" async=""></script>

最佳答案 基于JS的In-Context弹出窗口仅提供前端体验,并且如下所述构成支付顺序的一部分,

>上下文弹出窗口和用户交互(同意付款)
>弹出窗口自动关闭(由checkout.js立即控制)和浏览器重定向到您的desinated返回页面
>在退货页面中调用执行API以完成付款
>触发Webhooks(通知您的网站有关交易状态)

你试图打断的是#2和#3之间的行为,它位于支付流程的中间,你可以看到的自定义是在PAY方法的API有效负载中定义你的redirect_urls对象(你使用它)生成支付代币),使用return_url和您的路由逻辑(通过URL和字符串查询的组合)在订单确认页面上向客户显示相应的内容(步骤#3)

当客户取消/关闭弹出窗口时,cancel_url中的规则相同(步骤#2)

"redirect_urls": {
 "return_url": "http://www.return.com/routing/?stringQuery",
 "cancel_url": "http://www.cancel.com/routing/?stringQuery"
}

请务必在之后的返回页面中调用执行调用

点赞