Introduction

WL Sips est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métier liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement en plusieurs fois …).

L’objectif du présent document est d’expliquer l'intégration du moyen de paiement SDD (SEPA Direct Debit) dans WL Sips .

A qui s’adresse ce document ?

Ce document a pour objectif de vous aider à implémenter le moyen de paiement SDD sur votre site de commerce électronique.

Il comprend :

  • des informations fonctionnelles à votre attention ;
  • des instructions d'implémentation à destination de votre équipe technique.

Pour avoir une vue d’ensemble de la solution WL Sips , nous vous conseillons de consulter les documents suivants :

  • Présentation fonctionnelle ;
  • Guide de Configuration des fonctionnalités.

Comprendre les paiements SDD avec WL Sips

Principes généraux

Le SDD (SEPA Direct Debit) est un moyen de paiement par prélèvement utilisé par les débiteurs et créanciers de la zone SEPA.

Le prélèvement est un paiement à l’initiative du créancier (le commerçant), autorisé préalablement par le débiteur (le client) grâce à l’établissement d’un mandat. Ce moyen de paiement est utilisable pour des paiements récurrents ou ponctuels.

Règles d’acceptation

Note: Les règles générales applicables au prélèvement SEPA décrites ci-dessous ne sont pas exhaustives et ne se substituent pas à la réglementation SEPA disponible dans les dernières versions des Rulebooks. Votre banque doit vous informer des règles régissant le fonctionnement du prélèvement SEPA.

Fonctionnalités disponibles

Canaux de paiement
Internet V Canal de paiement par défaut
MOTO V
Télécopie X
SVI X
Typologies de paiement
Paiement immédiat X
Paiement en fin de journée V
Paiement différé V
Paiement à l'expédition V
Paiement en plusieurs fois V
Paiement par abonnement V
Paiement par fichier V
Paiement OneClick V
Gestion des devises
Acceptation multidevise X Euro uniquement
Règlement en devise X Euro uniquement

Devise

Le prélèvement SEPA est un instrument de paiement en euro. L’ordre de paiement ne peut être exprimé qu'en euros. Néanmoins, les comptes des clients peuvent être tenus dans une autre devise. Dans ce cas, la banque du client assure la conversion, qui a lieu en dehors de la transaction de prélèvement SEPA elle-même.

Mandat

L’accord que votre client vous a donné pour émettre des ordres de prélèvements et les présenter au débit de son compte est formalisé par la signature d’un mandat de prélèvement SEPA. Le prélèvement repose sur un contrat clair conclu entre vous et votre client, matérialisé par un consentement explicite : le mandat.

Le mandat de prélèvement SEPA matérialise le consentement du client auprès de son commerçant. SPS attribue une Référence Unique de Mandat ( RUM ) à chaque mandat. Vous pouvez également attribuer les Références Uniques de Mandat vous-même (voir les parties "Paramétrer la requête de paiement" du connecteur Sips Paypage ou Sips Office ). Dans ce cas, vous devez assurer leur unicité.

Des changements peuvent intervenir sur le mandat au cours de la vie de ce dernier (changement de numéro de compte du client, etc.). Par conséquent vous devez disposer du mandat mis à jour.

Schémas du SDD

Le prélèvement SEPA se décline dans deux schémas :

  • Le prélèvement SEPA CORE possible pour tout type de clientèle. Ce schéma se décline dans WL Sips en deux sous-types :
    • Core (BtoC). Ce schéma s'applique à tous les payeurs, particuliers ou entreprises.
    • Core Entreprise (BtoF) destiné aux associations avec ou sans numéro de SIRET. Ce sous-type a été créé afin de permettre de véhiculer des informations supplémentaires, mais il reste soumis aux règles générales applicables au schéma CORE.
  • Le prélèvement SEPA BtoB (ou interentreprises) réservé exclusivement aux paiements entre entreprises, professionnels et associations, et qui a des règles de gestion spécifiques. Il est interdit à un créancier de prélever un particulier avec un SDD BtoB. La banque du débiteur a l’obligation de s’assurer auprès de son client de la validité du mandat BtoB avant de pouvoir engager les paiements par SDD. Le débiteur doit donc transmettre une copie du mandat de SDD BtoB à sa banque dès signature pour que celle-ci enregistre les caractéristiques du mandat dans son système d'informations. Si la banque du débiteur n'est pas informée du mandat signé, le prélèvement sera automatiquement rejeté. Le débiteur s’engage aussi à informer sa banque de toute modification ou suppression de mandat. Le débiteur ne peut pas contester un SDD BtoB dès lors qu’il a été régulièrement payé (i.e. existence d’un mandat), il n'est donc pas possible de demander à sa banque le remboursement d'un prélèvement BtoB.

Type de prélèvement

Le prélèvement SEPA peut être utilisé pour des opérations récurrentes ou ponctuelles :

  • mandat récurrent : le mandat est valable pour une série de prélèvements. Il est révocable à tout moment par le créancier ou le débiteur et devient caduc en cas d’inutilisation durant une période de 36 mois.
  • mandat ponctuel : le mandat n’est valable que pour un prélèvement unique, il expire automatiquement.

Limitation de montant

Le montant d’un ordre de prélèvement SEPA doit être compris entre 0,01 et 999.999.999,99 euros.

Garantie de paiement SafeDebit

La plateforme SEPA est également connectée à la solution SafeDebit, proposée par la société Score & Secure Payment (SSP) et qui permet de délivrer une garantie de paiement pour les paiements SEPA impayés.

Pour bénéficier de cette garantie, vous devez avoir souscrit un contrat SafeDebit auprès de SSP qui vous fournira un numéro de bénéficiaire à communiquer lors de la souscription à cette fonctionnalité.

Vue d'ensemble

L’entreprise Score & Secure Payment (SSP) propose une solution permettant de garantir les paiements par prélèvements SEPA. Sur la base de contrôles de fraude (scoring), cette entreprise indépendante vous propose de garantir les prélèvements SEPA réalisés sur vos sites marchands. WL Sips est connecté à l’offre SafeDebit de SSP, par l’intermédiaire de SPS.

Si vous souscrivez à l'offre SafeDebit, vous profiterez alors de cette solution. Vous devrez pour cela suivre la procédure décrite dans le chapitre « Ouvrir votre contrat d'acceptation SDD ». Les prélèvements SEPA réalisés seront ainsi garantis par SSP (et donc vous pourrez être indemnisé par SSP en cas d’impayé).

La prise de risque

Il existe actuellement une option supplémentaire associée à SafeDebit. Il s’agit de la prise de risque.

Activer la garantie sur le mandat et les prélèvements SEPA permet de faire un certain nombre de vérification des données (détection de faux IBAN, type de compte, identité digitale,…) et de refuser la création de mandats et les prélèvements SEPA si la garantie de paiement ne peut être appliquée. Afin que les prélèvements SEPA ou création de mandats ne soient pas refusés bien que non garantis par SSP, vous avez la possibilité d'opter pour l'option "prise de risque". Dans ce cas vous perdez la garantie de paiement. Il ne vous sera pas non plus possible de demander une indemnisation en cas d’impayés.

Cette option est à indiquer lors de l’inscription ou via vos contacts habituels pour la modification d’option.

Note: S'agissant d'une option à paramétrer au niveau boutique, la prise de risque s'applique sur toutes les créations de mandat ou de prélèvements SEPA. Vous ne pouvez pas choisir de prendre un risque de façon dynamique en fonction du contexte du prélèvement.

La modification du mandat

La modification d'un mandat n'est pas autorisée si des prélèvements SEPA garantis ont été créés sur ce mandat et qu'ils sont non finalisés.

En effet, la garantie d'un prélèvement se base sur les informations d'un mandat et pourrait être révisée en cas de modification du mandat.

Validation électronique du mandat

La validation électronique des mandats de prélèvement SEPA est utilisée lors de la création d’un mandat en ligne par le client ou lors de la création d’un mandat version électronique dans Sips Office Extranet ou via Sips Office par vous.

La validation électronique fait appel à un certificat de type « Organisation » à votre nom, qui garantit l’intégrité du document et permet l’horodatage et le scellement des preuves des actions ayant conduit à la validation du mandat.

Afin d’obtenir ce certificat, votre représentant légal doit signer un contrat d’abonnement.

La validation électronique est compatible avec la norme européenne ETSI 102-042 (organisme de normalisation européen du domaine des télécommunications).

Un prélèvement SEPA peut donner lieu à contestation pour opération non autorisée, mais en cas d’action judiciaire, c’est l’existence du consentement au contrat principal (liant le commerçant et le client - ex : contrat d’abonnement) qui sera prioritairement considérée.

La validation du mandat peut se faire au travers de deux cinématiques :

  • validation par saisie d’un code reçu par SMS ou e-mail ;
  • validation en réalisant un premier paiement par carte avec une authentification 3-D Secure.

Le choix de la solution relève d’un arbitrage entre le risque à couvrir, la garantie de paiement et l’ergonomie du processus.

C'est à vous de préciser le choix lors de l’envoi de la requête permettant de créer le mandat.

Validation par saisie d’un code

Principes

Le client valide son mandat de prélèvement en saisissant un code qu'il a reçu :

  • par SMS à un numéro de téléphone connu du commerçant ;
  • par e-mail à une adresse électronique connue du commerçant.
Prérequis pour le commerçant
  • Vous devez être en capacité de transmettre les données concernant le client : civilité, nom, prénom pour un client particulier ; raison sociale, nom et prénom du responsable légal pour une entreprise cliente.
  • Vous devez disposer du numéro de téléphone ou de l’adresse électronique du client : le client ne peut ni saisir ni modifier son adresse de messagerie électronique ou son numéro de téléphone lors de la session permettant de valider son mandat.
Pages de paiement
  • Lorsque le client clique sur le logo Prélèvement SEPA, le serveur vérifie si le client a déjà un mandat de prélèvement (option OneClick ).
  • Si le client ne détient pas de mandat, il lui est proposé de valider son mandat de prélèvement en ligne.
  • Vous devez transmettre les données d’identification et les coordonnées du client. Ces dernières ne peuvent pas être modifiées par le client lors de la création de son mandat.
  • Le client valide les informations le concernant, communique ses coordonnées bancaires (IBAN) puis confirme que le mandat prérempli contient bien les bonnes informations.
  • Le client reçoit un code sur son téléphone portable ou son adresse électronique qu'il doit ressaisir sur la page pour valider et signer son mandat.
  • Le client a la confirmation que son mandat est bien enregistré. Il peut télécharger le mandat au format PDF ou l’imprimer. Le montant de son achat ou de sa prochaine échéance sera prélevé sur son compte bancaire.
  • La date du prochain prélèvement est indiquée sur le ticket récapitulatif.
Note: C’est à vous de décider si vous souhaitez envoyer le code par e-mail ou par téléphone. Cette information est transmise dans la requête.
Le client ne peut pas modifier la donnée qui sert à l’envoi du code (adresse électronique ou numéro de téléphone) en cours de création du mandat. Si ce dernier n’est pas correct, il devra s'adresser à vous pour modifier la donnée dans votre système d’information.

Validation par saisie des coordonnées cartes

Principes

Le client marque son consentement en réglant le montant de son premier achat ou de sa première échéance par carte CB, VISA ou MasterCard. Ce premier paiement doit s’accompagner systématiquement d’une authentification 3-D Secure.

Pages de paiement
  • Lorsque le client clique sur le logo prélèvement SEPA, le serveur vérifie si le client a déjà un mandat de prélèvement (option OneClick ).
  • Si le client ne détient pas de mandat, il lui est proposé de valider son mandat de prélèvement en ligne.
  • Vous devez transmettre les données d’identification et les coordonnées du client. Ces dernières ne peuvent pas être modifiées par le client lors de la création de son mandat.
  • Le client valide les informations le concernant, communique ses coordonnées bancaires (IBAN) puis confirme que le mandat prérempli contient bien les bonnes informations.
  • Le client est alors invité à procéder au paiement de sa première échéance par carte bancaire. Ce paiement s’accompagne d’une authentification 3-D Secure.

  • Une fois le paiement accepté, le client a la confirmation que son mandat est bien enregistré. Il peut télécharger le mandat au format PDF ou l’imprimer.
  • Un ticket de paiement s’affiche ensuite et contient toutes les données de la transaction effectuée.
  • En cas d'échec d'authentification le client est redirigé vers la page suivante et peut revenir sur le site marchand :
Note: Le paiement par carte s’accompagne systématiquement d’une authentification 3-D Secure. Si cette authentification ne peut avoir lieu, le mandat ne sera pas validé.

Délais de présentation

Contrairement aux transactions cartes, un délai de présentation est à respecter avant l’échange interbancaire.

Ainsi, pour un règlement/échéance à J, le prélèvement SEPA doit être présenté en compensation à J-1 JOB (Jour Ouvré Bancaire) au plus tard.

Remise en banque des paiements

En fonction de votre banque les fichiers sont

  • soit transmis par SPS ;
  • soit transmis par vous-même.

Merci de vous renseigner auprès votre banque pour connaître le mode de fonctionnement qu'elle propose.

Pré-notification

Vous êtes tenu de fournir au débiteur une notification préalable au moins 14 jours calendaires (sauf accord bilatéral sur un délai différent) avant la date d’échéance du prélèvement SEPA et par tout moyen : facture, avis, échéancier, etc.

Ouvrir votre contrat d'acceptation SDD

Afin d'émettre des prélèvements SEPA, vous devez au préalable :

  • signer un contrat de service avec votre banque (= Convention d’émission de prélèvement SEPA) ;
  • avoir un Identifiant Créancier SEPA (ICS), délivré par la Banque de France pour la France ;
  • signer un contrat avec la société Score & Secure Payment (SSP) afin d'obtenir un numéro de bénéficiaire si vous souhaitez souscrire à la garantie de paiement SafeDebit .

Opérations possibles par interfaces

Certaines opérations ne sont possibles que via certaines interfaces. Voici un tableau récapitulatif des actions possibles sur chaque interface :

Actions/Interfaces Sips Paypage Sips Office Sips Office Extranet Sips Office Batch
Création d'un mandat et paiement Oui Oui Oui Non
Effectuer un paiement à partir d'un mandat déjà signé. Oui si le mandat a été enregistré en mode OneClick lors de sa création. Oui : fonction directDebitOrder Oui Oui : fonction directDebitOrder
Gestion de caisse sur les prélèvements Non Oui Oui Oui
Recherche d'un mandat Non Oui : fonction searchMandate Oui Non
Récupération d'un mandat pdf signé Non Oui : fonction getPdfMandate Oui Non
Récupération/Consultation d'un mandat Non Oui : fonction getMandateData Oui (rechercher un mandat et l'ouvrir dans l'interface) Non

Effectuer un paiement SDD

WL Sips vous offre trois solutions pour intégrer le moyen de paiement SDD :

  • Sips Paypage qui assure l’interface de paiement directement avec le client via son navigateur Web.
  • Sips Office qui vous laisse la possibilité d’afficher vous-même vos pages de paiement et qui fonctionne par un dialogue de serveur à serveur.
  • Sips Office Batch qui vous permet de traiter des paiements par échange de fichiers.

Les modes de remise disponibles pour une transaction SDD sont les suivants :

  • Mode annulation : mode par défaut, il permet de remiser la transaction à une date prédéfinie, appelée délai de capture. Lorsque ce délai de capture est atteint, la remise est automatiquement envoyée. Ce délai est paramétré via le champ captureDay , sa valeur par défaut est 0 (paiement en fin de journée).
  • Mode validation : vous devez valider la transaction pour déclencher la remise. Un délai de capture doit aussi être défini. Lorsque ce délai de capture est atteint ou dépassé, vous ne pourrez plus valider la transaction, celle-ci expirera donc automatiquement.

Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :

Note: Vous pouvez révoquer un mandat via l’interface Sips Office Extranet . Toutes les transactions créées sur ce mandat mais non encore remisées en banque sont alors abandonnées. Le statut final de ces transactions est ABORTED.

Effectuer un paiement SDD avec Sips Paypage

La cinématique de paiement pour Sips Paypage est décrite ci-dessous :

Paramétrer la requête de paiement

Dans le cadre de l’acceptation de SDD il est nécessaire de :

  • vous assurer de l’identification du client,
  • pré-remplir la page de création de mandat et favoriser ainsi la transformation de transaction de type SDD.

La Référence Unique de Mandat ( RUM ) peut être transmise dans la requête. Si elle n’est pas envoyée, elle est générée automatiquement.

Attention : dans le cas de l’envoi de la RUM dans la requête, il est de votre responsabilité de vous assurer de l’unicité de la RUM. En cas de doublon, la signature du mandat sera refusée, et l’acheteur ne pourra pas effectuer le règlement de son achat.

Vous trouverez ci-dessous la liste des paramètres permettant le passage des informations personnelles du porteur.

Nom du champ Format Description Remarques / règles
paymentMeanBrandList ANS256 Liste des moyens de paiement A valoriser avec SEPA_DIRECT_DEBIT (optionnel : par défaut les pages de paiement afficheront les moyens de paiement acceptés par le commerçant).
customerContact.email ANS128 Contient l’e-mail du client. Obligatoire si méthode d’authentification par MAIL_OTP

Obligatoire si option SafeDebit souscrite.

customerContact.firstname ANS50 Contient le prénom du client. Obligatoire
customerContact.gender A1 Indique si le client est un homme (=M) ou une femme (=F). Facultatif
customerContact.lastname ANS50 Contient le nom du client. Obligatoire
customerContact.mobile ANS30 Contient le numéro de téléphone portable. Obligatoire si méthode d’authentification par SMS_OTP.

Le format avec code régional est attendu (+33 …).

Obligatoire si option SafeDebit souscrite.

customerContact.legalId AN14 Numéro de SIRET Facultatif, seulement utilisé avec un mandat de type (transactionActors) BTOF.
customerContact.​positionOccupied ANS150 Titre du représentant légal Facultatif, seulement utilisé avec un mandat de type ( transactionActors ) BTOF.
customerAddress.city (*) ANS50 Contient la ville de l’adresse du client. Facultatif
Si non valorisé, le client devra saisir cette information sur la page de saisie de mandat
customerAddress.country (*) A3 Contient le code de pays de l’adresse du client. Facultatif
Si non valorisé, le client devra saisir cette information sur la page de saisie de mandat
customerAddress.street (*) AS50 Contient le nom de rue de l’adresse du client. Facultatif
Si non valorisé, le client devra saisir cette information sur la page de saisie de mandat
customerAddress.​streetNumber (*) AN10 Contient le numéro de rue de l’adresse du client. Facultatif
Si non valorisé, le client devra saisir cette information sur la page de saisie de mandat
customerAddress.zipCode (*) AN10 Contient le code postal de l’adresse du client. Facultatif
Si non valorisé, le client devra saisir cette information sur la page de saisie de mandat
customerAddress.company ANSU50 Contient la dénomination commerciale de la société. Obligatoire si le champ transactionActors est valorisé à BTOF.
customerAddress.​businessName ANSU255 Raison sociale Facultatif, seulement utilisé avec un mandat de type ( transactionActors ) BTOF.
mandateId AN35 Référence Unique de Mandat (RUM) Facultatif, si elle n’est pas valorisée la référence unique du mandat est générée par SPS . ATTENTION, il est de la responsabilité du marchand de s’assurer de son unicité s’il le fournit.
paymentMeanData.sdd.​mandate​AuthentMethod AN19 Identifiant du client Facultatif
Doit être fourni pour utiliser la fonction searchMandate
paymentMeanData.sdd.​mandateAuthentMethod ANS20 Type de signature utilisé pour la création du mandat. Facultatif
Valeurs possibles : MAIL_OTP, SMS_OTP , 3D_SECURE
Si non renseigné, valeur par défaut = MAIL_OTP
paymentMeanData.​sdd.​mandateUsage ANS20 Type d’utilisation du mandat Facultatif
Valeurs possibles : ONE_OFF, RECURRENT
Si non renseigné, valeur par défaut = RECURRENT
statementReference AN100 Référence envoyée dans le flux de remise en paiement. Cette référence apparaît sur les relevés de compte du porteur. Facultatif
Disponible pour certains acquéreurs
transactionActors A4 Indique les acteurs de la transaction. Facultatif
valeurs possibles : BTOC ou BTOF
Si non renseigné, valeur par défaut = BTOC

(*) Vous devez nécessairement renseigner les 5 champs city , country , street , streetNumber et zipCode , afin que l'adresse soit prise en compte et pré-renseignée sur la page de saisie du mandat

Analyser la réponse

Dans le cas des paiements SDD, les champs spécifiques suivants sont remplis.

Nom du champ Format Description Remarques / règles
maskedPan ANS50 Identifiant BIC et IBAN sous forme masquée Règle masquage : BIC.IBAN
exemple : AXABFRPP314.FR76######################44
BIC : en clair ; IBAN : 4 premiers et 2 derniers chiffres en clair.
transactionActors ANS20 Valeurs possibles :
  • BTOB
  • BTOF
  • BTOC
customerBusinessName ANSU255 Raison sociale La raison sociale renseignée en entrée ou chez SPS .
customerCompanyName ANSU50 Dénomination commerciale de la société La dénomination commerciale renseignée en entrée.
customerLegalId AN14 Numéro SIRET Le numéro SIRET renseigné en entrée ou chez SPS .
customerPositionOccupied AN150 Titre du représentant légal Le titre du représentant légal renseigné en entrée ou chez SPS .
mandateAuthentMethod ANS20 Valeurs possibles :
  • 3D_SECURE
  • SMS_OTP
  • MAIL_ OTP
mandateCertificationType ANS20 Valeurs possibles :
  • E_BASIC
mandateUsage ANS20 Type de mandat Valeurs possibles :
  • « ONE_OFF » (pour unitaire)
  • « RECURRENT » (pour récurrent)
Cette valeur provient du type du mandat.
mandateId ANS35 Identifiant du mandat RUM à conserver par le commerçant
captureLimitDate N8 Date de présentation du prélèvement

Format AAAAMMJJ

La date de présentation n’est retournée dans la réponse qu'en mode AUTHOR_CAPTURE. En mode VALIDATION, la date de présentation du prélèvement est retournée lors de la validation de la transaction SDD.
captureDay N2 Délai avant présentation du prélèvement En mode AUTHOR_CAPTURE, la valeur est corrigée par SPS en fonction des règles de présentation choisie par l'acquéreur (captureDay = captureLimitDate - date du jour)

En mode VALIDATION, la valeur reste inchangée par rapport à la requête

secureReference ANS10 Preuve de garantie SSP

Référence de sécurisation de la transaction dans le cadre de l'option SafeDebit.

Cette référence devra être transmise à SSP en cas de demande d'indemnisation.

Dans le cas d’un paiement en plusieurs fois, les champs habituels sont remplis :

  • instalmentAmountsList
  • instalmentDatesList
  • instalmentNumber
  • instalmentTransactionReferencesList

Effectuer un paiement SDD avec Sips Office

Le processus de paiement pour Sips Office est décrit ci-dessous :

Initialiser un mandat

L’initialisation d’un mandat SEPA est effectuée en appelant la méthode initializeMandate .

Requête d’initialisation de création de mandat ( InitializeMandate )

Nom du champ Format Description Remarques / règles
iban AN34 Numéro international de compte bancaire (IBAN) Obligatoire
Les IBAN français comportent 27 chiffres.
mandateId AN35 Numéro de mandat Facultatif (déterminé par SPS si non fourni)
merchantReturnUrl URL Url vers laquelle le client sera redirigé après avoir signé son mandat. Obligatoire
paymentMeanAlias ANS20 Alias du moyen de paiement défini par l'acheteur Obligatoire
Exemple : « mon mandat »
transactionActors A4 Indique les acteurs de la transaction. Facultatif
Valeurs possibles = BTOC, BTOB, BTOF
Si non renseigné, valeur par défaut = BTOC
customerId AN19 Identifiant du client Facultatif
Doit être fourni pour utiliser la fonction searchMandate
customerLanguage A2 Langue du client : utilisé pour afficher les pages de signature du mandat dans la langue souhaitée. Facultatif
langues disponibles : français, allemand, anglais, espagnol, néerlandais, italien
statementReference AN100 Référence envoyée dans le flux de remise en paiement. Cette référence apparait sur les relevés de compte du porteur Facultatif
Disponible pour certains acquéreurs
paymentMeanData.sdd.​mandateAuthentMethod ANS20 Type de signature utilisé pour la création du mandat. Facultatif
Valeurs possibles = MAIL_OTP, SMS_OTP (3D_SECURE non supporté)
Si non renseigné, valeur par défaut = MAIL_OTP
paymentMeanData.sdd.​mandateUsage ANS20 Type d’utilisation du mandat. Facultatif
Valeurs possibles = RECURRENT, ONE_OFF
Si non renseigné, valeur par défaut = RECURRENT
paymentMeanData.sdd.​mandateCertificationType ANS20 Type de certification de la signature du mandat. Facultatif
Valeur possible = E_BASIC
Si non renseigné, valeur par défaut = E_BASIC
customerContact.email ANS128 Contient l’e-mail du client.

Obligatoire si méthode d’authentification par MAIL_OTP

Obligatoire si option SafeDebit souscrite.

customerContact.firstname ANS50 Contient le prénom du client. Obligatoire
customerContact.gender A1 Indique si le client est un homme (=M) ou une femme (=F). Facultatif
customerContact.lastname ANS50 Contient le nom du client. Obligatoire
customerContact.mobile ANS30 Contient le numéro de téléphone portable. Obligatoire si méthode d’authentification par SMS_OTP.
Le format avec code régional est attendu (+33 …).

Obligatoire si option SafeDebit souscrite.

customerContact.legalId AN14 Numéro de SIRET Obligatoire si transactionActors à BTOB
Facultatif si transactionActors à BTOF
Ne pas renseigner si transactionActors à BTOC
customerContact.positionOccupied ANS150 Titre du représentant légal Facultatif si transactionActors à BTOB ou BTOF
Ne pas renseigner si transactionActors à BTOC
customerAddress.city ANS50 Contient la ville de l’adresse du client. Obligatoire
customerAddress.country A3 Contient le code pays de l’adresse du client. Obligatoire
customerAddress.street AS50 Contient le nom de rue de l’adresse du client. Obligatoire
customerAddress.streetNumber AN10 Contient le numéro de rue de l’adresse du client. Obligatoire
customerAddress.zipCode AN10 Contient le code postal de l’adresse du client. Obligatoire
customerAddress.company ANSU50 Contient la dénomination commerciale de la société. Obligatoire si transactionActors est valorisé à BTOB ou BTOF.
Ne pas renseigner si transactionActors à BTOC
customerAddress.businessName ANSU255 Raison sociale Obligatoire si transactionActors est valorisé à BTOB ou BTOF.
Ne pas renseigner si transactionActors à BTOC
Note: Il est recommandé de valoriser le champ customerId si vous souhaitez utiliser la méthode de rechercher l’ensemble des mandats d’un client ( searchMandate ).

Exemple de requête : initializeMandate via Sips Office JSON

      {
   "customerAddress":
{
    "city":"PARIS",
    "country":"FRA",
    "street":"Rue de la Bastille",
    "streetNumber":"19",
    "zipCode":"75000"
},
  "customerContact":
{
   "email":"julie.dupont@mail.com",
   "firstname":"Julie",
   "gender":"F",
   "lastname":"DUPONT"
},
 "customerId":"JAU001"
 "iban":"FR7617906001120227366700148",
 "interfaceVersion":"MR_WS_2.19",
 "keyVersion":"1",
 "merchantId":"210011990011607",
 "merchantReturnUrl":"https://merchantReturnUrl.com",
 "paymentMeanAlias":"SEPA_DIRECT_DEBIT",
 "paymentMeanData":
{
   "sdd":
{
    "mandateAuthentMethod":"MAIL_OTP"
}
},
  "transactionActors":"BTOC",
  "seal":"12682c81e701f171b9f33061846c60dcade2afb73eb064027fbb88cc6068382e"
} 
    

Réponse à l’initialisation de création de mandat

Nom du champ Format Description Remarques / règles
acquirerResponseCode AN2 Code réponse retourné par SPS
mandateId AN35 Numéro de mandat (identique à celui de la requête si fournie, sinon généré par SPS ).
mandateResponseCode AN2 Code réponse du serveur WL Sips
messageVersion Version du message construit 0.1
redirectionData Données de redirection
redirectionUrl Url de redirection

Rediriger le client vers les pages SDD

Le client doit être redirigé vers l’URL fournie en réponse de la méthode « initializeMandate ». La redirection s’effectue en faisant un appel HTTP POST vers la « redirectionUrl » reçue avec les paramètres « messageVersion » et « redirectionData ».

A la fin de la cinématique de signature de mandat, le client est redirigé sur l’URL fournie dans la requête d’initialisation, « merchantReturnUrl ». Les champs suivants sont transmis en POST et doivent être récupérés pour finaliser la création du mandat :

Nom du champ Remarques / règles
responseCode Code réponse du processus
redirectionData Données de redirection
messageVersion Version du message utilisé
amount Montant de la transaction en centimes
merchantId Identifiant de la boutique
transactionReference Référence de la transaction
transactionId Identifiant de la transaction
transactionDate Date de la transaction

Finaliser la création d’un mandat

Une fois que le client a signé son mandat sur les pages SDD, il est redirigé vers l’Url qui a été fourni lors de l’appel à « initializeMandate » dans le champ merchantReturnUrl .

La redirection s’effectue par WL Sips en faisant un appel HTTP POST vers cette Url avec les paramètres « messageVersion », « redirectionData ». Ce sont ces paramètres qui doivent être transmis dans l’appel à la méthode « finalizeMandate » pour terminer la création de mandat.

Requête de finalisation de création de mandat

Les champs spécifiques suivants doivent être fournis par le commerçant dans la requête de finalisation.

Nom du champ Format Description Remarques / règles
redirectionData ANS10240 Contient les données de redirection reçues lors de la redirection du client sur la merchantReturnUrl. Obligatoire
messageVersion ANS20 Version du message 0.1

Réponse à la finalisation de création de mandat

Les champs suivants sont retournés pour un prélèvement SDD :

Nom du champ Format Description Remarques / règles
mandateResponseCode AN2 Code réponse retourné par WL Sips (indique le résultat global de la création de mandat).
mandateId AN35 Numéro de mandat
bic AN11 Code d'identification de banque (BIC)
iban AN34 Numéro international de compte bancaire (IBAN) Les IBAN français comportent 27 chiffres.
paymentMeanAlias ANS20 Alias du moyen de paiement défini et utilisé par l'acheteur dans son portefeuille.
transactionActors A4 Schéma de mandat BTOC|BTOB|BTOF

La lecture du champ mandateResponseCode permet de savoir si la création de mandat a été effectuée avec succès ou non.

Transmettre une demande de prélèvement SEPA

Requête de prélèvement SEPA

Pour créer un prélèvement SDD, il faut utiliser la fonction directDebitOrder et indiquer dans la requête le type de paiement SDD et la référence unique de mandat.

Note: cette fonction est également disponible sur Sips Office Batch .
Nom du champ Format Description Remarques / règles
paymentMeanData.sdd.mandateId ANS35 Identifiant de mandat du débiteur Donnée obligatoire
paymentMeanBrand Type de moyen de paiement Donnée obligatoire :
à valoriser avec SEPA_DIRECT_DEBIT.

Exemple de requête : directDebitOrder via Sips Office JSON

      {
   "amount":"1000",
   "captureDay":"0",
   "captureMode":"AUTHOR_CAPTURE",
   "currencyCode":"978",
   "customerId":"customerId1",
   "customerIpAddress":"127.0.0.1",
   "interfaceVersion":"IR_WS_2.18",
   "keyVersion":"1",
   "mandateId":"000000000000000031",
   "merchantId":"210043956120001",
   "merchantTransactionDateTime":"2017-10-16T16:13:11.602+02:00",
   "orderChannel":"INTERNET",
   "paymentMeanBrand":"SEPA_DIRECT_DEBIT",
   "transactionOrigin":"SIPS-SIM",
   "transactionReference":"SIM20171016161311",
   "seal":"108458787fe9dfe063605b21f946c727aab94468683482da1a5e2eb7ac08a016"
}
    

Réponse à une demande de prélèvement SEPA

Dans le cas des paiements SDD, les champs spécifiques suivants sont remplis:

Nom du champ Format Description Remarques / règles
maskedPan ANS50 Identifiants BIC et IBAN sous forme masquée du mandat utilisé. Règle masquage : BIC.IBAN comme suit : AXABFRPP314.FR76######################44
BIC : en clair ; IBAN : 4ers et 2 derniers chiffres en clair.
Le BIC peut varier de 8 à 11 caractères, l’IBAN varie dans chaque pays et a une taille maximum de 34 caractères.
transactionActors ANS20 Type de la transaction créée. Valeurs possibles :
  • BTOB
  • BTOC
  • BTOF
Cette valeur provient du type du mandat.
mandateId ANS35 Identifiant du mandat utilisé. RUM à conserver par le commerçant
captureLimitDate N8 Date de présentation du prélèvement. Format AAAAMMJJ
La date de présentation n’est retournée dans la réponse qu’en mode AUTHOR_CAPTURE. En mode VALIDATION, c’est la date du jour additionnée au captureDay qui est retournée, la date réelle de prélèvement est retournée lors de la validation de la transaction SDD.
captureDay N2 Délai avant présentation du prélèvement Valeur corrigée par SPS en fonction des règles de présentation choisie par l'acquéreur.
captureDay = captureLimitDate - date du jour
authorisationId ANS32 Identifiant de l’autorisation. En mode VALIDATION c’est un « 0 » qui est retourné, la valeur réelle est retournée lors de la validation de la transaction SDD.
secureReference ANS10 Preuve de garantie SSP

Référence de sécurisation de la transaction dans le cadre de l'option SafeDebit.

Cette référence devra être transmise à SSP en cas de demande d'indemnisation.

Exemple de réponse : directDebitOrder via Sips Office JSON

      {
  "authorisationId":"32100000010020171016",
  "acquirerResponseCode":"00",
  "complementaryCode":"00",
  "responseCode":"00",
  "transactionDateTime":"2017-10-16T16:14:06+02:00",
  "holderAuthentStatus":"NO_AUTHENT",
  "scoreProfile":"10_GONOGO_PRE_AUTHORISATION",
  "maskedPan":"SOGEFRPPXXX/FR7630003005050005001582616",
  "captureLimitDate":"20171018",
  "transactionActors":"BTOC",
  "mandateId":"000000000000000031",
  "valueDate":"20171018",
  "s10TransactionReference":
  {
  "s10TransactionId":"10",
  "s10TransactionIdDate":"20171016"
  },
  "transactionReference":"SIM20171016161311",
  "seal":"d87ab3c1fac4d3eb53cdf3fb02d31b9da7483cb72898b4c639eeb1b52ed5a708",
  "preAuthorisationProfile":"10_GONOGO_PRE_AUTHORISATION",
  "preAuthorisationProfileValue":"unknown",
  "captureDay":2,
  "captureMode":"AUTHOR_CAPTURE",
  "transactionPlatform":"PROD"
  "secureReference":"SF_16957"
}
    

Mettre en oeuvre des paiements récurrents SDD

Le prélèvement SEPA est parfaitement adapté aux paiements récurrents. Comparé aux paiements récurrents carte, il ne présente pas de contrainte d'expiration du moyen de paiement, ni de limite de montant lié au plafond d'autorisation de la carte.

2 solutions permettent de mettre en oeuvre des paiements récurrents SDD :

  • le paiement récurrent "basique"
  • le paiement par abonnement

Paiements récurrents "basiques"

La mise en oeuvre des paiements récurrents se fait en 2 étapes :

  • le débiteur signe son mandat
  • vous transmettez une demande de prélèvement à chaque échéance

Faire signer le mandat

Afin de faire signer un mandat en ligne à votre client,

Quel que soit le connecteur choisi, le champ paymentMeanData.sdd.​mandateUsage doit être valorisé à RECURRENT. Vous devez conserver la valeur du champ mandateId , pour la resoumettre lors des demandes de prélèvement récurrent.

Transmettre les demandes de prélèvement

Afin de déclencher le prélèvement de votre client,

  • soit vous utilisez le connecteur Sips Office . Veuillez suivre les indications chapitre Effectuer un paiement SDD avec Sips Office
    • débitez votre client à partir du numéro de mandat, via la méthode directDebitOrder
    • débitez votre client à partir de la référence de transaction, crée lors de la signature du mandat, via la méthode duplicate
  • soit vous utilisez le connecteur Sips Office Batch
    • débitez votre client à partir du numéro de mandat, via la méthode directDebitOrder
    • débitez votre client à partir de la référence de transaction, crée lors de la signature du mandat, via la méthode duplicate

Gérer vos transactions SDD

Opérations de caisse disponibles

Les opérations suivantes sont disponibles sur les transactions SDD :

Gestion de caisse
Annulation V Il est possible d’annuler un prélèvement SDD via Sips Office ou Sips Office Extranet . Aucun champ spécifique à ce moyen de paiement n’est à envoyer.
L’annulation doit se faire avant l’ordre de remise en banque, et il est de votre responsabilité de vérifier que la remise n’a pas été effectuée.
Validation V
Lors de la validation d’une transaction SDD, la date de présentation du prélèvement créé est retournée dans le champ captureLimitDate .
Conformément à la réglementation SEPA, il est de votre responsabilité de présenter cette date au client.
Remboursement V Le remboursement d’un prélèvement SDD via Sips Office ou Sips Office Extranet génère un SCT. Il n’est pas possible d’effectuer plusieurs remboursements sur un même SDD.
Le remboursement déplafonné (supérieur au montant d’origine) n’est pas autorisé.
Les éventuels impayés sur remboursements apparaissent dans le journal de rapprochement des impayés.
Duplication V Il est possible de dupliquer un prélèvement SDD via Sips Office ou Sips Office Extranet . Aucun champ spécifique à ce moyen de paiement n’est à envoyer.
Conformément à la réglementation SEPA, il est de votre responsabilité de présenter au client la date du prélèvement créé par duplication.
Recyclage X
Abandon de transactions SDD V L’opération de révocation de mandat disponible uniquement dans Sips Office Extranet provoque automatiquement l’abandon de toutes les transactions programmées et non remisées en banque sans aucune intervention supplémentaire nécessaire de votre part.
Crédit X

Le diagramme ci-dessous vous permet de savoir quelle opération de gestion de caisse est disponible lorsqu'une transaction est dans un état donné :

Consulter vos transactions SDD

Journaux

Les journaux mis à disposition par WL Sips vous permettent d’avoir une vision exhaustive et consolidée de vos transactions, opérations de caisse, situation comptable et impayés. Vous pouvez utiliser ces informations pour enrichir votre système d’information.

La disponibilité des transactions SDD pour chaque type de journal est récapitulée dans le tableau ci-dessous :

Disponibilité des journaux
Journal des transactions V
Journal des opérations V
Journal de rapprochement des transactions V
Journal de rapprochement des impayés V
Note: pour les transactions SDD, le champ paymentMeanBrand est renseigné avec la valeur SEPA_DIRECT_DEBIT.

Les versions minimum des journaux pour l'option SafeDebit sont :

  • Journaux des transactions : TAB20_V18
  • Journaux des opérations : TAB20_V9

Sips Office Extranet

Vous pouvez consulter vos transactions SDD et effectuer différentes opérations de gestion de caisse grâce à Sips Office Extranet .

Voici le détail d’une transaction SDD.

Attention: le champ Preuve de garantie n'est valorisé que si vous avez souscrit à l'option SafeDebit et seulement si le prélèvement SEPA est garanti.
Le champ Garantie de paiement est quant à lui valorisé à OUI si le prélèvement SEPA est garanti et à NON s'il ne l'est pas. Il reste vide si non applicable.

Gérer ses mandats via Sips Office

Rechercher un mandat

Vous pouvez rechercher l’ensemble des mandats d’un client donné si l’identifiant du client a été fourni lors de la création de mandat (lors de l’appel à initializeMandate sur Sips Office ou lors de la demande de paiement sur Sips Paypage ).

Requête searchMandate

Nom du champ Format Description Remarques / règles
customerId AN19 Identifiant du client

Exemple de requête : searchMandate via Sips Office JSON

      {
"customerId":"JAU001",
"interfaceVersion":"MR_WS_2.19",
"keyVersion":"1",
"merchantId":"210011990011607",
"seal":"c2e8ca69f2c10e71bed97d62d72d24458eed2f1610756f58ee9b5981f315c327"
}
    

Réponse searchMandate

Nom du champ Format Description Remarques / règles
mandateResponseCode AN2 Code réponse retourné par WL Sips (indique le résultat global de la recherche de mandat).
mandateList Liste des mandats associés au client

Données du mandat renvoyées ( mandateList ) :

Nom du champ Format Description Remarques /règles
bic AN11 Code d'identification de banque
iban AN34 Numéro international de compte bancaire Les IBAN français comportent 27 chiffres.
mandateLastUpdateDate N8 (YYYYMMDD) Date de dernière mise à jour du mandat
mandateCreationDate N8 (YYYYMMDD) Date de création du mandat
mandateId AN35 Numéro de mandat
mandateSignatureDate N8 (YYYYMMDD) Date de signature du mandat
mandateStatus ANS30 Statut du mandat
mandateUsage ANS20 Type d’utilisation du mandat
transactionActors ANS20 Type du mandat
mandateSecureReference N32 Identifiant du client chez SSP Concerne l'option SafeDebit .
riskyMandate A1 Précise s'il y a eu une prise de risque.

Y ou N

Concerne l'option SafeDebit .

Exemple de réponse : searchMandate via Sips Office JSON

      {
"mandateResponseCode":"00",
"acquirerResponseCode":"00",
"mandateList":
[
{
  "mandateId":"000000000000009383",
  "mandateStatus":"ACTIVE",
  "mandateSignatureDate":"20171016",
  "mandateCreationDate":"20171016",
  "mandateLastUpdateDate":"20171016",
  "bic":"AGRIFRPP879",
  "iban":"FR7617906001120227366700148",
  "transactionActors":"BTOC",
  "mandateUsage":"RECURRENT",
  "mandateSecureReference":"12345678901234567890123456789012",
  "riskyMandate":"N"
},
{
  "mandateId":"000000000000009382",
  "mandateStatus":"ACTIVE",
  "mandateSignatureDate":"20171016",
  "mandateCreationDate":"20171016",
  "mandateLastUpdateDate":"20171016",
  "bic":"AGRIFRPP879",
  "iban":"FR7617906001120227366700148",
  "transactionActors":"BTOC",
  "mandateUsage":"RECURRENT",
  "mandateSecureReference":"12345678901234567890123456789012",
  "riskyMandate":"N"

}
],
"seal":"7fea0c806411bac05d2687d8443ae031cb8b0c0ffde143c08536597e93862df1"
}
    

Récupérer le PDF d’un mandat

Vous pouvez récupérer le contenu d’un PDF via Sips Office pour, par exemple, en proposer le téléchargement aux clients directement depuis votre site Web. La méthode getPdfMandate permet de recevoir le contenu du PDF sous une forme encodée en Base64 . Il faut alors la décoder pour reconstruire le fichier PDF.

Note:

il n'est pas possible de récupérer un mandat papier (non signé électroniquement) créé via Sips Office Extranet .

Requête getPdfMandate

Nom du champ Format Description Remarques / règles
mandateId AN35 Numéro de mandat

Exemple de requête : gePdftMandate via Sips Office JSON

      {
  "interfaceVersion":"MR_WS_2.19",
  "keyVersion":"1",
  "mandateId":"000000000000009382",
  "merchantId":"210011990011607",
  "seal":"ac46f84ff1f9c974602f0b922f295a115af1c436186d2dbc58e692ef1813b766"
}
    

Réponse getPdfMandate

Nom du champ Format Description Remarques / règles
mandateResponseCode AN2 Code réponse retourné par WL Sips (indique le résultat global de la récupération du PDF du mandat).
mandatePdf Contenu du PDF encodé en Base64

Exemple d’implémentation pour décoder la réponse getPdfMandate

L’exemple ci-dessous est codé en Java et permet de proposer au client le téléchargement d’un PDF à partir du champ mandatePdf reçu :

      byte[] decodedBytes = Base64.decodeBase64(%MANDATE_PDF_RECEIVED%).getBytes("UTF-8"));
response.setContentType("application/pdf");  
response.setHeader("Content-disposition", "attachment; filename=MandatePDFFile.pdf");

try (final ByteArrayInputStream in = new ByteArrayInputStream(decodedBytes);
final OutputStream out = response.getOutputStream()) {
final byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
}
    

Récupérer les données d’un mandat

Vous pouvez récupérer les données globales d’un mandat. Il s’agit des données propres au mandat (statut, IBAN, BIC, …), des données du client qui a créé ce mandat, ainsi que de la liste des transactions associées à ce mandat, le cas échéant.

Requête getMandateData

Nom du champ Format Description Remarques / règles
mandateId AN35 Numéro de mandat

Exemple de requête : gePdftMandate via Sips Office JSON

      {
   "interfaceVersion":"MR_WS_2.19",
   "keyVersion":"1",
   "mandateId":"000000000000009382",
   "merchantId":"210011990011607",
   "seal":"ac46f84ff1f9c974602f0b922f295a115af1c436186d2dbc58e692ef1813b766"
}
    

Réponse getMandateData

Données relatives au mandat et au client :

Nom du champ Format Description Remarques / règles
mandateResponseCode AN2 Code réponse retourné par WL Sips (indique le résultat global de la recherche du mandat)
acquirerResponseCode AN2 Code réponse retourné par SPS .
mandateId AN35 Numéro de mandat
mandateCreationDate N8 (YYYYMMDD) Date de création du mandat
mandateLastUpdateDate N8 (YYYYMMDD) Date de dernière mise à jour du mandat
mandateSignatureDate N8 (YYYYMMDD) Date de signature du mandat
mandateUsage ANS20 Type d’utilisation du mandat ONE_OFF|RECURRENT
mandateStatus ANS30 Statut du mandat
bic AN11 Code d'identification de banque
debtorName ANS100 Nom complet de débiteur associé au mandat
iban AN34 Numéro international de compte bancaire Les IBAN français comportent 27 chiffres.
transactionActors ANS20 Type du mandat BTOB|BTOC|BTOF
directDebitList Contient la liste des prélèvements créés à partir du mandat (voir tableau ci-dessous).
customerContact .email ANS128 Contient l’e-mail du client.
customerContact.gender A1 Indique si le client est un homme (=M) ou une femme (=F).
customerContact.mobile ANS30 Contient le numéro de téléphone portable.
customerContact.legalId AN14 Numéro de SIRET
customerContact.position​Occupied ANS150 Titre du représentant légal
customerAddress.city ANS50 Contient la ville de l’adresse du client.
customerAddress.country A3 Contient le code pays de l’adresse du client.
customerAddress.street AS50 Contient le nom de rue de l’adresse du client.
customerAddress.streetNumber AN10 Contient le numéro de rue de l’adresse du client.
customerAddress.zipCode AN10 Contient le code postal de l’adresse du client.
customerAddress.company ANSU50 Contient la dénomination commerciale de la société.
customerAddress.businessName ANSU255 Raison sociale

Données des prélèvements renvoyées ( directDebitList ) :

Nom du champ Format Description Remarques / règles
amount N12 Montant du prélèvement
dueDate N8 (YYYYMMDD) Date de remise en banque de la transaction
directDebitCreationDate N8 (YYYYMMDD) Date de la création du prélèvement
directDebitStatus ANS30 Statut du prélèvement

Exemple de réponse : getMandateData via Sips Office JSON

      {
  "mandateResponseCode":"00",
  "acquirerResponseCode":"00",
  "mandateId":"000000000000009382",
  "mandateStatus":"ACTIVE",
  "mandateSignatureDate":"20171016",
  "mandateCreationDate":"20171016",
  "mandateLastUpdateDate":"20171016",
  "bic":"AGRIFRPP879",
  "iban":"FR7617906001120227366700148",
  "transactionActors":"BTOC",
  "mandateUsage":"RECURRENT",
  "debtorName":"DUPONT Julie",
  "customerContact":
 {
      "email":"julie.dupont@mail.com"
 },
 "customerAddress":
  {
     "city":"PARIS",
     "country":"FR",
     "street":"Rue de la Bastille",
     "streetNumber":"19",
     "zipCode":"75000"
},
 "directDebitList":
 [
 {
    "amount":250,
    "dueDate":"20171113",
    "directDebitCreationDate":"20171106",
    "directDebitStatus":"CREATED"
 },
{
    "amount":250,
    "dueDate":"20171206",
    "directDebitCreationDate":"20171106",
    "directDebitStatus":"CREATED"
},
{
   "amount":250,
   "dueDate":"20180108",
   "directDebitCreationDate":"20171106",
   "directDebitStatus":"CREATED"
}
],
"seal":"d1c7aff5c85fcc116f7c9fa39c470ba3ed807fd3e65f3edbd0344ec459337058"
}