Informations d'identification stockées
Selon la manière et le moment où un payment est traité, il peut provenir de transactions initiées par le client (CIT) ou de transactions initiées par le commerçant (MIT).
Pour garantir le stockage et l'utilisation responsables des informations relatives aux titulaires de cartes, Visa et Mastercard ont établi des lignes directrices et des réglementations concernant les données d'identification stockées.
Nous avons simplifié le processus pour que vous puissiez vous conformer à ces règles, ce qui vous permet de stocker en toute sécurité les détails de la carte dans Yuno pour une utilisation ultérieure tout en restant en conformité.
Important : ceci n'est pas la même chose que les abonnements.Réfléchissez à qui contrôle la récurrence :
- Identifiants enregistrés: vous contrôlez la récurrence et êtes responsable de l'envoi de chaque transaction selon votre propre calendrier et votre propre logique de récurrence.
- API d'abonnement: Yuno la contrôle. Vous fournissez des instructions une seule fois, puis Yuno envoie automatiquement les transactions en votre nom. Voir Abonnements.
- Catégorisation
- Considérations générales
- Créer un Paiement
- ID de l'accord d'abonnement
- ID de la transaction réseau
Catégorisation
| Catégorie | Transactions à l'initiative du client (CIT) | Transactions à l'initiative du commerçant (MIT) |
|---|---|---|
| Définition | Transactions initiées par le client, telles que les achats en ligne et en magasin, ou les retraits aux guichets automatiques. | Transactions initiées par le commerçant ou le prestataire de services sans la participation active du client. |
| Exemples | Comprend les achats en ligne, les achats en magasin et les retraits aux guichets automatiques. | Inclut les paiements récurrents, les renouvellements automatiques d'abonnement et la facturation récurrente. |
| Authentification | L'authentification du titulaire de la carte est généralement requise pour garantir la sécurité. | L'authentification initiale du client est nécessaire pour la mise en place de l'application, avec une authentification supplémentaire potentielle basée sur les règles de sécurité et les politiques de l'émetteur de la carte pour les transactions ultérieures. |
Déterminer si une transaction est initiée par le commerçant ou le client a des implications significatives en termes de sécurité, d'expérience utilisateur, de prévention de la fraude et de conformité réglementaire. Cela garantit un processus de payment efficace et sûr pour toutes les parties concernées.
Considérations générales
- Responsabilité: Dans le contexte de l'authentification forte du client (SCA) en vertu de la réglementation PSD2 dans l'Union européenne, le CIT exige généralement une authentification plus élevée par rapport au MIT.
- La fréquence: Les transactions MIT sont souvent récurrentes et périodiques, tandis que les CIT sont des événements plus ponctuels basés sur les actions des clients.
Créer un paiement avec type de traitement
Pour spécifier un payment avec un type de traitement, utilisez le stored_credentials à l'intérieur de la structure payment_method.detail.card lors de la création d'un payment.
| Paramètres | Type | Description |
|---|---|---|
reason | enum | Indique la raison du stockage des informations d'identification pour la transaction. CARD_ON_FILE SUBSCRIPTION UNSCHEDULED_CARD_ON_FILE |
usage | enum | Une carte de crédit peut être stockée avec ou sans payment initial. Ce champ indique si c'est la première fois que le vaulted_token/network_token est utilisé ou réutilisé. FIRST USED |
subscription_agreement_id | chaîne | L'ID de l'accord avec le client, obligatoire pour certains marchés (par exemple, MX). |
network_transaction_id | chaîne | L'identifiant fourni par Visa/Mastercard dans la réponse au payment initial, qui est fortement recommandé pour une utilisation future dans les transactions initiées par le commerçant (MIT). |
Important : remplissez tous les champs obligatoires.
- Lorsque vous travaillez avec des transactions CIT et MIT, il est essentiel de remplir correctement le champ
usage,reasonetnetwork_transaction_idchamps. Si vous ne remplissez pas correctement ces champs, cela peut entraîner taux d'approbation en baisse et perte liée aux litiges en matière de rétrofacturation.- Certains fournisseurs (par exemple, Adyen) exigent que le
reasonchamp reste cohérent tout au long du cycle de vie de la transaction. Si votre première transaction (usage=FIRST) utilisereason=SUBSCRIPTION, toutes les transactions ultérieures (usage=USED) doit également utiliserreason=SUBSCRIPTION.
Stocker les motifs d'authentification
| Raison | Description |
|---|---|
CARD_ON_FILE | payment initié par le client à l'aide d'une carte de crédit préalablement enregistrée, lorsque le titulaire de la carte est présent. Permet aux clients de payment en un seul clic pour une expérience de payment sans friction. |
SUBSCRIPTION | Utilisé pour les paiements initiés par le commerçant dans le cadre d'un abonnement. Cela ne crée pas de nouvel abonnement. Utilisez l'API d'abonnement pour la facturation récurrente automatisée. |
UNSCHEDULED_CARD_ON_FILE | Un payment initié par le commerçant à l'aide des données stockées de la carte de crédit et qui n'est pas lié à un calendrier ou à un montant d'abonnement. Payment peut être effectué à tout moment. |
Exemple de Request
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": "DE",
"merchant_reference" : "reference-{{$randomUUID}}",
"amount": {
"currency": "EUR",
"value": 5000
},
"customer_payer": {
"id":"967ecd18-d898-4b88-9400-dd5b01b18edc"
},
"workflow": "DIRECT",
"payment_method": {
"type":"CARD",
"vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
"detail": {
"card": {
"stored_credentials":{
"reason":"CARD_ON_FILE",
"usage": "USED",
"network_transaction_id":"583103536844189"
}
}
}
}
}
'Accord de souscription
Pour certains marchés (MX par exemple) et certains processeurs de paiement, lorsqu'un paiement lié à un abonnement est effectué, l'identifiant de l'accord avec le client doit être spécifié dans la demande de paiement afin de garantir un traitement correct. Pour faciliter cela, nous avons activé le subscription_agreement_id à l'intérieur du champ stored_credentials vous permettant de partager l'accord conclu avec le client.
NoteLe champ
subscription_agreement_idetnetwork_transaction_idsont des domaines indépendants. Y compris unsubscription_agreement_idne remplace pas la nécessité d'unnetwork_transaction_idLes deux doivent être fournis, le cas échéant, afin de garantir des taux d'approbation optimaux et une protection contre les rétrofacturations.
"payment_method": {
"type":"CARD",
"vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
"detail": {
"card": {
"stored_credentials":{
"reason":"CARD_ON_FILE",
"usage": "USED",
"subscription_agreement_id":"AA0001",
"network_transaction_id":"583103536844189"
}
}
}
}ID de la transaction réseau
Un identifiant de transaction réseau est un identifiant unique attribué à une transaction par le réseau de cartes. Il est utilisé pour suivre et référencer des transactions spécifiques, en particulier dans les scénarios de payment récurrents, afin d'assurer la cohérence et la traçabilité tout au long du cycle de vie du payment .
Si la transaction est initiée par le client (CIT), la référence de la transaction de réseau sera disponible dans la section card.stored_credentials.network_transaction_id champ. Ce champ représente l'identifiant de transaction pour Visa et l'identifiant de trace pour Mastercard, qui sont recommandés pour les futurs paiements d'abonnements.
"payment_method": {
"type":"CARD",
"vaulted_token": "eb8caa17-6407-457b-960e-125d8d7a90c1",
"detail": {
"card": {
"stored_credentials":{
"reason":"CARD_ON_FILE",
"usage": "USED",
"network_transaction_id":"583103536844189"
}
}
}
}Utilisation
Nous associons les network_transaction_id avec l'objet vaulted_token pour les transactions futures, de sorte que vous n'ayez pas à gérer la logique pour chaque cas. Nous effectuerons l'association lorsqu'un payment sera créé avec :
- Méthode de paiement:
- Une carte
vaulted_tokenou - Données de la carte avec
vault_on_successfixé àtrue
- Une carte
- Informations d'identification stockées:
usagefixé àFIRST
Lors de l'utilisation de
vault_on_success = trueDans le cadre d'une intégration directe, vous devez d'abord créer le client et transmettre soncustomer_payer.iddans la demande de paiement. L'envoi des coordonnées du client en ligne ne crée pas le client du côté de Yuno, de sorte que la carte ne peut pas être enregistrée et qu'aucunvaulted_tokensera renvoyé.
Si vous avez déjà le network_transaction_id pour la carte, vous pouvez l'inclure dans le payment dans le champ correspondant. Sinon, pour les paiements MIT (avec stored_credentials.usage=USED), nous enverrons le network_transaction_id associée à la vaulted_token au prestataire.
N'oubliez pas de spécifier l'utilisation dans le champ
stored_credentialsNous déclenchons la sectionnetwork_transaction_idlogique basée sur ces champs.
Mise à jour il y a environ 2 mois