Detalles del pago

Nuestra API ofrece flexibilidad en la estructuración de montos de pago, teniendo en cuenta varios factores que pueden contribuir al monto total de la transacción. Ya sean cargos básicos, impuestos, tarifas o propinas, nuestro sistema está diseñado para manejar diversos componentes sin problemas. Puede integrar y gestionar pagos fácilmente con diferentes elementos que contribuyen al importe total

Esta característica mejora la transparencia y la conveniencia tanto para los comerciantes como para los clientes, permitiendo un manejo fluido de los detalles de pago dentro del proceso de pago.

Importe de la cuota

Un campo dedicado (additiona_datal.order.fee_amount) le permite especificar el monto de la tarifa por sus servicios que se incluye en la transacción.

En el siguiente ejemplo, puede ver una solicitud que aclara que un monto de tarifa de 180 JPY es parte de una transacción final de 5000 JPY. Este campo es para fines informativos, el fee_amount ya está incluido en el monto final de la transacción y no se agrega por separado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments \
     --header 'X-Idempotency-Key: <Your idempotency-key>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
    "description": "Test",
    "account_id": "{{account-code}}",
    "merchant_order_id": "0000023",
    "country": "JP",
    "merchant_reference" : "reference-{{$randomUUID}}",
    "amount": {
        "currency": "JPY",
        "value": 5000.00
    },
    "customer_payer": {
        "id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
    },
    "additional_data": {
          "order": {
              "fee_amount": 180.00
          }
      },
    "workflow": "DIRECT",
    "payment_method": {
        "type":"CARD",
        "vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
        "detail": {
           "card": {
               "stored_credentials":{
                  "reason":"CARD_ON_FILE",
                  "usage": "USED"
              }
           }
        }
    }
}
'

Monto del envío

Un campo dedicado (additional_data.order.shipping_amount) le permite especificar el monto de envío que se incluye en la transacción.

En el siguiente ejemplo, puede ver una solicitud que aclara que un monto de envío de 270 JPY es parte de una transacción final de 5000 JPY. Este campo es para fines informativos, el shipping_amount ya está incluido en el monto final de la transacción y no se agrega por separado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments \
     --header 'X-Idempotency-Key: <Your idempotency-key>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
    "description": "Test",
    "account_id": "{{account-code}}",
    "merchant_order_id": "0000023",
    "country": "JP",
    "merchant_reference" : "reference-{{$randomUUID}}",
    "amount": {
        "currency": "JPY",
        "value": 5000.00
    },
    "customer_payer": {
        "id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
    },
    "additional_data": {
          "order": {
              "shipping_amount": 270.00
          }
      },
    "workflow": "DIRECT",
    "payment_method": {
        "type":"CARD",
        "vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
        "detail": {
           "card": {
               "stored_credentials":{
                  "reason":"CARD_ON_FILE",
                  "usage": "USED"
              }
           }
        }
    }
}
'

Pistas

Un campo dedicado (additiona_datal.order.tip_amount) le permite especificar el monto de las propinas que se incluyen en la transacción.

En el siguiente ejemplo, puede ver una solicitud que aclara que un monto de propina de 50 JPY es parte de una transacción final de 5000 JPY. Este campo es para fines informativos, el tip_amount ya está incluido en el monto final de la transacción y no se agrega por separado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments \
     --header 'X-Idempotency-Key: <Your idempotency-key>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
    "description": "Test",
    "account_id": "{{account-code}}",
    "merchant_order_id": "0000023",
    "country": "JP",
    "merchant_reference" : "reference-{{$randomUUID}}",
    "amount": {
        "currency": "JPY",
        "value": 5000.00
    },
    "customer_payer": {
        "id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
    },
    "additional_data": {
          "order": {
              "tip_amount": 50.00
          }
      },
    "workflow": "DIRECT",
    "payment_method": {
        "type":"CARD",
        "vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
        "detail": {
           "card": {
               "stored_credentials":{
                  "reason":"CARD_ON_FILE",
                  "usage": "USED"
              }
           }
        }
    }
}
'

Impuestos

Un conjunto dedicado de objetos (additional_data.order.taxes) le permite especificar los montos de impuestos para sus servicios que están incluidos en la transacción.

CampoTipoDescripciónEjemplo
tipo*enumTipo de impuesto.IVA
base_impositivafloatImporte base imponible del pago.10000.00
valor*floatValor del importe del impuesto a pagar.2100.00
porcentajefloatTasa de impuestos21.00
Tipo de impuestoDisponibilidadDescripción
IVACOL, ECUImpuesto sobre el Valor Añadido. También conocido como IVA.
IMPUESTO_AL_CONSUMOCOLTambién conocido como Impuesto al Consumo, en Colombia el Impuesto Nacional al Consumo es un impuesto indirecto que grava la venta de bienes y servicios específicos, como bebidas alcohólicas, cigarrillos, servicios de telefonía móvil, entre otros. La tarifa varía según el bien o servicio.
AEROPUERTO_TAXCOL, BRLEste impuesto es una tasa que se cobra a los pasajeros por el uso de las instalaciones del aeropuerto. Este impuesto varía según el aeropuerto y puede incluir tasas nacionales e internacionales.
IVA_LAW_17934UYUEn Uruguay, la Ley Nº 17.934 se refiere a las normas que establecen modificaciones y disposiciones específicas relacionadas con el Impuesto al Valor Agregado (IVA). Esta ley puede incluir normas sobre exenciones, tasas especiales y procedimientos administrativos.
IVA_LAW_19210UYUEn Uruguay, la Ley N° 19.210 establece normas adicionales o modificaciones a las normas del IVA. Esta ley puede centrarse en aspectos como la digitalización de los procesos tributarios, nuevas alícuotas impositivas o ajustes en las exenciones y tratamientos impositivos de determinados bienes y servicios.
EXENCIÓN DEL IVACOL, ECUExención del impuesto al valor agregado
Proveedor de software independienteDOMINGOImpuesto sobre las Ventas. También conocido como "Impuesto Sobre las Ventas". En la República Dominicana, el ISV, comúnmente conocido como ITBIS (Impuesto a la Transferencia de Bienes Industrializados y Servicios), es un impuesto al valor agregado que se aplica a la transferencia de bienes y servicios. El ITBIS es similar al IVA en otros países, donde el impuesto se aplica en cada etapa del proceso de producción y distribución.

En el siguiente ejemplo, puede ver una solicitud que aclara qué impuestos forman parte de una transacción final de 1000,00 USD. Este campo es para fines informativos; taxesLa estructura ya está incluida en el monto final de la transacción y no se ha agregado por separado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments \
     --header 'X-Idempotency-Key: <Your idempotency-key>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
    "description": "Test",
    "account_id": "{{account-code}}",
    "merchant_order_id": "0000023",
    "country": "US",
    "merchant_reference" : "reference-{{$randomUUID}}",
    "amount": {
        "currency": "USD",
        "value": 1000.00
    },
    "customer_payer": {
        "id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
    },
    "additional_data": {
          "order": {
              "taxes": [
                {
                  "type": "AIRPORT_TAX",
                  "tax_base":400000.00
                },
                {
                  "type": "VAT",
                  "value": 320000.00,
                  "tax_base":2000000.00
                }
              ]
          }
      },
    "workflow": "DIRECT",
    "payment_method": {
        "type":"CARD",
        "vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
        "detail": {
           "card": {
               "stored_credentials":{
                  "reason":"CARD_ON_FILE",
                  "usage": "USED"
              }
           }
        }
    }
}
'

Descuentos

Una matriz dedicada de objetos (additional_data.order.discounts) le permite especificar los descuentos que están incluidos en la transacción.

En el siguiente ejemplo, se puede ver una solicitud que aclara que una propina de 500 USD forma parte de una transacción final de 5000 USD. Este campo es informativo. discounts ya está incluido en el monto final de la transacción y no se agrega por separado.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments \
     --header 'X-Idempotency-Key: <Your idempotency-key>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
    "description": "Test",
    "account_id": "{{account-code}}",
    "merchant_order_id": "0000023",
    "country": "US",
    "merchant_reference" : "reference-{{$randomUUID}}",
    "amount": {
        "currency": "USD",
        "value": 5000.00
    },
    "customer_payer": {
        "id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
    },
    "additional_data": {
          "order": {
              "discounts": [
                {
                  "id": "10OFF",
                  "name":"Offer",
                  "unit_amount":500.00
                }
              ]
          }
      },
    "workflow": "DIRECT",
    "payment_method": {
        "type":"CARD",
        "vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
        "detail": {
           "card": {
               "stored_credentials":{
                  "reason":"CARD_ON_FILE",
                  "usage": "USED"
              }
           }
        }
    }
}
'

Validaciones de clientes

Un objeto dedicado (customer_payer.merchant_customer_validations) le permite especificar ciertas reglas de validación de clientes para consultas de prevención de fraude.

campotipodescription
cuenta_verificadaboolSi la cuenta del cliente ha sido validada anteriormente por parte del comerciante. Verdadero por defecto
email verificado.boolSi el email del cliente ha sido validado antes por parte del comerciante. Verdadero por defecto
teléfono_verificadoboolSi el teléfono del cliente se ha validado antes por parte del comerciante. Verdadero por defecto

En el siguiente ejemplo se puede ver una solicitud que aclara que el cliente ha sido verificado previamente fuera de Yuno.

[...]
  "description": "Test PIX",
    "account_id":"{{account-code}}",
    "merchant_order_id": "0000022",
    "country": "BR",
    "amount": {
        "currency": "BRL",
        "value": 50
    },
   "customer_payer": {
        "merchant_customer_id": "AA001",
        "first_name": "VALERIO",
        "last_name": "DE AGUIAR ZORZATO",
        "email": "[email protected]",
        "phone": {
                "number": "11992149494",
                "country_code": "55"
        },
        "document": {
                "document_type": "CPF",
                "document_number": "96050176876"
        },
        "merchant_customer_validations":{
          "phone_is_verified":true,
          "account_is_verified":true,
          "email_is_verified:":true
        }
    },
[...]