Paypal在上下文结帐中 - 阻止页面重定向

时间:2016-06-09 16:37:14

标签: javascript angularjs redirect paypal

我正在尝试在AngularJS应用下集成PayPal in-context checkout。一切都按预期工作:

  1. 通过REST API我发送所有详细信息并获取结账TOKEN
  2. 然后,TOKEN被传递到客户端应用程序
  3. 使用某些TOKEN
  4. 调用上下文结帐

    现在,我想知道是否有办法在成功或取消后的情景中阻止重定向页面

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

    <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>

1 个答案:

答案 0 :(得分:1)

基于JS的In-Context弹出式窗口只提供前端体验,并构成如下所述的付款顺序的一部分,

  1. 上下文弹出式菜单和用户互动(同意付款)
  2. 弹出式自动关闭(由checkout.js立即控制),浏览器重定向到您的已停止的返回页面
  3. 在退货页面中调用execute API以完成付款
  4. 触发Webhooks(通知您的网站有关交易状态)
  5. 您尝试中断的是#2和#3之间的行为,它位于付款流程的中间,您可以查看的自定义是定义您的redirect_urls对象PAY方法的API有效负载(用于生成付款令牌),使用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"
    }
    

    请务必在之后的返回页面中调用execute来电