Guia de uso para instalar los scripts embebibles en una tienda, configurar credenciales, personalizar la experiencia y validar que el flujo quede listo para clientes reales.
Pasos de integracion
wco1... emitida con module: catalog.window.WAOMEmbedConfig antes de cargar el script solo con credencial, target y funciones locales necesarias.https://plugins.waopay.app/catalog-m/public/embed.js.Opciones comunes
| Opcion | Uso |
|---|---|
credential | Credencial publica wco1... del modulo catalog; no reemplaza al Bearer Token. |
target | Selector del contenedor donde se renderiza el catalogo. |
Configuracion desde panel
catalog-m valida la credencial y pide su configuracion remota por module-get-config.credential, target, callbacks y funciones JavaScript propias del sitio.Snippet base
<div id="waom-catalog"></div>
<script>
window.WAOMEmbedConfig = {
target: '#waom-catalog',
credential: 'wco1.k2026...'
};
</script>
<script async
src="https://plugins.waopay.app/catalog-m/public/embed.js">
</script>
Acciones, eventos y SEO
actions.add, el sitio puede conectar el boton de agregar con su propio carrito o cotizador.window.DipropolCart.addToCart(product) y despues emite eventos como waom:add, waom:cart, waom:share y waom:details.window.YSVEmbedConfig, window.YSVEmbeds, #ysv-catalog, [data-ysv-embed] y eventos ysv:*.catalog-m/public/seo-header.php desde el <head> del sitio cuando exista ?product=....https://plugins.waopay.app/catalog-m/public/seo-header.php?product=4l-botella-1&target=https%3A%2F%2Fdominio.com%2Fcatalogo&siteName=Mi%20tienda.seo.productBaseUrl puede apuntar a catalog-m/public/product.php como fallback de compartido.module: catalog.Pasos de integracion
wco1... emitida con module: checkout.data-product-id de un producto existente en el catalogo WAOPay y cantidad inicial opcional.window.WAOCheckoutConfig antes del script solo con credencial, selectores, retorno y callbacks locales necesarios.https://plugins.waopay.app/checkout-m/public/embed.js?v=20260922-1 también en la página indicada por returnUrl; Aplazo vuelve a esa página y el script completa el retorno al checkout.Opciones comunes
| Opcion | Uso |
|---|---|
credential | Credencial publica wco1... del modulo checkout; no reemplaza al Bearer Token. |
addTrigger | Selector de botones que agregan producto al carrito. |
openTrigger | Selector de botones que abren el carrito. |
returnUrl | URL del mismo origen a la que vuelve el cliente; para Aplazo debe cargar el script de checkout-m para reenviar el retorno firmado. |
messageTargetOrigin | Origen que recibira el postMessage de checkout completado. |
onAdd, onComplete, onError | Callbacks para analitica, mensajes del sitio o seguimiento de resultado. |
Configuracion desde panel
checkout-m valida la credencial y pide su configuracion remota por module-get-config.requestTimeoutMs lo fija el backend de checkout-m en 45000 ms; no se configura en el panel ni en el snippet.credential, selectores, callbacks y funciones JavaScript propias del sitio.Snippet base
<button class="js-add-product"
data-product-id="55350"
data-product-qty="1">
Agregar producto
</button>
<button class="js-open-cart">
Abrir carrito
</button>
<script>
window.WAOCheckoutConfig = {
credential: 'wco1.k2026...',
addTrigger: '.js-add-product',
openTrigger: '.js-open-cart',
origin: window.location.origin,
returnUrl: window.location.href,
messageTargetOrigin: window.location.origin,
onAdd: function (context) {
console.log('Producto agregado', context);
},
onComplete: function (context) {
console.log('Checkout completado', context);
},
onError: function (context) {
console.error(context.error);
}
};
window.addEventListener('wao:checkout:complete', function (event) {
console.log('Evento checkout completo', event.detail);
});
</script>
<script async
src="https://plugins.waopay.app/checkout-m/public/embed.js?v=20260922-1">
</script>
Boton de producto
Cada boton que sube un producto al carrito debe apuntar a un producto que ya exista en el catalogo cargado en WAOPay. El modulo consulta ese producto en WAOPay antes de agregarlo; si el ID no existe o no pertenece al comercio de la credencial, no podra subirse al carrito.
| Atributo | Requerido | Uso |
|---|---|---|
class |
Sí | Debe coincidir con addTrigger, por ejemplo js-add-product. |
data-product-id |
Sí | ID numerico del producto en el catalogo WAOPay. |
data-product-qty |
No | Cantidad inicial sugerida. Si se omite, el modulo usa 1. |
<button class="js-add-product"
data-product-id="55350"
data-product-qty="1">
Agregar producto
</button>
Uso en el sitio
WAOCheckout.add(productId, quantity), WAOCheckout.open(), WAOCheckout.checkout() y WAOCheckout.loadAndCheckout(items) desde scripts propios del sitio.WAOCheckout.loadAndCheckout(items) desde una funcion JavaScript local.Checkout directo sin carrito
Este flujo permite enviar directamente las lineas que el cliente eligio desde un carrito propio, un cotizador o una pagina de producto. checkout-m valida cada producto contra el catalogo WAOPay, reemplaza el carrito activo y abre el checkout.
<button id="wao-fast-checkout">Pagar ahora</button>
<script>
document.getElementById('wao-fast-checkout').addEventListener('click', function () {
WAOCheckout.loadAndCheckout([
{
id: 55350,
qty: 2,
attributes: {
talla: 'M',
color: 'Negro'
},
extras: [
{ name: 'Grabado', value: 'Omar' }
],
options: {
empaque: 'Regalo'
},
instructions: 'Sin etiqueta'
}
]);
});
</script>
id o product_id) y la cantidad (qty o quantity).attributes, extras u options; las instrucciones opcionales se envian en instructions.price, item_title ni cart: checkout-m obtiene esos datos desde WAOPay y valida precio e inventario antes de iniciar el pago.loadAndCheckout(items) reemplaza el carrito activo para evitar duplicados. El script embed.js y la credencial deben estar cargados antes de llamar la funcion.module: checkout.onComplete, el evento wao:checkout:complete y onError se ejecutan cuando corresponde.