Widget

Implementación del Widget

El widget de PaymentsWay es un checkout embebido que se abre directamente dentro de tu página — el cliente paga sin salir de tu sitio. A diferencia del botón de pago, no hay redirecciones: el formulario aparece sobre tu propio sitio como una capa flotante.

Sin redirección

El cliente paga sin salir de tu sitio. Mejor experiencia de compra.

3 líneas de código

CSS + JS + inicialización. Compatible con cualquier framework.

Monto actualizable

Puedes cambiar el monto dinámicamente antes de abrir el widget.

Pagos recurrentes

Soporta suscripciones con intervalo configurable.

Widget vs Botón de Pago

CaracterísticaWidgetBotón de Pago
RedirecciónNo — se abre en tu páginaSí — va al portal PW
InstalaciónCSS + JS + 3 líneasSolo un formulario HTML
ExperienciaCheckout flotantePágina completa
Pagos recurrentes✓ Soportado✗ No disponible
Monto dinámico✓ updateAmount()✗ Fijo en el form

El orden de carga importa: primero el CSS, luego el JS, finalmente el script de inicialización.

1 — Hoja de estilos

HTML
<link rel="stylesheet"
      href="https://merchant.paymentsway.co/assetsWidget/css/index.css" />

2 — Script (final del body)

HTML
<script src="https://merchant.paymentsway.co/assetsWidget/js/index.js"></script>

3 — Inicializar

JavaScript
const checkout = new widgetCheckout({
  merchant_id      : 'tu-merchant-id',
  form_id          : 'tu-form-id',
  terminal_id      : 'tu-terminal-id',
  order_number     : generateOrderNumber(7),
  amount           : '50000',
  currency         : 'COP',
  order_description: 'Compra en mi tienda',
  apikey           : 'tu-api-key',
  ip               : '0.0.0.0',
});

// Actualizar monto dinámicamente
checkout.updateAmount(75000);

Parámetros

CampoTipoDescripciónReq.
merchant_idstringID del comercio desde la consola.Sí
form_idstringID del botón de pago.Sí
order_numberstringIdentificador único de la orden.Sí
amountstringMonto a cobrar.Sí
currencystringCOP, USD o EUR.Sí
apikeystringAPI Key de la consola.Sí
redirectstringURL de retorno al finalizar.No
additionalDataobjectDatos extra que retorna el webhook.No

En esta página