Transactions de paiement
Avant de commencer
Vos requêtes API sont authentifiées à l'aide d'un jeton d'accès. Toute requête qui n'inclut pas un jeton d'accès valide renverra une erreur. Pour en savoir plus, consultez Authentification.
- UAT :
https://transactions.transactional.uat.unico.app/api/public/v1 - Production :
https://transactions.transactional.unico.app/api/public/v1
Créer une transaction
POST /credit/transaction — crée une nouvelle transaction.
Pour garantir une meilleure conversion, créez la transaction seulement après avoir terminé toute pré-authentification ou validation susceptible de finaliser l'opération avant l'expérience Vérification sans carte présente.
Le champ orderNumber doit être rempli avec le numéro de commande unique de cet achat dans le système e-commerce — utiliser un ID transactionnel distinct est incorrect. Le réutiliser peut entraîner une faible conversion (le numéro de commande aide l'utilisateur final à terminer le flux) et des erreurs API telles que replicated transaction si le même numéro de commande, CPF, BIN et les 4 derniers chiffres sont utilisés.
| En-tête | Valeur |
|---|---|
Authorization | Bearer {token} — un jeton d'accès valide. |
{
"identity": { "key": "cpf", "value": "12345678900" },
"orderNumber": "order-98765",
"company": "company-id",
"redirectUrl": "https://yourapp.com/checkout/return",
"card": {
"binDigits": "12345678",
"lastDigits": "1234",
"expirationDate": "12/2028",
"name": "John Doe"
},
"value": 199.90,
"mainContacts": [
{ "key": "phone", "value": "5543999999999" }
]
}
| Champ | Type | Requis | Description |
|---|---|---|---|
identity | object | oui | Données d'identification de l'utilisateur. |
identity.key | string | oui | Type de clé d'identification de l'utilisateur. cpf est recommandé — taux de conversion plus élevé. |
identity.value | string | oui | Valeur de la clé d'identification de l'utilisateur, sans points ni tirets. |
orderNumber | string | oui | Numéro de commande associé à la transaction. Utilisé comme index dans le portail et comme clé étrangère entre votre système et Vérification sans carte présente. |
company | string | oui | ID de l'entreprise responsable de la transaction, fourni par Unico. |
redirectUrl | string | non | URL vers laquelle rediriger l'utilisateur après la fin de la transaction (une URL HTTPS pour le web, ou un schéma d'URL pour les applications mobiles natives). |
card | object | oui | Informations sur la carte utilisée dans la transaction. |
card.binDigits | string | oui | Les 8 premiers chiffres de la carte. |
card.lastDigits | string | oui | Les 4 derniers chiffres de la carte. |
card.expirationDate | string | non | Date d'expiration de la carte. |
card.name | string | oui | Nom du titulaire de la carte. Envoyez-le correctement, en évitant les problèmes d'encodage — cette donnée est utilisée dans l'expérience utilisateur et la communication. |
value | number | oui | Valeur totale de l'achat. |
mainContacts | array | non | Liste des contacts principaux (e-mails et/ou téléphones) utilisés pour notifier l'utilisateur, lorsque Vérification sans carte présente est responsable de la notification. |
fallbackContacts | array | non | Liste des contacts de secours, déclenchés si les tentatives de notification des contacts principaux échouent. |
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "processing",
"link": "https://developers/regional-solutions/card-not-present-verification.unico.app/t/6ab1771e-dfab-4e47-8316-2452268e5481",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresAt": "2026-07-22T15:30:00Z"
}
| Champ | Description |
|---|---|
id | ID de la transaction créée. |
status | Statut actuel de la transaction. |
link | Lien lié à la transaction. |
token | Jeton signé contenant les paramètres nécessaires pour initialiser le SDK web Vérification sans carte présente. |
expiresAt | Date et heure d'expiration de la transaction, ISO 8601 (UTC). |
Si les validations déterminent que la capture biométrique n'est pas nécessaire, la réponse présente un statut différent et aucun lien de capture n'est généré :
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "fast-inconclusive"
}
Cela se produit lors de l'utilisation des modules Pre ou Super Pre pour le Checkout, conformément à la Fonctionnalité.
Pour les réponses d'erreur, consultez Erreurs — Création de transaction.
Obtenir le statut de la transaction
GET /credit/transactions/{transaction_id} — vérifie le statut actuel d'une transaction spécifique.
| En-tête | Valeur |
|---|---|
Authorization | Bearer {token} — un jeton d'accès valide. |
{
"status": "processing"
}
| Champ | Description |
|---|---|
status | Statut actuel de la transaction. |
Consultez Énumérations pour tous les statuts possibles. Pour optimiser les performances, implémentez le Webhook plutôt que d'interroger ce point de terminaison en continu.
Pour les réponses d'erreur, consultez Erreurs — Obtenir le statut de la transaction.
Obtenir le dossier probatoire de la transaction
GET /credit/transactions/{transaction_id}/probative — récupère le dossier probatoire d'une transaction spécifique.
Le dossier probatoire ne peut être généré que pour les transactions approuvées.
Le lien renvoyé pour le dossier probatoire est valide pendant cinq minutes après son obtention — ne le sauvegardez pas, utilisez-le pour télécharger le dossier probatoire immédiatement.
| En-tête | Valeur |
|---|---|
Authorization | Bearer {token} — un jeton d'accès valide. |
{
"link": "https://unico.io/probative.pdf"
}
| Champ | Description |
|---|---|
link | URL du fichier probatoire. |
Pour les réponses d'erreur, consultez Erreurs — Récupération du dossier probatoire de la transaction.
Renvoyer la notification de transaction
POST /credit/transactions/{transaction_id}/notify — renvoie les notifications par e-mail et/ou téléphone pour une transaction spécifique.
Il est également possible de configurer le renvoi de notification via le portail, sans l'implémenter via l'API. Parlez à votre point de contact projet pour comprendre les possibilités.
| En-tête | Valeur |
|---|---|
Authorization | Bearer {token} — un jeton d'accès valide. |
{
"phone": "NOTIFICATION_PHONE",
"email": "NOTIFICATION_EMAIL"
}
| Champ | Type | Requis | Description |
|---|---|---|---|
phone | string | oui | Numéro de téléphone auquel envoyer la notification. |
email | string | oui | Adresse e-mail à laquelle envoyer la notification. |
{
"id": "b50ee24c-71eb-4a5d-ade1-41c48b44c240",
"link": "https://aces.so/example"
}
| Champ | Description |
|---|---|
id | ID unique de la notification générée. |
link | Lien généré pour la notification. |
Pour les réponses d'erreur, consultez Erreurs — Renvoi de la notification de transaction.