Tilopay.Init()
SDK 2.1.1Inicia una compra. Autentica el checkout con el token del SDK y devuelve los métodos de pago disponibles para vos.
Para guardar una tarjeta sin cobrarla, usá
Tilopay.InitTokenize().
Firma#
await Tilopay.Init({ /* parámetros */ })Parámetros#
URL a la que Tilopay notifica el resultado de pagos con SINPE Móvil y Yappy.
Token del SDK, obtenido por tu backend con POST /api/v1/loginSdk. Ver
token del SDK.
Moneda de la compra, ISO 4217.
Idioma del checkout: es o en.
Monto de la compra.
Correo del cliente. Es necesario para que la respuesta traiga las tarjetas guardadas.
Número de orden. No se puede repetir. Ver reintentos seguros.
Tipo de identificación del cliente. Obligatorio para SINPE Móvil. Ver la tabla de tipos.
Número de identificación del cliente. Obligatorio para SINPE Móvil.
Nombre del cliente.
Apellidos del cliente.
Dirección 1 del cliente.
Dirección 2 del cliente.
Ciudad.
Provincia o estado.
Código postal.
País, ISO 3166-1 alpha-2.
Teléfono del cliente.
Nombre de quien recibe el envío.
Apellidos de quien recibe el envío.
Dirección 1 de envío.
Dirección 2 de envío.
Ciudad de envío.
Provincia o estado de envío.
Código postal de envío.
País de envío, ISO 3166-1 alpha-2.
Teléfono de envío.
0 autoriza; 1 autoriza y captura.
URL donde el SDK renderiza la respuesta final de la compra.
1 guarda la tarjeta del cliente en Tilopay; 0 no la guarda.
Valores "V1" o "V2". Si no se envía, el hash de la respuesta final se fabrica con
V2. Se envía en esta primera llamada.
Se devuelve tal cual en la respuesta final del pago y se recupera en la URL de respuesta de la transacción. Soporta hasta 65.535 caracteres, aunque un valor muy extenso puede afectar la URL de respuesta. Podés enviar un array serializado en base64 para que cumpla el formato de string.
Teléfono Yappy. Obligatorio cuando se paga con Yappy. No se toma del DOM.
Llamada#
const init = await Tilopay.Init({
token: "<token_del_sdk>",
currency: "CRC",
language: "es",
amount: 100.0,
billToEmail: "cliente@ejemplo.com",
orderNumber: "ORD-2026-000123",
billToFirstName: "Ana",
billToLastName: "Rojas",
billToCountry: "CR",
capture: 1,
redirect: "https://ejemplo.com/respuesta",
subscription: 0,
});Respuesta#
{
"message": "Success",
"environment": "PROD",
"sinpemovil": { "code": "TB095", "amount": "100.00" },
"methods": [
{ "id": "<id_del_metodo_tarjeta>", "name": "Tarjeta", "type": "card", "apple_pay": 0 },
{ "id": "<id_del_metodo_sinpe>", "name": "SINPE Móvil", "type": "sinpemovil", "apple_pay": 0 }
],
"cards": [
{ "id": "411112555451111:Ref", "name": "4111********1111", "brand": "visa" }
],
"applePaySupported": false
}Success, o la descripción del error.
Objeto con code y amount, presente cuando tenés SINPE Móvil. Los datos
completos, incluido el teléfono destino, se obtienen con
getSinpeMovil().
Arreglo de {id, name, type, apple_pay} con los métodos de pago disponibles. type vale card, sinpemovil o yappy; cada método trae apple_pay (0 o 1).
Arreglo de {id, name, brand} con las tarjetas guardadas del cliente.
true cuando se cumplen los requisitos de Apple Pay para ese
dominio y navegador.
En caso de error#
En caso de error:
{
"message": "<descripción del error>",
"methods": [],
"cards": []
}Formato del id de método de pago#
No interpretes el id: guardalo tal cual como valor del select y usá el campo type de cada
método (card, sinpemovil o yappy) para decidir qué campos mostrar.
Yappy#
El método trae type: "yappy"; su id tiene la forma <configId>:18:<merchantId>:….
El formulario necesita los campos obligatorios de Init() más phoneYappy. Al llamar startPayment(), el SDK redirige a una página de Tilopay que abre Yappy; el cliente aprueba el pago en su app. Al terminar, Tilopay notifica al webhook (si se envió) y redirige a tu redirect con code, auth, order y OrderHash. Si cancela, la orden queda rechazada; sin respuesta en 7 minutos, queda como “Transacción expirada”.
Tarjetas guardadas#
- Para que la respuesta traiga
cardses obligatorio enviarbillToEmail. - Una vez obtenidas las tarjetas, el correo ya no se puede cambiar con
updateOptions(). - El cliente puede elegir una tarjeta guardada o digitar una nueva.
- Al elegir una tarjeta guardada, habilitá
tlpy_cvvpara que el cliente digite el código.
Última verificación: 2026-10-22