🎓 FormationMarchés & internationalAvancé⏱ 60 min

UPI en profondeur : intégrer et exploiter. 6 chapitres et un QCM final.

Le cours d'ingénierie du rail indien, pour une équipe qui exploite déjà du volume UPI. Lire le triplet de statut que renvoie la NPCI, instrumenter la perte propre au collect, valider une adresse virtuelle contre le mappeur central, poser un mandat AutoPay qui survit à ses fenêtres d'exécution. Puis tenir une consommation de webhooks idempotente sous la discipline de sondage imposée depuis 2025, rapprocher douze cycles de règlement, et transformer un code de refus NPCI en décision de relance.

Chapitre 1. Intent, collect, QR : mesurer la perte au lieu de la deviner.

Le statut final d'une transaction UPI se répartit sur trois champs distincts, remplis par trois acteurs différents. Le premier porte le verdict, le deuxième la cause vue par la NPCI, le troisième la cause vue par la banque du payeur. Leur décomposition constitue la mesure de référence d'une intégration mature, davantage que l'observation du parcours d'achat. Les fondre en un indicateur unique produit des tableaux de bord faux. L'archivage du seul verdict ne permet pas de distinguer une perte due au parcours du marchand d'une perte due à un établissement en difficulté.

Trois champs, trois émetteurs

ChampQui le remplitValeursCe qu'il vous apprend
ResultUPISUCCESS, FAILURE, DEEMEDLe verdict. DEEMED signale un crédit de statut inconnu : ni réussi ni échoué, à trancher plus tard par UDIR ou le back-office
ErrorCodeLa couche de service UPICodes U01 à U99, M16, S93…La cause vue par le commutateur central : duplicata, plafond, expiration, indisponibilité d'un membre
RespCodeLa banque ou le PSP dans la branche de réponseCodes à deux caractères : Z9, ZM, B3, XH…La cause vue par l'établissement : solde, code confidentiel, nature du compte, gel judiciaire
Ce que porte un message RespPay final, d'après la spécification NPCI des codes d'erreur et de réponse (version 2.9)

La spécification NPCI publie à côté de chaque code une classification, BD pour un refus commercial et TD pour un refus technique. Cette étiquette décide de ce que le marchand a le droit de tenter ensuite. Un refus commercial vient du payeur ou de son compte, et le retenter à l'identique produit le même code. Un refus technique vient d'une indisponibilité, et une seconde tentative a du sens. La NPCI a communiqué à ses membres des cibles de moins de 1 % pour les refus techniques et de moins de 5 % pour les refus commerciaux.

ModeCodes de refus qui lui sont spécifiquesCe que vous ne contrôlez pasInstrumentation à poser
Intent (upi://pay)Aucun code propre : la perte se produit avant le rail, quand l'application ne s'ouvre pas ou que le client abandonneL'installation d'une application UPI sur l'appareil, et la bascule systèmeCompter les liens émis, les retours d'application et les autorisations demandées : l'écart est votre abandon réel
QR dynamiqueX6 invalid merchant (acquéreur), PQ QR altéré sur le rail e-RUPILa qualité de lecture, l'ancienneté du QR affiché, la fraîcheur de la référence portéeHorodater la génération et l'expiration du QR ; un QR qui vit trop longtemps encaisse un montant périmé
CollectU69 COLLECT EXPIRED, classé BD, une catégorie de perte qui n'existe pas en intentLa remise de la notification, l'attention du payeur, le délai d'expiration que vous avez fixéSuivre le taux d'expiration par tranche de délai : c'est le seul réglage dont vous disposez
Les trois modes d'encaissement et la perte qui leur est propre. La comparaison utile porte sur les codes, pas sur le nombre d'écrans
⚠️
Le collect ne s'optimise pas, il se retire
U69 COLLECT EXPIRED désigne une demande de paiement que le payeur n'a pas approuvée avant son expiration. Le code est classé refus commercial. Le rail a fonctionné et le payeur n'a pas répondu. Aucune optimisation d'API ne réduit ce taux, parce que la variable en cause est le comportement du payeur. Le mode a porté la fraude la plus répandue du marché, la demande de paiement présentée comme un versement à recevoir, et la NPCI a supprimé le collect entre particuliers au 1er octobre 2025. Le maintien du collect au moment du paiement expose donc le marchand à une perte qu'aucune correction technique ne réduit, sur un mode dont la NPCI a déjà supprimé le volet entre particuliers. Le collect garde un emploi étroit, celui de relancer un impayé sur une adresse déjà connue et déjà validée.
< 1 % / < 5 %
cibles communiquées aux membres UPI pour les refus techniques et les refus commerciaux
NPCI, circulaire UPI OC n° 149 (2022) et addendum OC n° 149A du 15 juin 2022
mensuelle
fréquence de publication, banque par banque, des refus commerciaux, des refus techniques et de la disponibilité
NPCI, page « Declined (BD/TD) & Uptime »
22 716,07 M
transactions UPI sur le seul mois de juin 2026, l'échelle qui rend toute mesure fine exploitable
NPCI, statistiques produit UPI, juin 2026

L'instrumentation qui découle de cette lecture conserve à chaque tentative les trois champs de statut, la classification BD ou TD, l'identifiant de la banque du payeur et le mode d'initiation. Sans l'identifiant de la banque du payeur, les échecs du marchand ne peuvent pas être rapprochés de la publication mensuelle de la NPCI. La dégradation d'un seul établissement prend alors l'apparence d'une régression de l'application marchande. Les équipes qui pilotent leur taux d'autorisation en Inde confrontent chaque mois leur propre décomposition à celle du marché.

🎯 Question éclair
Votre tableau de bord montre une hausse des échecs UPI. Quel champ regardez-vous en premier pour savoir si la cause vous appartient ?