Récupérer le statut d’une demande
d’initiation de paiement
➤ Cas d'usage
Cette méthode permet au PISP d'obtenir le statut d’une demande d’initiation de paiement précédemment envoyée à l’ASPSP, et pour un PSU donné.
➤ Prérequis
Pour procéder à cette requête il est nécessaire de remplir les prérequis d’éligibilité et d'avoir récupéré le jeton d'accès OAUTH2 (voir la rubrique "Récupérer un jeton").
Le TPP a déjà envoyé une requête qui a été enregistrée par l'ASPSP et à laquelle l'ASPSP a répondu avec un lien de localisation vers la demande d'initation de paiement ou de virement sauvegardée.
➤ Requête
GET /payment-requests/{paymentRequestResourceId}
Paramètre obligatoire paymentRequestResourceId : identifiant de la requête d'initiation de paiement pour laquelle on souhaite accéder au statut.
➤ Résultat retourné
A la soumission de la requête et si toutes les données sont correctement formatées, une réponse (HTPP 200) sera retournée.
Cette réponse contiendra les données de l'initiation de paiement enrichies du statut de la requête d'initiation et du paiement associé.
Les valeurs possibles pour le statut de la demande de paiement sont les suivantes (valeurs pour la version STET v1.4.2.17) :
Code | Description |
---|---|
ACCP | Profil Client Accepté (AcceptedCustomerProfile) : la vérification précédente de la validation technique a été réussie. La vérification du profil du client a également été réussie. |
ACSC | Règlement accepté terminé (AcceptedSettlementCompleted) : le règlement sur le compte du débiteur est terminé. |
ACSP | Règlement accepté en cours (AcceptedSettlementInProcess) : toutes les vérifications précédentes, telles que la validation technique et le profil du client, ont abouti. L’évaluation dynamique des risques est également un succès et la demande de paiement a donc été acceptée pour exécution. |
ACTC | Validation technique acceptée (AcceptedTechnicalValidation) : l'authentification et la validation syntaxique et sémantique ont réussi. |
ACWC | Accepté avec changement (AcceptedWithChange) : les instructions sont acceptées mais une modification sera apportée, telle que la date ou le versement non envoyé. |
ACWP | Accepté sans écriture (AcceptedWithoutPosting) : les instructions de paiement incluses dans le virement sont acceptées sans être enregistrées sur le compte du client créancier. |
CANC | Annulé (Cancelled) : l'initiation de paiement a été annulée après réception d'une requête d'annulation. |
PART | Partiellement accepté (PartiallyAccepted) : un certain nombre de transactions ont été acceptées, tandis qu'un autre nombre n'a pas encore atteint le statut «accepté». |
PATC | Partiellement accepté (PartiallyAcceptedTechnicalCorrect) : plusieurs authentifications sont nécessaires et certaines ont été effectuées, mais pas toutes. Les vérifications sémantiques et synthaxiques sont correctes |
RCVD | Reçu (Received) : le paiement a été initié par l'agent destinataire. |
PDNG | En attente (Pending) : une demande de paiement ou une transaction individuelle incluse dans la demande de paiement est en attente. Des vérifications supplémentaires et une mise à jour du statut seront effectuées. |
RJCT | Rejeté (Rejected) : la demande de paiement a été rejetée. |
Le tableau suivant reprend les valeurs possibles pour le statut de l'initiation de paiement et de la transaction de paiement associée (valeurs pour la version STET v1.4.2.17) suite à une requête d'initiation de paiement :
Etape de traitement | Résultat de l'étape | Valeur de paymentInformationStatus à l'issue de l'étape | Valeur de creditTransferTransaction / transactionStatus à l'issue de l'étape |
---|---|---|---|
Contrôle et enregistrement de la requête d'initiation | OK | ACTC | - |
KO | RJCT | - | |
Consentement (début consommation de l'URL consentAproval) | OK | ACCP | - |
KO | RJCT | - | |
Demande d'exécution du paiement (juste avant retour REDIRECT vers l'application du TPP) | OK | ACSP (ou PDNG uniquement en environnement sandbox) | PDNG si virement exécuté à J, ACSP sinon (forcé à PDNG en environnement sandbox) |
KO | RJCT | RJCT | |
Si le PSU ne fait aucune action de consentement (validation ou refus) dans les 30 minutes suivant la requête d’initiation | - | RJCT (raison NOAS) | RJCT (raison NOAS) |
Date d'exécution du paiement avant mise à jour du statut la nuit | - | ACSP | ACSP |
Date d’exécution de paiement après mise à jour du statut la nuit | OK | ACSC | ACSC |
KO | RJCT | RJCT |
Le tableau suivant reprend les valeurs possibles pour le statut de l'initiation de paiement et de la transaction de paiement associée (valeurs pour la version STET v1.4.2.17) suite à une requête d’annulation d’une initiation de paiement :
Etape de traitement | Résultat de l'étape | Valeur de paymentInformationStatus à l'issue de l'étape | Valeur de crediTransferTransaction / transactionStatus à l'issue de l'étape |
---|---|---|---|
Avant réception de la demande d'annulation du paiement | - | ACTC / ACCP / ACSP | - / PDNG (si paymentInformationStatus = ACSP) |
Contrôle et enregistrement de l’annulation de requête d'initiation juste avant la réponse à la requête d’annulation | OK | RJCT / RJCT / ACSP | - / PDNG (si paymentInformationStatus = ACSP) |
KO | ACTC / ACCP / ACSP | - / PDNG (si paymentInformationStatus = ACSP) | |
Consentement | OK | ACSP | PDNG |
KO | ACSP | PDNG | |
Appel au service d’annulation du paiement juste avant la redirection sur l’application du TPP | OK | CANC (DS02, DUPL, FRAD, TECH) | CANC (DS02, DUPL, FRAD, TECH) |
KO | ACSP | PDNG |
➤ Restitution de l’IBAN du compte débité
Depuis fin octobre 2020, l’IBAN du compte débité est systématiquement retourné par cette requête, même si cette donnée n’était pas présente dans la requête initiale de demande d’initiation de paiement.
➤ Codes erreur
Type d'erreur | Code HTTP | Libellé | Motif |
---|---|---|---|
Mauvais access token, problème d'authentification | 403 | Forbidden | |
Request resource inconnu | 404 | Not Found | Ressource inconnue |
Mauvaise requête ou requête hors périmètre autorisé | 405 | Method not allowed | |
Message générique | 500 | Internal server error | |
Requête en doublon | 500 | Internal server error | error : Problème d'insertion en base de donnée, clé unique dupliquée |