$(function () {
$('form#validateCard').on('submit', function (e) {
jQuery(".loader_div").show();
e.preventDefault();
$.ajax({
type: 'post',
url: "/index.php?r=payCard/firstStepCard",
data: $('form#validateCard').serialize(),
dataType: 'json',
success: function (output) {
if(output.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = "
Advertencia21: "+output.message+"
";
////window.location.href = "index.php?r=payCard/error";
}else if(output.error == 1){
jQuery(".loader_div").show();
var token = output.token;
var url = output.url;
var tk = output.tk;
//abrir iframe
document.getElementById("ifrm").innerHTML = "";
document.getElementById("collection").innerHTML = "";
const ifrm = document.createElement("IFRAME");
ifrm.setAttribute("name", "collectionIframe");
ifrm.style.width = 1 + "px";
ifrm.style.height = 1 + "px";
document.body.appendChild(ifrm);
var html = "";
document.getElementById("collection").innerHTML += html;
var stepUpForm = document.querySelector("#cardinal_collection_form");
stepUpForm.submit();
window.addEventListener(
"message",
function (event) {
jQuery(".loader_div").show();
if (event.origin === "https://centinelapi.cardinalcommerce.com") {
//llamar a servicio si la respuesta de la tarjeta requiere validacion de numeros o directo a pago
$.ajax({
type: 'post',
url: "/index.php?r=payCard/secondStepCard",
data: $('form#validateCard').serialize(),
dataType: 'json',
success: function (process) {
if(process.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia21: "+process.message+"
";
window.location.href = "index.php?r=payCard/error";
}else if(process.error == 1){
jQuery(".loader_div").show();
var tokenSec = process.token;
var urlSec = process.url;
document.getElementById('inputstepup').value = tokenSec;
document.getElementById('step-up-form').action = urlSec;
$('#modalVerify').modal('show');
$('#modalVerify').on('shown.bs.modal', function () {
var stepUpForm = document.querySelector("#step-up-form");
if (stepUpForm) stepUpForm.submit();
});
document.getElementById("endverify").addEventListener("click", function() {
$('#modalVerify').modal('hide');
$.ajax({
type: 'post',
url: "/index.php?r=payCard/thirdStepCard",
data: $('form#validateCard').serialize(),
dataType: 'json',
success: function (verify) {
if(verify.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia21: "+verify.message+"
";
//window.location.href = "index.php?r=payCard/error";
}else if(verify.error == 1){
jQuery(".loader_div").show();
//pagar
$.ajax({
type: 'post',
url: "/index.php?r=payCard/paymentStepCard",
data: $('form#validateCard').serialize(),
dataType: 'json',
success: function (paystep) {
if(paystep.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia21: "+paystep.message+"
";
window.location.href = "index.php?r=payCard/error";
}else if(paystep.error == 1){
jQuery(".loader_div").hide();
//completa el pago
document.getElementById("messageCard").innerHTML = " Informe Pago: "+paystep.message+"
";
window.location.href = "index.php?r=payCard/process&idf="+tk;
console.log(paystep.message);
}else if(paystep.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+paystep.message+"
";
//window.location.href = "index.php?r=payCard/error";
}
}
});
}else if(verify.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+verify.message+"
";
//window.location.href = "index.php?r=payCard/error";
}
}
});
});
}else if(process.error == 3){
jQuery(".loader_div").show();
//llamar al servio de pago directo
console.log('pago directo');
$.ajax({
type: 'post',
url: "/index.php?r=payCard/paymentStepCard",
data: $('form#validateCard').serialize(),
dataType: 'json',
success: function (paystepD) {
if(paystepD.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia21: "+paystepD.message+"
";
window.location.href = "index.php?r=payCard/error";
}else if(paystepD.error == 1){
jQuery(".loader_div").hide();
//completa el pago
document.getElementById("messageCard").innerHTML = " Informe Pago: "+paystepD.message+"
";
window.location.href = "index.php?r=payCard/process&idf="+tk;
console.log(paystepD.message);
}else if(paystepD.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+paystepD.message+"
";
window.location.href = "index.php?r=payCard/error";
}
}
});
}else if(process.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+process.message+"
";
window.location.href = "index.php?r=payCard/error";
}
}
});
}else{
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+process.message+"
";
//window.location.href = "index.php?r=payCard/error";
}
},
10000
);
}else if(output.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia30: "+output.message+"
";
window.location.href = "index.php?r=payCard/error";
}
}
});
});
});
$(function () {
$('form#validateCardUrl').on('submit', function (e) {
jQuery(".loader_div").show();
e.preventDefault();
$.ajax({
type: 'post',
url: "/index.php?r=payCard/verificateCard",
data: $('form#validateCardUrl').serialize(),
dataType: 'json',
success: function (output) {
if(output.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia11: "+output.message+"
";
window.location.href = "index.php?r=payCard/errorUrl";
}else if(output.error == 1){
var sjwt = output.sjwt;
var cc = output.cc;
var ss = output.ss;
var tk = output.tk;
var referenceId = output.id;
document.getElementById("referenceId").value = referenceId;
var order;
var orderObject = {
Consumer: {
Account: {
AccountNumber: cc
}
}
};
order = orderObject;
Cardinal.configure({
logging:{
level:'verbose'
}
});
Cardinal.setup('init', {
jwt:sjwt,
order:orderObject
});
Cardinal.on('payments.setupComplete', function (setupCompleteData){
ss = setupCompleteData.sessionId;
console.log("setup completion");
$.ajax({
type: 'post',
url: "/index.php?r=payCard/validateCardUrl",
dataType: 'json',
data: $('form#validateCardUrl').serialize(),
success: function (process) {
if(process.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia12: "+process.message+"
";
window.location.href = "index.php?r=payCard/errorUrl";
}else if(process.error == 1){
if(process.vr == 1){
Cardinal.configure({
logging: {
debug: 'on',
level: 'verbose'
},
maxRequestRetries: 2,
payment: {
framework: 'inline',
displayExitButton: true
}
});
var jwtContainer = sjwt; //JWT original
var sAcsUrl = process.uj; //AcsURL que regresa CyberSource en el campo payerAuthEnrollReply_acsURL
var sPayload = process.pj; //PaReq que regresa CyberSource en el campo payerAuthEnrollReply_paReq
var sTransactionId = process.ij; //TransactionId que regresa CyberSource en el campo payerAuthEnrollReply_authenticationTransactionID
//console.log("AcsUrl: " + sAcsUrl);
//console.log("Payload: " + sPayload);
//console.log("TransactionId: " + sTransactionId);
var continueObj = {
AcsUrl:sAcsUrl,
Payload:sPayload
};
var orderObj = {
OrderDetails:{
TransactionId:sTransactionId
}
};
//console.log("jwtContainer: " + jwtContainer);
Cardinal.continue('cca',continueObj,orderObj);
Cardinal.on('payments.validated', function (data, ojwt) {
//console.log("jwt: " + ojwt);
//console.log("data: " + data);
switch(data.ErrorDescription){
case "Success":
// Handle successful transaction, send JWT to backend to verify
console.log("payments.validated success");
document.getElementById("llrp").value = sTransactionId;
$.ajax({
type: 'post',
url: "/index.php?r=payCard/validateCardUrl",
data: $('form#validateCardUrl').serialize(),
dataType: 'json',
success: function (ending) {
if(ending.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia13: "+ending.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+tk;
}else if(ending.error == 1){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Informe: "+ending.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+tk;
}else if(ending.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia14: "+ending.message+"
";
window.location.href = "index.php?r=payCard/errorUrl";
}
}
});
break;
case "Noaction":
// Handle no actionable outcome
console.log("payments.validated noaction");
window.location.href = "index.php?r=payCard/errorUrl";
break;
case "Failure":
console.log("payments.validated failure");
window.location.href = "index.php?r=payCard/errorUrl";
// Handle failed transaction attempt
break;
case "Error":
console.log("payments.validated error");
window.location.href = "index.php?r=payCard/errorUrl";
// Handle service level error
break;
default:
console.log("payments.validated default");
jQuery(".loader_div").hide();
window.location.href = "index.php?r=payCard/errorUrl";
}
});
} else if(process.vr == 0) {
var referenceId = process.referenceId;
document.getElementById("referenceId").value = referenceId;
if(process.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia15: "+process.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+process.token;
}else if(process.error == 1){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Informe: "+process.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+process.token;
}else if(process.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia16: "+process.message+"
";
//window.location.href = "index.php?r=payCard/errorUrl";
}
}else{
var referenceId = process.referenceId;
document.getElementById("referenceId").value = referenceId;
if(process.error == 0){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia17: "+process.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+process.token;
}else if(process.error == 1){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Informe: "+process.message+"
";
window.location.href = "index.php?r=payCard/processUrl&idf="+process.token;
}else if(process.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia18: "+process.message+"
";
//window.location.href = "index.php?r=payCard/errorUrl";
}
}
}else if(process.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia19: "+process.message+"
";
window.location.href = "index.php?r=payCard/errorUrl";
}
}
});
});
}else if(output.error == 2){
jQuery(".loader_div").hide();
document.getElementById("messageCard").innerHTML = " Advertencia20: "+output.message+"
";
window.location.href = "index.php?r=payCard/errorUrl";
}
}
});
});
})
function isNumberKey(evt)
{
var e = evt || window.event; //window.event is safer, thanks @ThiefMaster
var charCode = e.which || e.keyCode;
if (charCode > 31 && (charCode < 47 || charCode > 57))
return false;
if (e.shiftKey) return false;
return true;
}