微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

万事达卡付款网关的checkout.js方法未触发完整的回调功能

如何解决万事达卡付款网关的checkout.js方法未触发完整的回调功能

我正在使用主卡checkout.js方法版本57。
在checkout.js下,有两种类型

  1. showLightbox->显示灯箱以完成付款。
  2. showPaymentPage->重定向到托管付款页面以完成付款。

使用第一种方法灯箱时,如果付款过程成功 completeCallback()函数触发。该 showlightBox 方法没有问题。

但是在付款过程之后使用 showPaymentPage 方法时,请重定向到已启动的域,但不触发 completeCallback()函数

如果我取消付款过程,如何重定向到已启动的域并触发 取消回调功能

<script src="https://nbo.gateway.mastercard.com/checkout/version/57/checkout.js" data-error="errorCallback" 
data-cancel="cancelCallback" 
data-complete="completeCallback"></script>

Checkout.configure({
    merchant: pay_det['merchant'],order: {
        amount: function() {                        
            return pay_det['amount'];
        },currency: pay_det['currebcy'],description: 'Payments',id: invID,reference : $('#id_invoice').val()
    },session : {
        id : pay_det['session_id']
    },transaction :{
        reference : 'TR'+pay_det['invID']
    },interaction: {                        
        operation : 'PURCHASE',displayControl: {
            billingAddress : 'HIDE',customerEmail  : 'HIDE',orderSummary   : 'SHOW',shipping       : 'HIDE'
        },merchant: {
            name: pay_det['amount'],address: {
                line1: pay_det['companyPrintAddress'],},}
    },});

Checkout.showPaymentPage();

function cancelCallback() {
    alert('cancelled');
}

function completeCallback(resultIndicator,sessionVersion) {
    //var invoiceID = $('#id_invoice').val();
    alert('success');
    console.log(resultIndicator);
}

如果我将 data-complete 属性值更改为未从付款网关重定向到我的域的url,还有一件事情。 表格

data-complete =“ completeCallback”

data-complete =“ https://subscription-int.com/567”

参考complete Callback函数参考时,文档说

仅在“返回商家”集成中支持完整的回调。

什么是返回商户集成

解决方法

您需要在 interaction.returnUrl NOT IN Create Checkout Session操作中提供Configure

执行此操作的另一种方法是在引用checkout.js脚本时,可以定义complete回调。提及您的returnUrl作为回调值(而不是函数),付款完成后,用户将被重定向到该URL。

重定向后,您将在resultIndicator后面附加returnUrl。将此与您在successIndicator响应期间收到的Create Checkout Session值进行比较。

MPGS Hosted Checkout Documentation

,

您可以像这样使用取消和完成回调。

<script src="https://nbo.gateway.mastercard.com/checkout/version/57/checkout.js" data-cancel="https://website.com/payment-rejected.php" data-complete="https://website.com/payment-success.php"> </script>

参考:

https://nbo.gateway.mastercard.com/api/documentation/integrationGuidelines/hostedCheckout/integrationModelHostedCheckout.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。