HUB PISP – La solution d’initiation de paiement du Groupe BPCE
Généralités
Le HUB PISP est la solution développée par BPCE Payment Services permettant à une entreprise ou un commerçant (le Payé) de demander l’initiation d’un paiement par virement (SCT ou SCT Inst -paiement instantané-) à destination de son client (le Payeur). L’opération permettra au Payeur d’indiquer sa banque puis de valider le paiement (consentement) depuis un compte bancaire détenu dans cet établissement et qu’il aura choisi, sans avoir jamais saisi ses coordonnées bancaires, tout en respectant des normes élevées de sécurité des échanges conformes à celles édictées dans les directives européennes sur les paiements. Le paiement sera débouclé au moyen d’un virement émis par la banque du Payeur au profit de la banque du Payé.
Notons qu’il est possible d’émettre une initiation de paiement contenant directement un IBAN préalablement renseigné par le Payeur. L’opération se débouclera à l’identique sans choix du compte par le Payeur.
Pour utiliser les services du HUB PISP, le Payé doit au préalable se raccorder à notre API conforme à la norme ISO v20022. Le HUB PISP gère ensuite l’interconnexion avec les API DSP2 exposées par les ASPSP (établissements teneurs de comptes).
Le virement appelé peut-être :
- Un virement classique (SCT, avec règlement de J+1 à J+3 selon le calendrier des jours ouvrés) ;
- Un virement instantané (SCT Inst, règlement dans les 10 secondes suivant la validation -le consentement- du paiement par le Payeur).
Selon la nature du virement appelé, il peut s’agir d’un virement :
- Immédiat : le virement sera effectué immédiatement après le consentement du Payeur ;
- A échéance (différé) : le virement sera effectué à une date future définie par le Payé ;
- Récurrent : le virement sera reproduit un certain nombre de fois à l’identique (montant identique) selon un calendrier déterminé.
La nature du virement et sa temporalité doivent être mentionnées dans la requête transmise par le Payé au HUB PISP et ne seront plus modifiables.
Le Payé pourra soit :
- Imposer les modalités du virement ;
- Laisser ce choix au Payeur en adaptant ses parcours clients en conséquence.
Toute opération est accompagnée de références fournies par le Payé, qui seront transportées tout au long des échanges jusqu’au règlement de la transaction et édition des relevés, permettant un lettrage fin, potentiellement automatique, des paiements dans le système du Payé.
La solution permet d’initier des demandes de paiements auprès de plus de 95% des comptes bancaires domiciliés en France, et à un nombre croissant de comptes bancaires domiciliés dans divers pays européens (zone SEPA). Les virements ne peuvent être libellés qu’en Euro.
Les services du HUB PISP à la loupe
1. Récupérer la liste des établissements atteignables et leurs services
Dans le cas où le Payé souhaite développer ses propres écrans de choix de la banque, ou pour tout autre besoin particulier requérant ces informations, il peut appeler un service de l’API afin de récupérer :
- La liste des établissements teneurs de comptes accessibles auprès de qui il est possible d’initier une demande de paiement depuis le HUB PISP ;
- La liste des virement supportés (SCT et/ou SCT Inst) par chacun de ces établissements ;
Il peut aussi appeler un service ad-hoc exposé par l’API permettant de récupérer les logos de ces différents établissements bancaires, ceci afin de procurer de la souplesse et de la réactivité lors d’un parcours client adapté.
Mise en œuvre
La récupération de la liste des établissements atteignables se fait au moyen du [Endpoint ACCOUNT SERVICE PROVIDER].
La récupération des logos des groupes d’établissements atteignables se fait au moyen du [Endpoint HEAD COMPANY].
2. Initier et suivre un paiement
Dès lors que le Payeur a choisi sa banque, que cette banque a été validée et est atteignable, une demande d’initiation de paiement peut être émise. Le Payé, pour initier une demande de paiement au moyen de l’API du HUB PISP, doit fournir notamment les informations obligatoires suivantes :
- Le montant et la devise du paiement (Euro uniquement) ;
- Le BIC de la banque ou l’IBAN du Payeur, s’il est connu du Payé ;
- La nature du virement appelé (SCT ou SCT Inst) ;
- Le compte à créditer (l’IBAN du compte du Payé) ;
- Les références qu’il souhaite voir véhiculées jusqu’au crédit en compte et qui lui permettront de faire son lettrage.
En retour, le Payé récupère une URI de consentement communiquée par la banque du Payeur, qui permet de rediriger le Payeur vers son interface bancaire habituelle (banque en ligne ou application mobile), depuis laquelle, après s’être authentifié, il pourra choisir le compte à débiter et consentir au paiement.
Pour permettre au Payé de suivre le statut de l’opération, le HUB PISP restitue les statuts suivants :
- Un 1er niveau d’acquittement confirmant la bonne prise en charge par l’API HUB PSIP de la demande de paiement ;
- Un 2ème niveau d’acquittement confirmant le consentement ou le refus du paiement par le Payeur ;
- Un 3ème niveau d’acquittement confirmant le statut final du virement émis par la banque du Payeur, au profit de la banque du Payé. Ce statut va évoluer au cours du temps jusqu’à indiquer un résultat final et définitif du virement (émis ou rejeté).
Notons que l’accès à ces statuts se fait par un système d’interrogations successives (polling) du HUB PISP ; les URL de retour ne sont pas supportées dans ce cas.
Mise en œuvre
L’émission d’une demande d’initiation de paiement se fait au moyen du [Endpoint PAYMENT INITIATION].
La récupération du statut du statut de l’initiation de paiement se fait au moyen du [Endpoint PAYMENT INITIATION GET STATUS].
3. Proposer au client le choix de sa banque et initier un paiement
Pour identifier la banque vers laquelle transmettre la demande de paiement, le Payé peut utiliser un service permettant au Payeur de sélectionner sa banque de façon simple et rapide, depuis une page mise à disposition par le HUB PISP.
Cette page permet un affichage sous forme graphique des logos, compatible avec un mode de fonctionnement mobile ou PC, des établissements accessibles par le HUB PISP. La simple sélection de sa banque par le Payeur, depuis laquelle il souhaite procéder au règlement, permet d’initier le paiement sans qu’il ait besoin de saisir son IBAN ou ses coordonnées bancaires, qui resteront de fait inconnues du Payé.
Ce lien est généré par le HUB PISP et transmis au Payé qui se charge ensuite de le fournir au Payeur par le moyen qui lui semble approprié (mail, SMS, QRcode,…).
Lorsque le Payeur a choisi sa banque une demande paiement (initiation de paiement) est émise conformément à ce qui est indiqué au chapitre [Initier et suivre un paiement].
En plus des statuts de l’initiation de paiement, les statuts renvoyés sont complétés de ceux du lien de paiement lui-même :
- NOT PROCESSED : le lien n’a pas été ouvert par le Payeur mais est toujours valide ;
- EXECUTED : le lien a été ouvert par le Payeur ;
- PROCESSED : le Payeur a sélectionné sa banque dans la liste qui lui a été proposée ; à ce stade une initiation de paiement a été émise dont l’état est consultable au moyen du [Endpoint PAYMENT INITIATION GET STATUS] ;
- EXPIRED : le lien n’a pas été ouvert par le Payeur et a expiré.
Notons que des informations complémentaires peuvent être récupérées telles que la date de création du lien, la date d’ouverture du lien par le Payeur, etc…
Mise en œuvre
La fourniture du service de choix de la banque suivi de l’émission d’une initiation de paiement se fait au moyen du [Endpoint PAYMENT LINK].
La récupération du statut du lien de paiement et de l’identifiant de l’initiation de paiement, le cas échéant, se fait au moyen du [Endpoint PAYMENT LINK GET STATUS].
La récupération du statut de l’initiation de paiement elle-même se fait au moyen du [Endpoint PAYMENT INITIATION GET STATUS].
Principes généraux de sécurité des APIs
La sécurisation de l’accès aux APIs par le Client se fait via la mise en place des mesures suivantes :
- Tous les échanges sont sécurisés en TLS sans aucune possibilité de dérogation ;
- Pour l’échange des messages le Client doit fournir des certificats à la norme x509 émis par une autorité de certification publiant des listes de révocation accessibles 24/7/365 ; il recevra en retour des certificats émis par BPCE PS ; ces certificats sont utilisés de chaque côté afin de procéder à une authentification mutuelle de l’appelant (le Client) et du serveur (l’ API de BPCE PS) afin de garantir la sécurité du lien utilisé entre les parties ;
- L’accès à l’API requiert une authentification préalable Oauth2 au moyen d’un identifiant (clientID) et d’un mot de passe (clientSecret) fournis par BPCE PS lors de l’enrôlement du Client;
- À la suite d’une demande d’accès autorisée (via Oauth2) le jeton attribué et retourné au Client sera utilisé dans tous les échanges ultérieurs, tant qu’il est valide, afin d’identifier l’émetteur du message.
- Enfin, tous les messages échangés doivent être signés au moyen de l’algorithme RSA-SHA .
Ces mesures visent à garantir l’identification et l’authentification du Client lors de son utilisation de l’API ainsi que la non-altération (SHA) et la signature (RSA) des messages échangés.
Catégories
Endpoint ACCOUNT SERVICE PROVIDER
Résumé
L’objectif de ce service est de fournir au Payé des éléments lui permettant de
- Récupérer l’ensemble des ASPSP atteignables par le HUB PISP,
- Valider l’accessibilité vers un ou plusieurs ASPSP sur la base d’informations mises à disposition par le Payeur.
Il permet également en retour de disposer d’informations concernant les types de virement supportés par les différents ASPSP (SCT et/ou SCT Inst), ainsi que des informations sur le réseau de banques auquel l’ASPSP appartient.
Ce service sera utilisé par un Payé notamment pour lui permettre de valider l’accessibilité d’un ASPSP qu’un Payeur lui aura indiqué ou afin de lui permettre de construire une page dédiée de sélection de l’ASPSP du Payeur.
Description
Cette requête retourne les informations relatives à l’accessibilité des établissements ASPSP enregistrés et disponibles selon les modalités suivantes :
- Sans paramètre
Retourne l’ensemble des ASPSP atteignables et disponibles pour le Payeur. - En indiquant un pays
Retourne l’ensemble des ASPSP atteignables et disponibles pour le Payeur dans le pays passé en paramètre. - En indiquant un BIC
Retourne l’ensemble des ASPSP atteignables et disponibles pour le Payeur et dont le BIC est celui passé en paramètre. - En indiquant un IID
Retourne l’ASPSP atteignable et disponible pour le Payeur et dont l’IID est celui passé en paramètre. - En indiquant un IBAN
Retourne l’ASPSP atteignable et disponible pour le Payeur et gérant l’IBAN passé en paramètre. - L’usage de la fonction de pagination des données
Cette fonction permet de récupérer les informations de l’ensemble des ASPSP disponibles pour le client page par page afin de pouvoir gérer le volume de données transmises.
Endpoint HEAD COMPANY
Résumé
L’objectif de ce service est de fournir au Payé les logos des établissements atteignables afin de l’aider dans la création et l’affichage de sa page de sélection de l’ASPSP du Payeur.
Description
Cette requête retourne le logo de l’établissement indiqué en paramètre de la requête.
- headCompanyId
L’identifiant de l’ASPSP dont le logo est requis. Les valeurs possibles de « headCompanyId » sont fournies par l’appel du [Endpoint ACCOUNT SERVICE PROVIDER].
Endpoint PAYMENT INITIATION
Résumé
L’objectif de ce service est de permettre au Payé d’émettre, au travers du HUB PISP, une demande d’initiation de paiement à destination d’un ASPSP accessible, dans lequel le Payeur est détenteur d’un compte et à partir duquel il souhaite effectuer le paiement.
Description
Cette requête génère une opération d’initiation de paiement conforme à la norme ISO 20022 et relative à la relation commerciale du Payé et du Payeur. La requête de paiement peut être immédiate ou future, unique ou récurrente, terminée par un virement classique ou un virement instantané. Elle est de plus accompagnée de références renseignées par le Payé et qui sont transportées de bout en bout de la requête jusqu’à sa réponse, permettant ainsi un traitement automatisé de réconciliation.
Lorsque l’opération d’initiation de paiement est acceptée par l’ASPSP, le service retourne au Payé l’URL de consentement fournie par l’ASPSP et à destination du Payeur, afin qu’il puisse revoir et valider la transaction initiée par le Payé.
Le service renvoie dans tous les cas une référence unique de l’opération resourceId qui pourra être utilisée ultérieurement pour récupérer l’état de la demande de paiement auprès du HUB PISP.
Endpoint PAYMENT INITIATION GET STATUS
Résumé
L’objectif de ce service est de permettre au Payé de récupérer les différents états d’une demande de paiement et restitués par l’ASPSP du Payeur, à savoir le consentement (ou le refus) au paiement par le Payeur, en cas de consentement, le statut du virement relativement au compte du Payeur (en attente, émis ou rejeté).
Notons que cette l’état de la demande d’initiation de paiement ne peut pas et ne donne pas d’information sur le crédit en compte effectif du Payé. Cette information est à récupérer directement auprès de l’établissement teneur de compte du Payé.
Description
Cette requête permet d’obtenir l’état d’avancement atteint par l’opération d’initiation de paiement lors de son traitement par l’ASPSP. Elle s’utilise obligatoirement avec un paramètre resourceId récupéré suite à une d’une demande d’initiation
Endpoint PAYMENT LINK
Résumé
L’objectif de ce service est de permettre au Payé d’émettre une requête de création de lien de paiement.
La génération du lien de paiement implique pour le Payé de fournir l’ensemble des données du paiement (le montant et sa devise -obligatoirement l’Euro-, la description du paiement, l’IBAN à créditer et les références rattachées à ce paiement). A partir de ces informations un lien de paiement sera créé par le HUB PISP.
Un lien de paiement est une URL générée à la demande du Payé et à destination d’un Payeur. Ce lien est communiqué par le Payé au Payeur selon le canal choisi par le Payé (lien dans un mail, un SMS, QR code dans un courrier ou une page internet par exemple). A réception du lien, le Payé peut cliquer dessus ou le lire (QR code) cela lui permettant alors d’accéder à une page de sélection de la banque à utiliser pour le paiement puis de procéder à la demande d’initiation de paiement auprès de l’ASPSP sélectionné.
Un lien de paiement est donc la manifestation d’une facture transmise d’un Payé à un Payeur afin de lui offrir la possibilité de faire son règlement au moyen d’une demande de paiement à l’initiative du Payeur.
Description
Cette requête génère un lien de paiement sous la forme d’une URL à transmettre au Payeur lui permettant de sélectionner l’établissement à partir duquel il souhaite réaliser son paiement puis de procéder au paiement.
Lorsque cette opération de génération d’un lien de paiement est acceptée par le HUB PISP, le service retourne la référence unique de l’opération resourceId. Cette donnée sera utilisée par le Payé pour connaitre l’état de son lien de paiement puis, suite à l’ouverture du lien par le Payeur, l’état d’avancement de la demande de paiement.
Endpoint PAYMENT LINK GET STATUS
Résumé
L’objectif de ce service est de permettre au Payé d’obtenir les informations relatives à un lien de paiement précédemment généré.
Les informations mises à jour par le HUB PISP peuvent inclure les différents états de la requête de génération du lien de paiement ainsi que, si le lien a été consommé et a donné lieu à une demande de paiement, le resourceId de l’initiation de paiement réalisée.
Description
Cette requête permet d’obtenir l’-état courant du lien de paiement généré par le HUB PISP à la demandé d’un Payé.
Lorsque cette opération de génération d’un lien de paiement a atteint l’étape de génération d’une opération d’initiation de paiement, le service retourne la référence unique de l’opération resourceId qui pourra être utilisée au moyen du [Endpoint PAYMENT INITIATION GET STATUS].
Catégories
Catégories
-
Documentation