Saltar al contenido principal
Los datos Nivel 2 y Nivel 3 son detalle adicional de la orden que envías con un pago con tarjeta. Cuando el titular usa una tarjeta empresarial, de compras o corporativa, las redes de tarjetas pueden cobrar un interchange menor en las transacciones que lo incluyen. Importa sobre todo en ventas B2B y a gobierno en Estados Unidos, y no tiene efecto en tarjetas de consumo.
Therius reenvía los datos. Que un pago califique o no para la tarifa menor lo deciden la red de tarjetas, el emisor y tu adquirente, según el tipo de tarjeta, tu categoría de comercio y los montos.

Activa con commercialData

Agrega un objeto commercialData en la raíz de una solicitud de tarjeta POST /payment/purchase o POST /payment/authorization, junto a lineItems. El detalle de Nivel 3 se lee de lineItems solo cuando commercialData está presente. Para Nivel 2 basta con customerReference y el monto del impuesto. Para Nivel 3, agrega además los siguientes campos a cada ítem de lineItems:

Los montos deben cuadrar

Therius verifica la aritmética antes de llamar al proveedor y devuelve un 400 con la diferencia exacta si no cuadra:
El amount de cada línea es su total con impuesto, como en el ejemplo siguiente.
Aquí las líneas netas suman 9,500 + 2,000 = 11,500, el impuesto es 900 + 100 = 1,000 y el flete es 300, para un total de 12,800.
Si envías un taxAmount a nivel de orden y también valores de taxAmount por línea, deben coincidir. Envía el impuesto en un solo nivel si lo prefieres.

Envíalo en la captura

Si autorizas primero y capturas después, puedes enviar commercialData y lineItems en el cuerpo de POST /payment/{id}/capture. Hazlo cuando no enviaste los datos con la autorización, o cuando el monto capturado o las líneas difieren de ella. Aplican las mismas reglas, verificadas contra el amount de la captura.

Las sesiones de checkout bloquean los datos

Cuando creas una sesión de checkout con POST /sdk/session, pasa ahí commercialData y lineItems. La sesión los bloquea: un pago hecho con el token de la sesión siempre usa los valores bloqueados e ignora cualquier commercialData de la llamada de pago, porque esa llamada puede venir del navegador. Un pago que tu servidor hace con una clave de API privada envía su propio commercialData.

Qué envía cada conexión

Las demás conexiones de tarjeta ignoran commercialData; el pago se procesa normalmente. Cada adquirente es estricto con lo que acepta, y Therius nunca rechaza ni hace fallar un pago porque falten datos mejorados o sean rechazados. Cuando los datos no alcanzan, Therius envía lo que puede:
  • Adyen exige customerReference e impuesto en ambos niveles, un impuesto distinto de cero para Nivel 2 y, en cada línea, productCode (hasta 12 caracteres), unitOfMeasure (hasta 3 caracteres) y commodityCode (hasta 12 caracteres). Si a una línea le falta alguno, Therius envía solo Nivel 2. Las descripciones se recortan a 26 caracteres.
  • Stripe usa tu orderCode como referencia de la orden y envía el impuesto a nivel de orden. El código de producto, la unidad de medida y el código de commodity son opcionales para la solicitud, pero se necesitan para recibir tarifas de Nivel 3. Si la versión de API de tu cuenta de Stripe aún no admite payment line items, Therius envía el pago sin los datos.
  • NMI acepta hasta 99 ítems de línea. Con más, Therius envía solo los campos a nivel de orden.

Qué no se incluye

  • Los datos Nivel 2/3 son para pagos con tarjeta. Se ignoran en métodos de pago alternativos y billeteras que se liquidan fuera de las redes de tarjetas.
  • Los reembolsos y las cancelaciones no los llevan.
  • No se admiten los campos de aranceles, IVA/VAT ni descuento a nivel de orden. Pon los descuentos en los ítems de línea.