Détails de Paiement

Notre API offre une flexibilité dans la structuration des montants de paiement, s'adaptant à divers facteurs qui peuvent contribuer à la somme totale de la transaction. Qu'il s'agisse de frais de base, de taxes, de commissions, ou de pourboires, notre système est conçu pour gérer de manière transparente des composants variés. Vous pouvez facilement intégrer et gérer des paiements avec différents éléments contribuant au montant global :

Cette fonctionnalité améliore la transparence et la commodité tant pour les commerçants que pour les clients, permettant une gestion fluide des détails de paiement dans le processus de paiement.

Montant des Frais

Un champ dédié (additiona_datal.order.fee_amount) vous permet de spécifier le montant des frais pour vos services qui est inclus dans la transaction.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie qu'un montant de frais de 180 JPY fait partie d'une transaction finale de 5000 JPY. Ce champ est à titre informatif, le fee_amount sont déjà inclus dans le montant total de la transaction et n'est pas ajouté séparément.

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"
              }
           }
        }
    }
}
'

Montant de l'expédition

Un champ dédié (additional_data.order.shipping_amount) vous permet de spécifier le montant de l'expédition qui est inclus dans la transaction.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie qu'un montant d'expédition de 270 JPY fait partie d'une transaction finale de 5000 JPY. Ce champ est à titre informatif, le shipping_amount sont déjà inclus dans le montant total de la transaction et n'est pas ajouté séparément.

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"
              }
           }
        }
    }
}
'

Pourboires

Un champ dédié (additiona_datal.order.tip_amount) vous permet de spécifier le montant des pourboires qui est inclus dans la transaction.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie qu'un montant de pourboire de 50 JPY fait partie d'une transaction finale de 5000 JPY. Ce champ est à titre informatif, le tip_amount sont déjà inclus dans le montant total de la transaction et n'est pas ajouté séparément.

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"
              }
           }
        }
    }
}
'

Taxes

Un tableau d'objets dédié (additional_data.order.taxes) vous permet de spécifier les montants des taxes pour vos services qui sont inclus dans la transaction.

ChampTypeDescriptionExemple
type*enumType de taxe.TVA
base_fiscaleflotteurMontant de la base imposable pour le paiement.10000.00
valeur*flotteurValeur du montant de la taxe pour le paiement.2100.00
pourcentageflotteurTaux d'imposition21.00
Type de TaxeDisponibilitéDescription
TVACOL, ECUTaxe sur la valeur ajoutée. Aussi connue sous le nom d'TVA.
TAXE_CONSOMMATIONCOLAussi connu sous le nom de "Impuesto al consumo". En Colombie, l'Impôt National à la Consommation est une taxe indirecte appliquée à la vente de biens et services spécifiques, tels que les boissons alcoolisées, les cigarettes, les services de téléphonie mobile, entre autres. Le taux varie selon le bien ou le service.
TAXE_AÉROPORTUAIRECOL, BRLCette taxe est une redevance facturée aux passagers pour l'utilisation des installations aéroportuaires. Cette taxe varie selon l'aéroport et peut inclure des tarifs nationaux et internationaux.
LOI_TVA_17934UYUEn Uruguay, la Loi n° 17.934 fait référence aux réglementations qui établissent des modifications et des dispositions spécifiques relatives à la Taxe sur la Valeur Ajoutée (TVA). Cette loi peut inclure des réglementations sur les exonérations, les taux spéciaux et les procédures administratives.
LOI_TVA_19210UYUEn Uruguay, la Loi n° 19.210 établit des réglementations supplémentaires ou des modifications aux règles de la TVA. Cette loi peut se concentrer sur des aspects tels que la numérisation des processus fiscaux, de nouveaux taux d'imposition ou des ajustements dans les exonérations et les traitements fiscaux de certains biens et services.
EXONÉRATION_TVACOL, ECUExonération de Taxe sur la Valeur Ajoutée.
ISVDOMTaxe de Vente. Aussi connue sous le nom d'"Impuesto Sobre las Ventas". En République dominicaine, l'ISV, communément appelé ITBIS (Impuesto a la Transferencia de Bienes Industrializados y Servicios), est une taxe sur la valeur ajoutée appliquée au transfert de biens et services. L'ITBIS est similaire à la TVA dans d'autres pays, où la taxe est prélevée à chaque étape du processus de production et de distribution.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie quelles taxes font partie d'une transaction finale de 1000,00 USD. Ce champ est à titre informatif, la structure taxesest déjà incluse dans le montant total de la transaction et n'a pas été ajoutée séparément.

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"
              }
           }
        }
    }
}
'

Réductions

Un tableau d'objets dédié (additional_data.order.discounts) vous permet de spécifier les réductions qui sont incluses dans la transaction.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie qu'un montant de réduction de 500 USD fait partie d'une transaction finale de 5000 USD. Ce champ est à titre informatif, les discounts sont déjà inclus dans le montant total de la transaction et n'est pas ajouté séparément.

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"
              }
           }
        }
    }
}
'

Validations Client

Un objet dédié (customer_payer.merchant_customer_validations) vous permet de spécifier certaines règles de validation client pour les demandes de prévention de la fraude.

champTypeDescription
compte_est_vérifiéboolSi le compte du client a été validé auparavant du côté du commerçant. Vrai par défaut.
email_est_vérifiéboolSi l'e-mail du client a été validé auparavant du côté du commerçant. Vrai par défaut.
téléphone_est_vérifiéboolSi le téléphone du client a été validé auparavant du côté du commerçant. Vrai par défaut.

Dans l'exemple suivant, vous pouvez voir une requête qui clarifie que le client a été préalablement vérifié en dehors 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
        }
    },
[...]