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:
Descargable ArgentinaDescargable ChileDescargable México💡 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.jsque se menciona al final de la página.
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éxicoPresione el botón Guardar para almacenar los cambios correctamente.

Luego repetir el procedimiento para el archivo 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.


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