Montos y monedas

El monto a cobrar puede tener algunos parámetros y condiciones adicionales que debemos teneren cuenta.

Montos decimales

Al momento de realizar la creación de una sesión de pago, Checkout utiliza la ISO 4217 para realizar validaciones y almacenamiento de los montos a pagar.

Si el dato es un monto monetario y contiene decimales, el valor indicado será redondeado en base a la ISO 4217 y posteriormente almacenado.

Moneda
Input
Monto almacenado
Descripción
USD
576.12345
576.12
Dos Decimales, redondeo a la baja
USD
576.9875
576.99
Dos Decimales, redondeo a la alta
CLP
576.12345
576
Cero Decimales, redondeo a la baja
CLP
576.9875
577
Cero Decimales, redondeo a la alta
COP
576.12345
576.12
Dos Decimales, redondeo a la baja
COP
576.9875
576.99
Dos Decimales, redondeo a la alta

Sesión de pago con dispersión

Para sesiones con dispersión, se debe tener cuidado con los decimales y la sumatoria de las transacciones a "dividir".

La suma de todas las transacciones debe coincidir con el monto total de la sesión de pago, para esto se realiza lo siguiente:

  1. Se redondea cada uno de los valores de la dispersión en base a ISO 4217.
  2. Se realiza una sumatoria de los valores anteriormente redondeados.
  3. Se compara la sumatoria de la dispersión con el payment.amount.total redondeado, si la suma es correcta, la sesión se creará con éxito.

Impuestos del monto

Los impuestos son los tributos que las personas o empresas deben pagar a alguna entidad u organización.

Dependiendo de la actividad sobre la que recaiga, se le aplica un impuesto u otro. Presentan variación en la cuantía que el interesado debe abonar. Esto se basa en la normativa que presente cada sistema tributario.

Checkout se soporta la definición de algunos de estos impuestos para que puedan ser incluidos en la sesión de pago.

El valor amount.taxes.[].kind representa el tipo de impuesto que está incluido en el pago, las opciones son:

Kind
Traducción
País
valueAddedTax
IVA
Global
exciseDuty
Impuesto
Global
ice
ICE
Global
airportTax
Tasa aeroportuaria
Colombia y Ecuador
stateTax
IVU Estatal
Puerto Rico
municipalTax
IVU Municipal
Puerto Rico
reducedStateTax
IVU Reducido
Puerto Rico

Estructura de los impuestos

Los taxes se pueden incluir dentro de la estructura amount en el atributo taxes que lleva un arreglo de objetos

Tax - Amount with Taxes

{
  "payment": {
    "amount": {
      "currency": "COP",
      "total": 10000,
      "taxes": [
        {
          "kind": "valueAddedTax",
          "amount": 1000,
          "base": 0
        },
        {
          "kind": "ice",
          "amount": 1500,
          "base": 0
        }
      ]
    }
  }
}

Detalles del monto

Los detalles del monto son datos adicionales que comunmente puede tener un pago.

Se usa para dar más información acerca del cobro hecho y se pueden mostrar al usuario en el proceso de Checkout.

El valor amount.details.[].kind representa el tipo de detalle que está incluido en el pago, las opciones son:

Kind
Traducción
discount
Descuento
additional
Adicional
vatDevolutionBase
Base devolución
shipping
Envío
handlingFee
Cuota manejo
insurance
Seguro
giftWrap
Regalo
subtotal
Subtotal
fee
Cobro
tip
Propina
airline
Aerolínea
interests
Intereses

Estructura de los detalles

Los detalles del monto estan dentro de la estructura amount en el atributo details que lleva un arreglo de objetos

Ejemplo

Detail - Amount with Details

{
  "payment": {
    "amount": {
      "currency": "COP",
      "total": 10000,
      "details": [
        {
          "kind": "tip",
          "amount": 1000
        },
        {
          "kind": "interests",
          "amount": 1500
        }
      ]
    }
  }
}