Sugiero una mejora para el codigo del javascript
carmanuelz opened this issue · 1 comments
carmanuelz commented
function CulqiCheckout($params) {
var closeCallback = $params.callback,
codigo_comercio = $params.comerce_id,
informacion_venta = "",
respuesta = "",
iframe = null;
window.addEventListener("message", receiveMessage, false);
return {
abrir: abrir,
autorizado: autorizado,
denegado: denegado,
cerrar: cerrar,
setInformation: setInformation
};
function setInformation(information)
{
informacion_venta = information;
}
function abrir() {
if (informacion_venta == "") {
alert("Intente nuevamente. Si el problema persiste, contáctese con el Comercio.");
} else {
var product = "web";
var url = "/api/v1/form/" + product + "/" + codigo_comercio + "/" + informacion_venta;
iframe = document.createElement("IFRAME");
iframe.setAttribute("src", "https://integ-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);
}
}
function autorizado() {
iframe = document.getElementById('culqi_checkout_frame');
iframe.contentWindow.postMessage("autorizado", "*");
}
function denegado() {
iframe = document.getElementById('culqi_checkout_frame');
iframe.contentWindow.postMessage("denegado", "*");
}
function cerrar() {
var element = document.getElementById("culqi_checkout_frame");
if (element == null){
} else {
element.parentNode.removeChild(element);
}
}
function receiveMessage(event){
if(event.data == "checkout_cerrado"){
respuesta = event.data;
closeCallback(respuesta);
cerrar();
//console.log("Cerrando checkout:" + event.data);
} else {
respuesta = event.data;
//console.log("Informacion recibida desde el checkout:" + event.data);
closeCallback(respuesta);
}
}
}
william-muro-culqi commented
Gracias por tu sugerencia.