Offline Bank Transfer
Introduction
En phase piloteLe moyen de payment « Offline Bank Transfer » est un système bancaire hors ligne européen, permettant à vos clients de transférer des fonds depuis leurs comptes bancaires vers des marchands via le schéma SEPA Credit Transfer (SCT).
Le virement bancaire est un moyen de paiement très accessible pour vos clients dans toute l’Europe, vous permettant de recevoir vos fonds sous 2 à 5 jours ouvrés.
Vous invitez vos clients à ouvrir leur application de banque en ligne, ils s’authentifient et saisissent les informations du virement, ou scannent le QR code avec des données préremplies. Dès réception des fonds sur notre compte de collecte, nous effectuons le rapprochement et vous confirmons la transaction via une notification dédiée. Le reversement intervient le lendemain de l’encaissement des fonds.
L’intégration est très simple, car elle est déjà incluse dans la Hosted Checkout Page pour les marchands Collect/Full Service. L’activation se fait via votre contrat Collect/Full Service.
Les coordonnées bancaires du client (nom et IBAN) sont enregistrées une fois la transaction réussie. Pour respecter le RGPD, vous devez informer votre client de cette collecte de données si vous conservez ces informations dans votre système.
Activation
Pour utiliser le virement bancaire hors ligne dans notre environnement de production, signez un contrat Full Service ou Collect avec Worldline S.A./N.V. Nous serons ravis de vous aider à démarrer.
Intégration
Nous proposons ces méthodes de paiement pour les modes d'intégration suivants. Apprenez dans nos guides dédiés les spécificités de chacun :
Trouvez un aperçu général dans le chapitre "Cinématique".
En fonction du mode d'intégration, des différences s'appliquent :
Hosted Checkout Page
Ajoutez les propriétés suivantes à une requête CreateHostedCheckout :
{
"order": {
"amountOfMoney": {
"amount": 100,
"currencyCode": "EUR"
},
"references":{
"descriptor":"MerchantDescriptor"
},
"customer": {
"contactDetails": {
"emailAddress": "wile.e.coyote@acmelabs.com"
}
}
},
"redirectPaymentMethodSpecificInput": {
"paymentProductId":11,
"redirectionData":{
"returnUrl":"https://yourReturnUrl.com"
}
}
}
| Propriétés | Remarques |
|---|---|
|
order.amountOfMoney |
amount: Le montant brut que vous souhaitez facturer pour cette commande. currencyCode: Le code de devise ISO 4217 for this amount. |
|
order.references.descriptor |
Un descripteur dynamique apparaissant sur le relevé bancaire de vos clients. Fortement recommandé. Cela garantira que vous et vos clients puissiez associer la commande au virement bancaire. Lors de la redirection de vos clients vers la Hosted Checkout Page, notre plateforme affichera une référence de paiement distincte avec les coordonnées bancaires. |
|
order.customer.contactDetails.emailAddress |
L'adresse e-mail de votre client. Pour chaque mise à jour de statut, notre plateforme enverra un e-mail distinct concernant le statut de la commande. Fortement recommandé. |
|
redirectPaymentMethodSpecificInput |
paymentProductId: L'identifiant numérique de la méthode de paiement sur notre plateforme. Trouvez cet identifiant dans l'onglet "Aperçu". Cela indique à notre plateforme d'envoyer vos clients directement vers le formulaire de paiement. Si omis, notre plateforme envoie vos clients vers la Hosted Checkout Page avec la possibilité de choisir cette méthode ou toute autre méthode de paiement active sur votre compte. returnUrl: L'URL vers laquelle nous redirigeons vos clients une fois le paiement finalisé. |
Server-to-server
Ajoutez les propriétés suivantes à une requête CreatePayment :
{
"order": {
"amountOfMoney": {
"amount": 100,
"currencyCode": "EUR"
},
"references": {
"descriptor": "MerchantDescriptor"
}
},
"redirectPaymentMethodSpecificInput": {
"paymentProductId": 11,
"paymentProduct11SpecificInput": {
"skipEmailValidation" : true
}
}
}
| Property | Remarks |
|---|---|
|
order.amountOfMoney |
amount: Le montant brut que vous souhaitez facturer pour cette commande. currencyCode: Le code de devise ISO 4217 pour ce montant. |
|
<class="property">order.references.descriptor |
Un descripteur dynamique apparaissant sur le relevé bancaire de vos clients. Fortement recommandé. Cela garantira que vous et vos clients puissiez associer la commande au virement bancaire. Lors de l'envoi d'une requête CreatePayment, la réponse de notre plateforme contiendra la reference merchantAction.showFormData.paymentProduct11.paymentReference. Notre plateforme générera sa valeur indépendamment du descripteur. |
| redirectPaymentMethodSpecificInput paymentProductId paymentProduct11SpecificInput.skipEmailValidation |
paymentProductId: L'identifiant numérique de la méthode de paiement sur notre plateforme. Trouvez cet ID dans le chapitre "Aperçu". skipEmailValidation: Indique à notre plateforme de ne pas envoyer d'e-mails à vos clients concernant le statut de la commande. |
Retrouvez des informations détaillées sur cet objet et ses propriétés dans notre documentation CreateHostedCheckoutAPI/CreatePaymentAPI.
Cinématique
- Vos clients finalisent une commande dans votre boutique et sélectionnent Offline Bank Transfer.
- Vous envoyez cette requête CreateHostedCheckout à notre plateforme.
- Vous redirigez vos clients via la redirectUrl vers un écran de confirmation affichant un champ de saisie d’adresse e-mail.
- Vos clients saisissent leur adresse e-mail et cliquent sur « Procéder au paiement ». Nous mettons à jour la transaction au statusOutput.statusCode=46.
- Notre plateforme redirige votre client vers l’écran de paiement, en affichant les coordonnées bancaires du virement et les données de la commande sous forme de code QR EPC et en texte clair.
- Vos clients effectuent le virement via leur application bancaire, soit en scannant le code QR, soit en saisissant manuellement les coordonnées bancaires et les données de commande. Ils confirment le virement en cliquant sur « Le paiement est effectué » sur l’écran de paiement.
- Nous redirigeons votre client vers votre returnUrl et mettons à jour la transaction au statusOutput.statusCode=4.
- Vous récupérez le résultat intermédiaire de la transaction (statusOutput.statusCode=4) depuis notre plateforme via GetPaymentDetails/GetHostedCheckout ou recevez le résultat via webhooks.
- La banque de vos clients transfère les fonds sur notre compte de collecte via un virement standard (sous 1 à 2 jours) ou un virement instantané (en quelques minutes). Nous mettons alors à jour la transaction au statusOutput.statusCode=9. Si notre compte de collecte ne reçoit pas les fonds sous 5 jours calendaires, nous mettrons à jour la transaction au statusOutput.statusCode=2.
- Vous récupérez le résultat final de la transaction depuis notre plateforme via GetPaymentDetails/GetHostedCheckout ou recevez le résultat via webhooks.
- Si la transaction a réussi, vous pouvez livrer les biens / services.
Server-to-server
- Vos clients finalisent une commande dans votre boutique et sélectionnent Offline Bank Transfer.
- Vous envoyez cette requête CreatePayment à notre plateforme.
- Nous mettons à jour la transaction avec le statut statusOutput.statusCode=41. Notre plateforme envoie une réponse contenant un objet merchantAction. Selon la manière dont vous souhaitez définir le flux de paiement, des différences s’appliquent :
a) Vous affichez un formulaire de paiement sur votre page de paiement ou envoyez un e-mail au client, contenant les coordonnées bancaires telles que fournies dans
merchantAction.showFormData.paymentProduct11, y compris order.references.descriptor combiné avec merchantAction.showFormData.paymentProduct11.paymentReference.b) Vous affichez un code QR EPC sur votre page de paiement en utilisant merchantAction.showFormData.paymentProduct11.qrCode.
- Vos clients effectuent le virement bancaire via leur application bancaire, soit en scannant le code QR, soit en saisissant manuellement les coordonnées bancaires. Ils confirment le virement bancaire à l’aide d’un élément d’appel à l’action situé sur votre page de paiement.
- Vous demandez le résultat intermédiaire de la transaction (statusOutput.statusCode=41) à notre plateforme via GetPaymentDetails ou recevez le résultat via des webhooks.
- La banque de vos clients transfère les fonds vers notre compte de cantonnement, soit via un virement standard (sous 1 à 2 jours), soit via un virement instantané (en quelques minutes). Nous mettons alors à jour la transaction avec le statut statusOutput.statusCode=9. Si notre compte de cantonnement ne reçoit pas les fonds dans un délai de 5 jours calendaires, nous mettrons à jour la transaction avec le statut statusOutput.statusCode=2.
- Vous demandez le résultat final de la transaction à notre plateforme via GetPaymentDetails ou le recevez via des webhooks.
- Si la transaction a réussi, vous pouvez livrer les biens / services.
Test
Consultez nos Cas de test pour des données de test et des instructions détaillées.
- Assurez-vous d'utiliser le bon endpoint et de renseigner l'URL de production dès que vous avez terminé vos tests.
- Les données dans notre chapitre Cas de test fonctionnent UNIQUEMENT pour les demandes de paiement dans notre environnement de test. Utiliser ces données dans notre environnement de production entraînera des résultats de test indésirables.