Vérifiez la disponibilité des fonds !

 

Cas d'usage

Ce service permet de vérifier la disponibilité des fonds pour le compte à vue de notre client pour un montant donné.

 

Prérequis

Pour procéder à cette requête il est nécessaire de remplir les prérequis d’éligibilité, d'avoir récupéré le jeton d'accès OAUTH2 (voir le cas d'usage "Récupérez votre jeton" et de fournir les paramètres du body.

 

Requête

post/funds-confirmations

 

Paramètres obligatoires ou facultatifs du body requis pour l'appel de ce service

paymentCoverageRequestId - obligatoire : Identifiant de la requête de paiement

payee - facultatif : Le commerçant chez qui la carte est acceptée et donnant des informations sur le PSU

instructedAmount - obligatoire : La structure comprenant le montant renseigné ainsi que la devise

      ⇒ currency  - obligatoire : Devise du montant renseigné

      ⇒ amount  - obligatoire : Montant qui permettra de déterminer si les fonds sont disponibles

accountId - obligatoire : Identifiant unique pour le compte renseigné.

      ⇒ iban - facultatif : Numéro de compte bancaire international (IBAN)

      ⇒ other - facultatif : Identifiant unique d'un compte, d'une personne ou organisation

                  => identification - obligatoire : Identifiant de l'API

                  => schemeName - obligatoire : Type d'identifiant (BANK, COID, SREN, SRET, NIDN, OAUT, CPAN)

                  => issuer - facultatif : Entité fournissant l'identification

 

Résultat retourné

Le résultat retourné reprendra les informations de la requête ainsi que la réponse concernant la disponibilité des fonds sous la forme d'un booléen.

Un lien self sera également présent pour revenir à la page obtenue juste après exécution de la requête.

 

Exemple

Requête

POST http://localhost:8080/v1/funds-confirmations

Body 

{

"paymentCoverageRequestId" : "MyCoverage123456",

"instructedAmount" : {

"currency" : "EUR",

"amount" : "123.45" },

"accountId" : { "iban" : "FR7613807008043001965405158" }

}

Résultat

Status code : 200

Body

{
  "result": true,
  "request": {
    "accountId": {
      "iban": "FR7613807008043001965405158"
    },
    "paymentCoverageRequestId": "MyCoverage123456",
    "instructedAmount": {
      "amount": "123.45",
      "currency": "EUR"
    }
  },
  "_links": {
    "self": {
      "href": "https://www.rs-sandbox.api.89c3.com/stet/psd2/v1/funds-confirmations"
    }
  }
}

   (cas du persona Marc -D0999990I0)

  

Codes erreurs

Voici la liste de descriptions des codes erreurs de ce service. Il y a une annotation rouge pour ceux étant définis CFONB.

Lien vers la description de la méthode et des codes retour http

Erreur Description de l'erreur

AC01

(CFONB)

IncorrectAccountNumber : le numéro de compte est incorrect ou inconnu

AC04

(CFONB)

ClosedAccountNumber : le compte est clos

AC06

(CFONB)

BlockedAccount : le compte est bloqué / fait l'objet d'une opposition

FF01

(CFONB)

InvalidFileFormat => le body ne respecte le format définit par la norme STET
BADS BadScope : l'appel au service a été fait avec un jeton AISP (CBPII attendu)
INTE InternalError : il y a une erreur interne de traitement
INTS InternalServerError : il y a une erreur interne de communication avec le SI
NGAC NotGrantedAccount : le compte n'est pas consenti
NIMP NotImplemented : le mauvais verbe est appelé (POST attendu)
TMRQ TooManyRequest : le nombre de requêtes possibles a été dépassé
IPSU InvalidPSU : Numéro d'abonné non référencé ou abonnement banque à distance résilié

 

Tests d'acceptance

Ces cas de tests ont pour objectif de vous permettre d'effectuer un minimum de tests pour prendre en main cette API et y accéder depuis votre application.

Description du test Jeu de données

Cas standard, le paiement peut être couvert

Persona :

Marc -D0999990I0


Prérequis :

scope OAuth2 = piisp


Amount :

montant inférieur à 459€


accountId :

FR7613807008043001965405255


Currency :

EUR


Résultat :

réponse positive à la requête :

  • result = true
  • réponse HTTP code 200 => OK

Cas aux limites : le paiement ne peut être couvert en raison de fonds insuffisants

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Amount :

montant supérieur à 4 179€

 

accountId :

FR7613807008043001965405158

 

Currency :

EUR

 

Résultat :

réponse négative à la requête :

  • result = false
  • réponse HTTP code 200 => OK
 Requête HTTP utilisant la méthode GET

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Résultat :

réponse HTTP code 405 => méthode non autorisée

 Requête HTTP avec un IBAN absent ou erroné en paramètre du body

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Amount :

montant de 4 179€

 

accountId :

FRXXXX807008043001965405158

 

Currency :

EUR

 

Résultat :

réponse HTTP code 400 => requête erronée

message d'erreur : AC01

 Requête HTTP avec une structure de montant/devise absente ou erronée en paramètre du body

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

accountId :

FR7613807008043001965405158

 

Résultat :

réponse HTTP code 400 => requête erronée

message d'erreur : FF01

 Requête HTTP avec un montant absent ou erroné en paramètre du body

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Amount :

 

accountId :

FR7613807008043001965405158

 

Currency :

EUR

 

Résultat :

réponse HTTP code 400 => requête erronée

message d'erreur : FF01

 Requête HTTP avec une devise absente ou erronée en paramètre du body

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Amount :

montant supérieur à 4 179€

 

accountId :

FR7613807008043001965405158

 

Currency :

 

 

Résultat :

réponse HTTP code 400 => requête erronée

message d'erreur : FF01

 Requête HTTP avec un identifiant de requête de paiement absent ou erroné en paramètre du body

Persona :

Marc -D0999990I0

 

Prérequis :

scope OAuth2 = piisp

 

Amount :

montant supérieur à 4 179€

 

accountId :

FR7613807008043001965405158

 

Currency :

EUR

 

Résultat :

réponse HTTP code 400 => requête erronée

message d'erreur : FF01