oh! Gift Card - VTEX Docs

Asociación de scripts

Asociación de scripts

Configuración de scripts

Opción de entrega basado en la planilla de costo

Si elegiste el cálculo de opción de entrega y recogida basado en la planilla de costo de envío, deberás ingresar los siguientes scripts según el país correspondiente:

💡 Recuerda que al ingresar el script deberás presionar 'Guardar' para que se almacenen los cambios y completar el script de confirmación en el archivo checkout-confirmation4-custom.js que se menciona al final de la página.

Descargable ArgentinaDescargable ChileDescargable México

Opción de entrega basado en las coordenadas

Si elegiste el cálculo de opción de entrega y recogida basado en coordenadas geográficas, deberás copiar y pegar el siguiente script:

Descargable ArgentinaDescargable ChileDescargable México

Presione el botón Guardar para almacenar los cambios correctamente.

Tienda

Luego repetir el procedimiento para el archivo checkout-confirmation4-custom.js.

Tienda

checkout-confirmation4-custom.js
// WARNING: THE USAGE OF CUSTOM SCRIPTS IS NOT SUPPORTED. VTEX IS NOT LIABLE FOR ANY DAMAGES THIS MAY CAUSE. THIS MAY BREAK YOUR STORE AND STOP SALES. IN CASE OF ERRORS, PLEASE DELETE THE CONTENT OF THIS SCRIPT.
const isGiftcard = (item) => {
const categoryValues = Object.values(item.additionalInfo.categories).map(
(categoryObject) => categoryObject.name
);
return categoryValues.includes('ohgiftcard');
};
const isPureGiftcardCart = (items) => {
if (!items || !items.length) return false;
for (const item of items) {
if (!isGiftcard(item)) return false;
}
return true;
};
const getOrderById = (orderId) => {
return new Promise((resolve, reject) => {
fetch(`/api/oms/pvt/orders/${orderId}`)
.then((data) => data.json())
.then(resolve)
.catch(reject);
});
};
const getOrderId = () => {
const elem = document.getElementById('order-id');
if (!elem) return;
const orderId = elem.textContent.split('#')[1];
return orderId;
};
const hideHtmlElement = (element) => {
if (element) {
element.style.display = 'none';
element.classList.add('hiddenByScript');
}
};
const hideElementById = (id) => hideHtmlElement(document.getElementById(id));
const hideElementsByClassName = (className) => {
const arrayOfElements = document.getElementsByClassName(className);
for (const element of arrayOfElements) hideHtmlElement(element);
};
const hideAllShippingInfo = () => {
const container = document.querySelector('.address-summary').parentElement.parentElement.parentElement;
hideHtmlElement(container);
hideElementsByClassName('bg-light-gray ph3');
};
const hideNecessaryInformation = async () => {
const orderId = getOrderId();
if (!orderId) return;
const { items } = await getOrderById(orderId);
if (isPureGiftcardCart(items)) hideAllShippingInfo();
};
const defer = (method) => {
const elem = document.getElementById('order-id');
if (elem) return method();
setTimeout(() => {
defer(method);
}, 500);
};
document.addEventListener('DOMContentLoaded', () => defer(hideNecessaryInformation));

Presione el botón Guardar para almacenar los cambios correctamente.

Tienda

Tienda

¡Listo! Culminaste la configuración del checkout de tu tienda VTEX 🔥 y ya tus clientes podrán realizar sus compras correctamente.