支付宝在上下文结帐 - 防止页面重定向

问题描述:

我正在尝试将PayPal in-context checkout集成到AngularJS应用下。一切正常:支付宝在上下文结帐 - 防止页面重定向

  1. 通过REST API我把所有的细节并得到结账标志
  2. 然后,令牌被传递到客户端应用程序
  3. 在上下文结账被称为具有一定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>

+0

我不知道你的页面的具体情况。是否有可能将用户重定向到他们所在的同一页面? (我已经为社交登录做了这个)。如果在这个过程中数据丢失了,你可能会将它存储在会话cookie中。 – zevnicsca

+0

@zevnicsca是的,它现在适用于重定向。我唯一的要求是避免任何形式的重定向 - 仅仅因为一件事 - 用户体验。所以我需要知道什么时候完成了PayPal脚本,以及如何完成(成功或错误),并使用Angular进行其余的路由。 – nidzix

+0

您可以指定如何控制Angular路由的用户体验吗?基本上,Express Checkout需要重定向,因为您需要在返回页面中执行付款,这意味着上下文弹出体验仅在付款方面提供用户授权/同意。 –

的JS基于In-上下文弹出简单地提供了一个前端体验,并且使得所述支付的一部分概述如下,

  1. 在上下文弹出和用户交互(给付款同意)序列
  2. 弹出自动关闭(由checkout.js controled,即刻)和浏览器重定向到您的desinated返回页面
  3. 呼叫execute API在返回页面完成支付
  4. 网络挂接被触发(通知你的网站有关交易状态)

什么你想中断之间#2,#3的行为,这是在付款流程的中间,你可以看看定制的定义API在您的redirect_urls对象方法PAY的有效载荷(您用于生成支付令牌),使用return_url与您的路由逻辑(通过组合URL和字符串查询)在订单确认页面上向您的客户显示相应的内容(步骤#3)

当您的客户取消/关闭弹出窗口时(步骤#2)

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

只是一定要调用execute呼叫你的回报页之后