diff --git a/assets/js/hmngy-Pasarela.js b/assets/js/hmngy-Pasarela.js
index f3dafce..132f603 100644
--- a/assets/js/hmngy-Pasarela.js
+++ b/assets/js/hmngy-Pasarela.js
@@ -1,5 +1,6 @@
var apiKey;
var imagen_pasarela;
+
async function cargarEnv() {
const response = await fetch('.app_config');
const texto = await response.text();
@@ -17,13 +18,6 @@ async function cargarEnv() {
return env;
}
-// Usar
-cargarEnv().then(env => {
- // Usar las variables
- apiKey = env.apiKey_pasarela;
- imagen_pasarela = env.imagen_pasarela;
-});
-
function stripeTokenHandler(token) {
let form = document.getElementById("payment-form");
let hiddenInput = document.createElement("input");
@@ -33,8 +27,15 @@ function stripeTokenHandler(token) {
form.appendChild(hiddenInput);
}
-
-document.addEventListener("DOMContentLoaded", () => {
+// CAMBIO PRINCIPAL: Hacer que todo el DOMContentLoaded sea asíncrono
+document.addEventListener("DOMContentLoaded", async () => {
+
+ // Primero cargar el env y ESPERAR a que termine
+ const env = await cargarEnv();
+ apiKey = env.apiKey_pasarela;
+ imagen_pasarela = env.imagen_pasarela;
+
+ // Ahora sí continuar con el resto del código
fetch("https://gateway.calidadbmasconsulting.com/api/obtLavePublicaStripe", {
method: "POST",
headers: {
@@ -187,7 +188,16 @@ window.cerrarModal = function() {
setTimeout(() => (modal.style.display = "none"), 300);
}
- document.addEventListener("DOMContentLoaded", function () {
+// TAMBIÉN hacer asíncrono este DOMContentLoaded
+document.addEventListener("DOMContentLoaded", async function () {
+
+ // Esperar a que cargue el env si aún no está cargado
+ if (!apiKey || !imagen_pasarela) {
+ const env = await cargarEnv();
+ apiKey = env.apiKey_pasarela;
+ imagen_pasarela = env.imagen_pasarela;
+ }
+
const modalHTML = `
@@ -246,16 +256,15 @@ window.cerrarModal = function() {
`;
document.body.insertAdjacentHTML("beforeend", modalHTML);
- // Crear la URL completa
+ // Crear la URL completa
const base64Url = `data:image/webp;base64,${imagen_pasarela}`;
// Cambiar solo la imagen del CSS
const header = document.querySelector(".modal-header-personalizada");
header.style.backgroundImage = `url('${base64Url}')`;
+
const script = document.createElement('script');
script.src = '../../config.js';
script.type = 'text/javascript';
document.body.appendChild(script);
-
-
});
\ No newline at end of file
diff --git a/assets/js/hmngypasarela.js b/assets/js/hmngypasarela.js
index d0f806d..fd0a530 100644
--- a/assets/js/hmngypasarela.js
+++ b/assets/js/hmngypasarela.js
@@ -1,5 +1,6 @@
var apiKey;
var imagen_pasarela;
+
async function cargarEnv() {
const response = await fetch('.app_config');
const texto = await response.text();
@@ -17,13 +18,6 @@ async function cargarEnv() {
return env;
}
-// Usar
-cargarEnv().then(env => {
- // Usar las variables
- apiKey = env.apiKey_pasarela;
- imagen_pasarela = env.imagen_pasarela;
-});
-
function stripeTokenHandler(token) {
let form = document.getElementById("payment-form");
let hiddenInput = document.createElement("input");
@@ -33,8 +27,15 @@ function stripeTokenHandler(token) {
form.appendChild(hiddenInput);
}
-
-document.addEventListener("DOMContentLoaded", () => {
+// CAMBIO PRINCIPAL: Hacer que todo el DOMContentLoaded sea asíncrono
+document.addEventListener("DOMContentLoaded", async () => {
+
+ // Primero cargar el env y ESPERAR a que termine
+ const env = await cargarEnv();
+ apiKey = env.apiKey_pasarela;
+ imagen_pasarela = env.imagen_pasarela;
+
+ // Ahora sí continuar con el resto del código
fetch("http://127.0.0.1:8000/api/obtLavePublicaStripe", {
method: "POST",
headers: {
@@ -187,7 +188,16 @@ window.cerrarModal = function() {
setTimeout(() => (modal.style.display = "none"), 300);
}
- document.addEventListener("DOMContentLoaded", function () {
+// TAMBIÉN hacer asíncrono este DOMContentLoaded
+document.addEventListener("DOMContentLoaded", async function () {
+
+ // Esperar a que cargue el env si aún no está cargado
+ if (!apiKey || !imagen_pasarela) {
+ const env = await cargarEnv();
+ apiKey = env.apiKey_pasarela;
+ imagen_pasarela = env.imagen_pasarela;
+ }
+
const modalHTML = `
@@ -246,16 +256,15 @@ window.cerrarModal = function() {
`;
document.body.insertAdjacentHTML("beforeend", modalHTML);
- // Crear la URL completa
+ // Crear la URL completa
const base64Url = `data:image/webp;base64,${imagen_pasarela}`;
// Cambiar solo la imagen del CSS
const header = document.querySelector(".modal-header-personalizada");
header.style.backgroundImage = `url('${base64Url}')`;
+
const script = document.createElement('script');
script.src = '../../config.js';
script.type = 'text/javascript';
document.body.appendChild(script);
-
-
});
\ No newline at end of file