var checkout = { codigo_comercio: "", informacion_venta: "", respuesta: "", abrir: function () { if (checkout.informacion_venta == "") { alert("Intente nuevamente. Si el problema persiste, contáctese con el Comercio."); } else { if (document.querySelector('.culqi_checkout') == null) { var product = "web"; var url = "/api/v1/form/" + product + "/" + checkout.codigo_comercio + "/" + checkout.informacion_venta; iframe = document.createElement("IFRAME"); iframe.setAttribute("src", "https://pago.culqi.com" + url); iframe.setAttribute("id", "culqi_checkout_frame"); iframe.setAttribute("name", "checkout_frame"); iframe.setAttribute("class", "culqi_checkout"); iframe.setAttribute("allowtransparency", "true"); iframe.setAttribute("frameborder", "0"); iframe.style.zIndex = 99999; iframe.style.display = "block"; iframe.style.backgroundColor = "rgba(0,0,0,0)"; iframe.style.border = "0px none trasparent"; iframe.style.overflowX = "hidden"; iframe.style.overflowY = "auto"; iframe.style.visibility = "visible"; iframe.style.margin = "0px"; iframe.style.position = "fixed"; iframe.style.left = "0px"; iframe.style.top = "0px"; iframe.style.width = "100%"; iframe.style.height = "100%"; iframe.style.backgroundPosition = "initial initial"; iframe.style.backgroundRepeat = "initial initial"; document.body.appendChild(iframe); } else { alert("Ha ocurrido un problema, contáctese con el comercio."); checkout.cerrar(); } } }, autorizado: function () { iframe = document.getElementById('culqi_checkout_frame'); iframe.contentWindow.postMessage("autorizado", "*"); }, denegado: function () { iframe = document.getElementById('culqi_checkout_frame'); iframe.contentWindow.postMessage("denegado", "*"); }, cerrar: function () { var element = document.getElementById("culqi_checkout_frame"); if (element == null) {} else { element.parentNode.removeChild(element); } } }; function receiveMessage(event) { if (event.data == "checkout_cerrado") { checkout.respuesta = event.data; culqi(checkout); checkout.cerrar(); } else if (event.data == "parametro_invalido") { checkout.respuesta = event.data; culqi(checkout); checkout.cerrar(); } else if (event.data == "venta_expirada") { checkout.respuesta = event.data; culqi(checkout); checkout.cerrar(); } else if (event.data == "error") { checkout.respuesta = event.data; culqi(checkout); checkout.cerrar(); } else { try { var obj = JSON.parse(event.data); var venta_id = obj["id"]; var venta = obj["venta"]; if (venta_id == "Culqi") { console.log("Se completó el proceso de pago, respuesta enviada al comercio."); checkout.respuesta = venta; culqi(checkout); } else { //console.log("No es de CULQI" + event.data); } } catch(err) { console.log(":("); } } } window.addEventListener("message", receiveMessage, false);