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étiers 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 la mise en œuvre de la solution Sips Office Batch et des tests initiaux relatifs au paiement ou à la gestion de caisse.
A qui s’adresse ce document
Sips Office Batch a pour but d'offrir aux commerçants les fonctions de Sips Office en mode Batch. Ces fonctions sont basées sur l'échange hors-ligne de fichiers. Certaines options du mode en ligne ne sont pas disponibles comme par exemple l’authentification 3-D Secure.
C’est un guide d’implémentation qui s’adresse à l’équipe technique du commerçant.
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.
Prérequis
Une connaissance des protocoles de transfert des fichiers ainsi qu’une connaissance des standards relatifs aux langages de programmation pratiqués aujourd’hui, tels que Java, PHP ou .Net, est nécessaire pour développer la connexion à Sips Office Batch.
Comprendre le paiement avec Sips Office Batch
Le traitement des fichiers par Sips Office Batch se décompose en plusieurs étapes :

1. Le commerçant dépose des fichiers de requêtes sur un compte FTPS ou SFTP externe fourni par Worldline.
2. La passerelle de transfert de fichiers Worldline reçoit les fichiers de requêtes et les envoie au moteur Sips Office Batch.
3. Le moteur Sips Office Batch traite les fichiers de requêtes un par un et génère un fichier de réponses par fichier de requêtes.
4. Le moteur Sips Office Batch envoie le fichier de réponses au compte FTPS ou SFTP externe via la passerelle de transfert de fichiers.
5. Le commerçant récupère le fichier de réponses depuis le compte FTPS ou SFTP externe fourni par Worldline.
6. Le moteur Sips Office Batch, via la passerelle de transfert de fichier, détruit le fichier de réponses après le premier téléchargement réussi par le commerçant.
Règles générales concernant les transferts
- Le commerçant peut choisir entre FTPS ou SFTP comme méthode de transfert.
- Worldline fournit un compte commerçant dédié (avec nom d'utilisateur et mot de passe), et le compte Worldline doit être le même pour les fichiers de requêtes et les fichiers de réponses, mais des restrictions s'appliquent quant au nom du fichier.
- En plus des vérifications de nom d'utilisateur et de mot de passe, les serveurs SFTP et FTPS de Worldline exécutent une vérification de l'adresse IP du commerçant.
- Worldline donne au fichier de réponses un nom différent de celui du fichier de requêtes.
- Après une période donnée (1 semaine), les fichiers de réponse sont supprimés des comptes FTPS ou SFTP, même s'ils n'ont pas été téléchargés.
Gérer les opérations de plusieurs commerçants
Le remettant est un partenaire qui joue le rôle d'un opérateur technique gérant les échanges de fichiers avec la plate-forme de paiement WL Sips. Un remettant peut envoyer des opérations de plusieurs commerçants dans le même fichier à condition qu'elles soient déclarées au nom de ce remettant lors de l'étape d’inscription.

Il est intéressant de noter qu'un remettant peut également être lui-même un commerçant.
Comprendre le format des fichiers échangés
Les fichiers de requête et de réponse échangés avec Sips Office Batch sont au format CSV.
Chaque fichier est constitué de quatre parties successives :
- FILE TYPE correspondant au type de fichier (voir le chapitre suivant pour les explications des différents types) ;
- HEADER contenant l’en-tête du fichier ;
- BODY contenant toutes les opérations ;
- END indiquant la fin du fichier.
L'en-tête du fichier contient un identifiant sous la forme d’un numéro de séquence. Ce numéro de séquence doit être :
- numérique ;
- unique pour tous vos fichiers (sans limite de temps) ;
- croissant et il doit commencer à 1 et augmenter de 1 en 1.
Le corps du fichier contient plusieurs enregistrements. Un enregistrement correspond à une opération liée à une transaction WL Sips (création ou mise à jour).
- Exemple de structure principale du fichier de requête ou de réponse :
<OPERATION> contient le nom de l'opération (AUTHOR, VALIDATE, etc.).
Dans le format CSV, chaque enregistrement est préfixé par le nom du type d’élément écrit en majuscules.
Les valeurs des champs de chaque élément sont écrites l'une après l'autre et séparées par un point-virgule, sans espace et sans être préfixées de leur nom. L'ordre de ces champs doit être respecté.
Plusieurs fichiers de requête peuvent être traités en une journée. Lorsque plusieurs fichiers de requête sont disponibles sur le compte FTPS externe, Sips Office Batch les traite un par un successivement (et non simultanément et par ordre d’arrivée sur le compte FTPS).
Il y a un fichier de réponse pour chaque fichier de requête même si le traitement du fichier génère des erreurs.
Règles générales concernant les fichiers échangés
- La taille des fichiers ne doit pas dépasser 100 Mo ou 100 000 enregistrements d'opérations.
- Les fichiers sont dédiés à un seul remettant.
- Un fichier de requête ne peut pas contenir plusieurs opérations qui concernent la même transaction. Par exemple, il n'est pas possible de créer une transaction et de l'annuler dans le même fichier de requête.
- L'ordre des opérations dans le corps du fichier de réponse peut être différent de l'ordre des opérations dans le fichier de requête.
La grammaire CSV contient des fonctions spécifiques qui seront détaillées tout au long de ce document. Avec cette grammaire, l'ordre des champs doit être respecté.
Merci de vous rapprocher de votre contact habituel dans le cas où la limite de 100 Mo ou 100 000 enregistrements entraîne une contrainte dans votre intégration.
Comprendre le format du fichier de requête
Le type de fichier est basé sur le service utilisé.
Tous les champs de l’élément file type de la requête sont obligatoires et en format ANS20. Ils sont retournés à l’identique dans la réponse.
- Le nom de la balise est file.
- Le champ type doit valoir 'request' pour la requête et 'response' pour la réponse.
- Les champs format et version dépendent du type de service appelé.
Format | Version | Description du service |
---|---|---|
office | Doit valoir 18 | Acceptation des transactions et des opérations de caisse. |
token | Doit valoir 1 | Tokenisation et détokenisation des PAN. |
- Exemple de type de fichier :
...
FILE;request;office;18
...
L’entête est basé sur un enregistrement contenant les champs suivants :
Champs | Présence | Format | Description | Numéro de champ CSV |
---|---|---|---|---|
Le nom de la balise est header | Obligatoire | ANS20 | Indique un enregistrement d'en-tête | 1 |
remitterId | Obligatoire | N15 | Identifiant du remettant | 2 |
date | Obligatoire | XML Date | Date à laquelle le fichier a été créé dans le fuseau horaire du commerçant (AAAA-MM-JJ+hhmm). | 3 |
time | Obligatoire | XML Time | Heure à laquelle le fichier a été créé dans le fuseau horaire du commerçant (hh:mm:ss+hhmm). | 4 |
sequence | Obligatoire | N6 | Numéro de séquence du fichier. Vous pouvez utiliser un remplissage à base de « 0 » sur la gauche (par exemple : 000001 pour le numéro de la première séquence). | 5 |
- Exemple d’entête :
...
HEADER;023101122334455;2012-06-11+0200;14:28:00+0100;86
...
Le corps contient des opérations en fonction du service déclaré dans l'élément file. Il faut se reporter au chapitre suivant pour connaître le détail des champs suivant l’opération souhaitée.
Dans le format CSV, il n'y a pas de balise particulière pour la partie « corps » du fichier : toutes les opérations sont détaillées directement après la partie « header ».
- Exemple de partie « corps » pour le service « office » :
…
CARDORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;470;
201201;209910;4975497549754975;1;978;test@worldline.com;123;127.0.0.1;
2012-11-29T17:04:30Z;INTERNET;123456;;context;;origin;all;;;;;;;;;FRA
;;PAN;;;;;;VISA;APPLIED_DEFAULT;;;;;;
...
La partie finale est basée sur un enregistrement contenant les champs suivants :
Champs | Présence | Format | Description | Numéro de champ CSV |
---|---|---|---|---|
Le nom de la balise est end | Obligatoire | ANS20 | Indique la fin de l'enregistrement | 1 |
nbRecord | Obligatoire | N6 | Nombres d'opérations dans la partie « body » | 2 |
- Exemple d’élément « end » :
END;227
Nommage du fichier de requête
Le fichier de requête doit être transmis dans une archive au format ZIP. L’archive doit se nommer OFBREQxx.ZIP où xx désigne un nombre compris entre 01 et 99.
Une archive ne doit contenir qu’un seul fichier requête.
Le nom du fichier requête est libre mais nous vous conseillons de respecter le nommage suivant : SOB.Alias.Date-Heure.csv
Avec :
- SOB : fichier requête à destination de « Sips Office Batch » ;
- Alias : alias/merchantId WL Sips de la boutique remettante ;
- Date : date du fichier sous le format AAMMJJ ;
- Heure : heure du fichier sous le format HHMMSS.
Comprendre le format du fichier de réponse
L'en-tête est basé sur un enregistrement contenant les champs suivants :
Champs | Format | Description | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est header. | ANS20 | Indique un enregistrement d'en-tête | 1 |
remitterId | N15 | Identifiant du remettant | 2 |
date | XML Date | Date de création du fichier dans le fuseau horaire du commerçant, le format de la date est YYYY-MM-DD+hhmm. | 3 |
time | XML Time | Heure de création du fichier dans le fuseau horaire du commerçant, le format de l'heure est hh:mm:ss+hhmm. | 4 |
sequence | N6 | Numéro de séquence du fichier. | 5 |
processingResponseCode | AN2 | Code réponse de traitement. | 6 |
beginProcessTime | ANS25 ISO8601 |
Horodatage de début du traitement du fichier dans le fuseau horaire du commerçant. | 7 |
endProcessTime | ANS25 ISO8601 |
Horodatage de fin du traitement du fichier dans le fuseau horaire du commerçant. | 8 |
- Exemple d’en-tête :
...
HEADER;023101122334455;2012-06-11+0200;14:28:00+0100;86;00;
2012-06-07T11:30:47+02:00;2012-06-07T11:31:43+02:00
...
L’élément “error-details” n’est renvoyé que lorsqu’une erreur intervient lors du contrôle du fichier requête. « error-details » est une chaîne de caractère décrivant l’erreur.
- Exemple d’en-tête :
...
ERRORDETAILS;ERROR_FILE_ALREADY_PROCESSED: processing_response_code = [02] : Error in the file sequence number. The file has already been processed.
Expected sequence number [2] - Request file sequence number [1]
...
A chaque opération du fichier de requête correspond un élément du fichier de réponse dont les attributs ont été remplis lors du renvoi. Les champs retournés sont décrits au chapitre suivant.
La fin du fichier de réponse est similaire à celle du fichier de requête et comporte les champs suivants :
Champs | Format | Description | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est end. | ANS20 | Indique la fin de l'enregistrement. | 1 |
nbRecord | N6 | Nombres d'opérations dans la partie « body ». | 2 |
- Exemple d’élément « end » :
END;227
Nommage du fichier de réponse
Le fichier de réponse est transmis dans une archive au format ZIP. Le nom de cette archive est s******.OFBREP**.zip.
Où :
- s****** est un numéro de séquence unique et non paramétrable ;
- OFBREP** un nombre compris entre 01 et 99 identique au fichier requête.
Le nom du fichier de réponse contenu dans l’archive a pour formalisme : OFFUBZ.OFFBAREP.$alias.$date (exemple : OFFUBZ.OFFBAREP.MM20LEQUIPE0861.181216).
Où :
- $alias est l’alias WL Sips de la boutique ;
- $date est la date du traitement du ficher, au format AAMMJJ.
Rapprochement des fichiers de requête et de réponse
Afin d'aider au rapprochement des fichiers de requête et de réponse, chaque fichier de requête est identifiée par un numéro de séquence qui est également retourné avec la réponse.
Tous les champs du fichier de requête sont également retournés dans le fichier de réponse à l'exception des champs suivants en raison de la conformité avec PCI DSS :
- cardNumber peut être retourné masqué dans le champ maskedPan ;
- cardEffectiveDate (date de début de validité de la carte) ;
- cardExpiryDate (date d'expiration de la carte) ;
- cardSeqNumber (numéro de séquence de la carte si présent) ;
- cardCSCValue (cryptogramme visuel de la carte).
WL Sips peut modifier la valeur du champ suivant si la création de la transaction est suivie d'une autorisation bancaire :
- transactionDate
Démarrer avec Sips Office Batch en 4 étapes
Étape 1 : demander la création d’un compte FTPS
Pour cela, vous devez renvoyer le formulaire d’inscription à Sips Office Batch remis par votre interlocuteur technique Worldline. La création du compte FTPS prend environ 12 jours à réception du formulaire correctement rempli.
Des échanges par mail ont ensuite lieu pour tester le compte FTPS en recette avant mise en place en environnement de production.
Étape 2 : utiliser les fonctions disponibles
Les différentes fonctions possibles font l’objet de requêtes spécifiques.
Une requête est composée de champs génériques et de champs de type container.
Un container est une structure de données utilisée afin de regrouper fonctionnellement les données.
Si le champ est un champ d'un container, il est désigné <nom du container>.<nom du champ>.
Fonction cardOrder du service office
Cette fonction vous permet d'effectuer un paiement carte si vous disposez des informations bancaires d'un client.
Format de la requête cardOrder
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est CARDORDER | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
captureDay | Facultatif | 6 | |
captureMode | Facultatif | 7 | |
cardCSCValue | Facultatif | 8 | |
cardEffectiveDate | Facultatif | 9 | |
cardExpiryDate | Facultatif | 10 | |
cardNumber | Obligatoire | 11 | |
cardSeqNumber | Obligatoire | 12 | |
currencyCode | Facultatif | 13 | |
customerEmail | Obligatoire | 14 | |
customerId | Facultatif | 15 | |
customerIpAddress | Facultatif | 16 | |
merchantTransactionDateTime | Facultatif | 17 | |
orderChannel | Facultatif | 18 | |
orderId | Obligatoire | 19 | |
paymentPattern | Facultatif | 20 | |
returnContext | Facultatif | 21 | |
statementReference | Facultatif | 22 | |
transactionOrigin | Facultatif | 23 | |
fraudData.bypass3DS | Facultatif | 24 | |
fraudData.bypassCtrlList | Facultatif | 25 | |
fraudData.bypassInfoList | Facultatif | 26 | |
fraudData.allowedCardCountryList | Facultatif | 27 | |
fraudData.deniedCardCountryList | Facultatif | 28 | |
fraudData.allowedCardArea | Facultatif | 29 | |
fraudData.deniedCardArea | Facultatif | 30 | |
fraudData.allowedIpCountryList | Facultatif | 31 | |
fraudData.deniedIpCountryList | Facultatif | 32 | |
fraudData.allowedIpArea | Facultatif | 33 | |
fraudData.deniedIpArea | Facultatif | 34 | |
panType | Facultatif | Valorisé à TOKEN_PAN si paiement via un token. | 35 |
paymentMeanData.accord.settlementMode | Facultatif | 36 | |
paymentMeanData.cofinoga.settlementMode | Facultatif | 37 | |
paymentMeanData.bancontact.initialAuthenticationCavv | Facultatif | 38 | |
paymentMeanData.bancontact.bancontactMerchantCustomerAuthenticationMethod | Facultatif | 39 | |
holderData.birthDate | Facultatif | 40 | |
s10TransactionReference.s10TransactionId | Facultatif si vous utilisez le transactionReference. | 41 | |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 42 |
paymentMeanBrand | Facultatif | 43 | |
paymentMeanBrandSelectionStatus | Facultatif | 44 | |
initialSchemeTransactionIdentifier | Facultatif | 45 | |
settlementArchivingReference | Facultatif | 46 | |
settlementMerchantSpecificData | Facultatif | 47 | |
invoiceReference | Facultatif | 48 | |
subMerchantId | Facultatif | 49 | |
subMerchantCategoryCode | Facultatif | 50 | |
subMerchantLegalId | Facultatif | 51 | |
subMerchantName | Facultatif | 52 | |
subMerchantAddress.city | Facultatif | 53 | |
subMerchantAddress.country | Facultatif | 54 | |
subMerchantAddress.streetName | Facultatif | 55 | |
subMerchantAddress.streetNumber | Facultatif | 56 | |
subMerchantAddress.zipCode | Facultatif | 57 | |
subMerchantAddress.additionalAddress1 | Facultatif | 58 | |
subMerchantAddress.additionalAddress2 | Facultatif | 59 | |
subMerchantAddress.additionalAddress3 | Facultatif | 60 | |
subMerchantAddress.postbox | Facultatif | 61 | |
subMerchantAddress.state | Facultatif | 62 | |
subMerchantUrl | Facultatif | 63 |
- Exemple de requête cardOrder
…
CARDORDER;1;012323232323231;SIM201206810160;1000;2;VALIDATION;;;
202203;4975497549754975;;978;;;;;INTERNET;;;;;;;;;;;;;;;;;;;;;;;
;;;APPLIED_DEFAULT;;;;FACT0001A;;;;;Blois;FRA;Vallee Maillard;;
41000;;;;;;http://www.worldline.com
...
Format de la réponse à la requête cardOrder
La réponse contient tous les champs de la requête (à l'exception des champs cardCSCValue, cardEffectiveDate, cardExpiryDate, cardNumber, cardSeqNumber, paymentMeanBrand, paymentMeanBrandSelectionStatus, initialSchemeTransactionIdentifier), ainsi que les champs présentés ci-dessous :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est CARDORDER | Nom de la fonction | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
transactionReference | 4 | |
amount | 5 | |
captureDay | 6 | |
captureMode | 7 | |
currencyCode | 8 | |
customerEmail | 9 | |
customerId | 10 | |
customerIpAddress | 11 | |
merchantTransactionDateTime | 12 | |
orderChannel | 13 | |
orderId | 14 | |
paymentPattern | 15 | |
returnContext | 16 | |
statementReference | 17 | |
transactionOrigin | 18 | |
fraudData.bypass3DS | 19 | |
fraudData.bypassCtrlList | 20 | |
fraudData.bypassInfoList | 21 | |
fraudData.allowedCardCountryList | 22 | |
fraudData.deniedCardCountryList | 23 | |
fraudData.allowedCardArea | 24 | |
fraudData.deniedCardArea | 25 | |
fraudData.allowedIpCountryList | 26 | |
fraudData.deniedIpCountryList | 27 | |
fraudData.allowedIpArea | 28 | |
fraudData.deniedIpArea | 29 | |
panType | 30 | |
paymentMeanData.accord.settlementMode | 31 | |
paymentMeanData.accord.additionalAuthorisationNumber | 32 | |
paymentMeanData.cofinoga.settlementMode | 33 | |
paymentMeanData.bancontact.initialAuthenticationCavv | 34 | |
paymentMeanData.bancontact.bancontactMerchantCustomerAuthenticationMethod | 35 | |
holderData.birthDate | 36 | |
s10TransactionReference.s10TransactionId | 37 | |
s10TransactionReference.s10TransactionIdDate | 38 | |
acquirerResponseCode | 39 | |
authorisationId | 40 | |
complementaryCode | 41 | |
complementaryInfo | 42 | |
guaranteeIndicator | 43 | |
holderAuthentRelegation | 44 | |
holderAuthentStatus | 45 | |
maskedPan | 46 | |
officeBatchResponseCode | 47 | |
responseCode | 48 | |
transactionDateTime | 49 | |
tokenPan | 50 | |
authorMessageReference | 51 | |
acquirerResponseMessage | 52 | |
paymentMeanTradingName | 53 | |
cardData.cardProductCode | 54 | |
cardData.cardProductName | 55 | |
cardData.cardProductProfile | 56 | |
cardData.cardScheme | 57 | |
cardData.issuerCode | 58 | |
cardData.issuerCountryCode | 59 | |
cardData.cardProductUsageLabel | 60 | |
recurringResponseCode | 61 | |
paymentMeanBrand | 62 | |
paymentMeanBrandSelectionStatus | 63 | |
transactionPlatform | Systématiquement valorisé à ‘PROD’ | 64 |
cardCSCResultCode | 65 | |
avsPostcodeResponseCode | 66 | |
avsAddressResponseCode | 67 | |
authorisationTypeLabel | Non valorisé | 68 |
schemeTransactionIdentifier | 69 | |
paymentAccountReference | 70 | |
virtualCardIndicator | 71 | |
initialSchemeTransactionIdentifier | 72 | |
cardExpiryDate | 73 |
- Exemple de réponse à une requête cardOrder
...
CARDORDER;1;012323232323231;SIMS14542815;1000;0;AUTHOR_CAPTURE;978;
;;;;INTERNET;;;;;;;;;;;;;;;;;;;;;;;;1;20220314;;;;;;N;NO_AUTHENT;4907##########00;
00;12;2022-03-14T19:05:33+01:00;490700h719850600;;;;F;VISA CLASSIC;C;VISA;
00000;GRC;CREDIT;;VISA;;PROD;;;;;;;N;;202203
...
Fonction refund du service office
Cette opération vous permet de rembourser une transaction en créditant le compte du client et en débitant votre compte.
Format de la requête refund
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est REFUND | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Référence de la transaction à rembourser. Facultatif vous utilisez le s10TransactionReference. | 4 |
operationAmount | Obligatoire | 5 | |
currencyCode | Obligatoire | 6 | |
operationOrigin | Facultatif | 7 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à rembourser. Facultatif si vous utilisez le transactionReference. | 8 |
s10TransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction à rembourser. Facultatif si vous utilisez le transactionReference. | 9 |
- Exemple de requête refund
...
REFUND;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
Format de la réponse à la requête refund
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est REFUND | Nom de la fonction | 1 |
operationDateTime | 10 | |
transactionDateTime | 11 | |
responseCode | 12 | |
newStatus | 13 | |
newAmount | 14 | |
authorisationId | Ce champ n'est présent que si une demande d'autorisation a été faite. | 15 |
acquirerResponseCode | 16 | |
officeBatchResponseCode | 17 |
- Exemple de réponse à une requête refund
...
REFUND;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;
2012-06-14T16:00:00+02:00;2012-06-14T16:00:00+02:00;00;TO_CREDIT;0;
956798798534;00;00
...
Fonction validate du service office
Cette fonction permet de déclencher la remise en paiement d’une transaction. Elle vous permet de faire du paiement différé en débitant votre client à l’expédition des produits achetés.
Format de la requête validate
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est VALIDATE | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le s10TransactionReference. | 4 |
operationAmount | Obligatoire | 5 | |
currencyCode | Obligatoire | 6 | |
operationOrigin | Facultatif | 7 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le transactionReference. | 8 |
s10TransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le transactionReference. | 9 |
lastRecoveryIndicator | Facultatif | 10 |
- Exemple de requête validate
...
VALIDATE;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;TRUE
...
Format de la réponse à la requête validate
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est VALIDATE | Nom de la fonction | 1 |
operationDateTime | 11 | |
responseCode | 12 | |
newStatus | 13 | |
newAmount | 14 | |
authorisationId | 15 | |
acquirerResponseCode | 16 | |
officeBatchResponseCode | 17 | |
captureLimitDate | 18 | |
schemeTransactionIdentifier | 19 | |
paymentAccountReference | 20 |
- Exemple de réponse à une requête validate
...
VALIDATE;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;;
2012-06-14T16:00:00+02:00;2012-06-14T16:00:00+02:00;00;TO_CREDIT;
0;956798798534;00;00;2012-06-14T21:00:00+02:00
...
Fonction duplicate du service office
Cette fonction permet de créer une nouvelle transaction à partir des données d'une transaction précédente. À titre d'exemple, si une transaction n'a, par erreur ou omission, pu être validée dans le délai de capture que vous avez renseigné, elle a expiré et ne sera donc pas envoyée en remise en paiement. Vous pouvez alors rattraper cette transaction en la dupliquant.
Format de la requete duplicate
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est DUPLICATE | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
currencyCode | Obligatoire | 6 | |
captureDay | Facultatif | 7 | |
captureMode | Facultatif | 8 | |
customerEmail | Facultatif | 9 | |
customerId | Facultatif | 10 | |
customerIpAddress | Facultatif | 11 | |
fromTransactionReference | Obligatoire | Référence de la transaction à dupliquer. Facultatif si vous utilisez le S10FromTransactionReference | 12 |
merchantTransactionDateTime | Facultatif | 13 | |
orderChannel | Obligatoire | 14 | |
orderId | Facultatif | 15 | |
returnContext | Facultatif | 16 | |
transactionOrigin | Facultatif | 17 | |
fromMerchantId | Facultatif | 18 | |
fraudData.bypass3DS | Facultatif | 19 | |
fraudData.bypassCtrlList | Facultatif | 20 | |
fraudData.bypassInfoList | Facultatif | 21 | |
fraudData.allowedCardCountryList | Facultatif | 22 | |
fraudData.deniedCardCountryList | Facultatif | 23 | |
fraudData.allowedCardArea | Facultatif | 24 | |
fraudData.deniedCardArea | Facultatif | 25 | |
fraudData.allowedIpCountryList | Facultatif | 26 | |
fraudData.deniedIpCountryList | Facultatif | 27 | |
fraudData.allowedIpArea | Facultatif | 28 | |
fraudData.deniedIpArea | Facultatif | 29 | |
statementReference | Facultatif | 30 | |
s10TransactionReference.s10TransactionId | Obligatoire | Facultatif si vous utilisez le transactionReference. | 31 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 32 |
s10FromTransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à dupliquer. Facultatif si vous utilisez le fromTransactionReference. | 33 |
s10FromTransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction à dupliquer. Facultatif si vous utilisez le fromTransactionReference. | 34 |
paymentMeanData.paypal.invoiceId | Facultatif | Numéro de commande PayPal; Voir guide d'intégration PayPal. | 35 |
paymentMeanData.bcacup.settlementMode | Facultatif | Modalité de paiement; Voir guide d’intégration BCACUP. | 36 |
settlementArchivingReference | Facultatif | 37 | |
settlementMerchantSpecificData | Facultatif | 38 | |
invoiceReference | Facultatif | 39 |
- Exemple de requête duplicate
...
DUPLICATE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;your.email@email.com;12345;127.0.0.1;SIM2012068102311;2012-06-07T11:30:47+02:00;MAIL_ORDER;order-id;mycontext;SOB;;;;;;;;;;ATG,FRA,DNK;;;;;;;;invoice-id;COMPTANT;;;
...
Format de la réponse à la requête duplicate
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est DUPLICATE | Nom de la fonction | 1 |
authorisationId | 35 | |
acquirerResponseCode | 36 | |
complementaryCode | 37 | |
complementaryInfo | 38 | |
responseCode | 39 | |
scoreColor | 40 | |
scoreInfo | 41 | |
scoreProfile | 42 | |
scoreThreshold | 43 | |
scoreValue | 44 | |
transactionDateTime | 45 | |
officeBatchResponseCode | 46 | |
maskedPan | 47 | |
panExpiryDate | 48 | |
paymentMeanBrand | 49 | |
cardData.cardProductCode | 50 | |
cardData.cardProductName | 51 | |
cardData.cardProductProfile | 52 | |
cardData.cardScheme | 53 | |
cardData.issuerCode | 54 | |
cardData.issuerCountryCode | 55 | |
cardData.cardProductUsageLabel | 56 | |
paymentMeanBrandSelectionStatus | 57 | |
transactionPlatform | Systématiquement valorisé à ‘PROD’. | 58 |
avsPostcodeResponseCode | 59 | |
avsAddressResponseCode | 60 | |
schemeTransactionIdentifier | 61 | |
paymentAccountReference | 62 | |
virtualCardIndicator | 63 | |
tokenPan | 64 | |
initialSchemeTransactionIdentifier | 65 | |
guaranteeIndicator | 66 |
- Exemple de réponse à une requête duplicate
...
DUPLICATE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;
your.email@email.com;12345;127.0.0.1;SIM2012068102311;2012-06-07T11:
30:47+02:00;MAIL_ORDER;123;mycontext;SOB;;;;;;;;;;ATG,FRA,DNK;;;;;;;;009588;
00;;;00;;;;;;2013-10-30T16:40:00+02:00;00;4907##########00;201610;VISA;
F,VISA CLASSIC,C,VISA,00000,GRC;;;;;;;;PROD;;;;;Y;490700h719850600;;
...
Fonction cancel du service office
Cette fonction permet d’annuler une transaction avant l’envoi en banque ou de modifier son montant.
Une opération d’annulation ne peut pas être annulée et on ne peut pas annuler un montant supérieur au montant d’origine de la transaction.
Format de la requête cancel
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est CANCEL | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Référence de la transaction à annuler. Facultatif vous utilisez le s10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
currencyCode | Obligatoire | 6 | |
operationOrigin | Facultatif | 7 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le transactionReference. | 8 |
s10TransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le transactionReference. | 9 |
- Exemple de requête cancel
...
CANCEL;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
Format de la réponse à la requête cancel
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est CANCEL | Nom de l'opération | 1 |
operationDateTime | 10 | |
responseCode | 11 | |
newStatus | 12 | |
newAmount | 13 | |
officeBatchResponseCode | 14 |
- Exemple de réponse à une requête cancel
...
CANCEL;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
Fonction credit du service office
Cette fonction vous permet de créditer le compte d’un client sans transaction d’origine référencée. Il est donc nécessaire de détenir les informations du moyen de paiement de votre client ou le token associé.
Format de la requête credit
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Description | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est CREDIT | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
cardEffectiveDate | Facultatif | 6 | |
cardExpiryDate | Obligatoire | 7 | |
cardNumber | Obligatoire | 8 | |
cardCSCValue | Facultatif | 9 | |
cardSeqNumber | Facultatif | 10 | |
currencyCode | Obligatoire | 11 | |
customerEmail | Facultatif | 12 | |
customerId | Facultatif | 13 | |
customerIpAddress | Facultatif | 14 | |
orderChannel | Facultatif | 15 | |
orderId | Facultatif | 16 | |
paymentMeanBrand | Facultatif | 17 | |
returnContext | Facultatif | 18 | |
transactionOrigin | Facultatif | 19 | |
panType | Facultatif | 20 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à valider. Facultatif si vous utilisez le transactionReference. | 21 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 22 |
statementReference | Facultatif | 23 | |
settlementArchivingReference | Facultatif | 24 | |
settlementMerchantSpecificData | Facultatif | 25 | |
invoiceReference | Facultatif | 26 |
- Exemple de requête credit
...
CREDIT;1;012323232323231;SIM201206810160;124;201201;201212;1600000012331447;
470;1;978;test@worldline.net;123;127.0.0.1;MAIL_ORDER;123456;VISA;context;
origin;;;;RefC123;;;
...
Format de la réponse à la requête credit
La réponse contient certains champs de la requête (à l'exception des champs de carte) ainsi que les champs suivants :
Champs | Description | Numéro de champ CSV |
---|---|---|
Le nom de la balise est CREDIT | Nom de la fonction | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
transactionReference | 4 | |
amount | 5 | |
currencyCode | 6 | |
customerEmail | 7 | |
customerId | 8 | |
customerIpAddress | 9 | |
orderId | 10 | |
paymentMeanBrand | 11 | |
returnContext | 12 | |
transactionOrigin | 13 | |
panType | 14 | |
s10TransactionReference.s10TransactionId | 15 | |
s10TransactionReference.s10TransactionIdDate | 16 | |
responseCode | 17 | |
acquirerResponseCode | 18 | |
authorisationId | 19 | |
maskedPan | 20 | |
newStatus | 21 | |
operationDateTime | 22 | |
officeBatchResponseCode | 23 | |
transactionPlatform | Usage futur (systématiquement valorisé à ‘PROD’ pour le moment). | 24 |
statementReference | 25 | |
virtualCardIndicator | 26 |
- Exemple de réponse à une requête credit
...
CREDIT;1;012323232323231;SIM201206810160;124;978;test@worldline.net;
123;127.0.0.1;123456;VISA;
context;origin;;;;00;00;1234569654656;160000.47;TO_CAPTURE;2012-06-14T16:
00:00+02:00;00;PROD;RefC123;Y
...
Fonction walletOrder du service office
Cette fonction vous permet d’effectuer des paiements en utilisant les informations contenues dans le wallet de vos clients.
Format de la requête walletOrder
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est WALLETORDER | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
captureDay | Facultatif | 6 | |
captureMode | Facultatif | 7 | |
currencyCode | Obligatoire | 8 | |
customerEmail | Facultatif | 9 | |
customerId | Facultatif | 10 | |
customerIpAddress | Facultatif | 11 | |
merchantTransactionDateTime | Facultatif | 12 | |
orderChannel | Obligatoire | 13 | |
orderId | Facultatif | 14 | |
paymentMeanId | Obligatoire | 15 | |
returnContext | Facultatif | 16 | |
statementReference | Facultatif | 17 | |
merchantWalletId | Obligatoire | 18 | |
transactionOrigin | Facultatif | 19 | |
fraudData.bypass3DS | Facultatif | 20 | |
fraudData.bypassCtrlList | Facultatif | 21 | |
fraudData.bypassInfoList | Facultatif | 22 | |
fraudData.allowedCardCountryList | Facultatif | 23 | |
fraudData.deniedCardCountryList | Facultatif | 24 | |
fraudData.allowedCardArea | Facultatif | 25 | |
fraudData.deniedCardArea | Facultatif | 26 | |
fraudData.allowedIpCountryList | Facultatif | 27 | |
fraudData.deniedIpCountryList | Facultatif | 28 | |
fraudData.allowedIpArea | Facultatif | 29 | |
fraudData.deniedIpArea | Facultatif | 30 | |
s10TransactionReference.s10TransactionId | Obligatoire | Facultatif si vous utilisez le transactionReference. | 31 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 32 |
cardCSCValue | Facultatif | 33 | |
paymentPattern | Facultatif | 34 | |
initialSchemeTransactionIdentifier | Facultatif | 35 | |
paymentMeanBrand | Facultatif | 36 | |
settlementArchivingReference | Facultatif | 37 | |
settlementMerchantSpecificData | Facultatif | 38 | |
paymentMeansBrandSelectionStatus | Facultatif | Si ce champ est spécifié en entrée, paymentMeanBrand est obligatoire. | 39 |
paymentMeanData.bancontact.bancontactMerchantCustomerAuthenticationMethod | Facultatif | 40 | |
subMerchantId | Facultatif | 41 | |
subMerchantCategoryCode | Facultatif | 42 | |
subMerchantLegalId | Facultatif | 43 | |
subMerchantName | Facultatif | 44 | |
subMerchantAddress.city | Facultatif | 45 | |
subMerchantAddress.country | Facultatif | 46 | |
subMerchantAddress.streetName | Facultatif | 47 | |
subMerchantAddress.streetNumber | Facultatif | 48 | |
subMerchantAddress.zipCode | Facultatif | 49 | |
subMerchantAddress.additionalAddress1 | Facultatif | 50 | |
subMerchantAddress.additionalAddress2 | Facultatif | 51 | |
subMerchantAddress.additionalAddress3 | Facultatif | 52 | |
subMerchantAddress.postbox | Facultatif | 53 | |
subMerchantAddress.state | Facultatif | 54 | |
subMerchantUrl | Facultatif | 55 |
- Exemple de requête walletOrder au format CSV
...
WALLETORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;978;
test@worldline.com;123;127.0.0.1;2012-11-29T17:04:30Z;INTERNET;123456;1;
context;;2;origin;all;;;;;;;;;FRA;;;;100 ;ONE_SHOT;;;;;;;;;;;;;;;;;;;;;
...
Format de la réponse à la requête walletOrder
La réponse contient tous les champs de la requête excepté cardCSCValue et initialSchemeTransactionIdentifier, ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est WALLETORDER | Nom de l'opération | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
transactionReference | 4 | |
amount | 5 | |
captureDay | 6 | |
captureMode | 7 | |
currencyCode | 8 | |
customerEmail | 9 | |
customerId | 10 | |
customerIpAddress | 11 | |
merchantTransactionDateTime | 12 | |
orderChannel | 13 | |
orderId | 14 | |
paymentMeanId | 15 | |
returnContext | 16 | |
statementReference | 17 | |
merchantWalletId | 18 | |
transactionOrigin | 19 | |
paymentPattern | 20 | |
fraudData.bypass3DS | 21 | |
fraudData.bypassCtrlList | 22 | |
fraudData.bypassInfoList | 23 | |
fraudData.allowedCardCountryList | 24 | |
fraudData.deniedCardCountryList | 25 | |
fraudData.allowedCardArea | 26 | |
fraudData.deniedCardArea | 27 | |
fraudData.allowedIpCountryList | 28 | |
fraudData.deniedIpCountryList | 29 | |
fraudData.allowedIpArea | 30 | |
fraudData.deniedIpArea | 31 | |
s10TransactionReference.s10TransactionId | 32 | |
s10TransactionReference.s10TransactionIdDate | 33 | |
acquirerResponseCode | 34 | |
authorisationId | 35 | |
complementaryCode | 36 | |
complementaryInfo | 37 | |
guaranteeIndicator | 38 | |
holderAuthentRelegation | 39 | |
holderAuthentStatus | 40 | |
maskedPan | 41 | |
officeBatchResponseCode | 42 | |
responseCode | 43 | |
transactionDateTime | 44 | |
tokenPan | 45 | |
cardData.cardProductCode | 46 | |
cardData.cardProductName | 47 | |
cardData.cardProductProfile | 48 | |
cardData.cardScheme | 49 | |
cardData.issuerCode | 50 | |
cardData.issuerCountryCode | 51 | |
cardData.cardProductUsageLabel | 52 | |
transactionPlatform | Systématiquement valorisé à ‘PROD’ pour le moment. | 53 |
cardCSCResultCode | 54 | |
avsPostcodeResponseCode | 55 | |
avsAddressResponseCode | 56 | |
authorMessageReference | Non valorisé | 57 |
authorisationTypeLabel | Non valorisé | 58 |
schemeTransactionIdentifier | 59 | |
paymentAccountReference | 60 | |
virtualCardIndicator | 61 | |
paymentMeanBrand | 62 | |
paymentMeanBrandSelectionStatus | 63 | |
paymentMeanData.bancontact.bancontactMerchantCustomerAuthenticationMethod | 64 | |
initialSchemeTransactionIdentifier | 65 | |
cardExpiryDate | 66 |
- Exemple de réponse à une requête walletOrder
...
WALLETORDER;1;023101122334455;SIM201206810160;1000;0;VALIDATION;978;
test@worldline.com;;;;INTERNET;123456;1;context;;2;origin;;;;;;;;;;;;;3;
20210331;00;059582;;;;N;NO_AUTHENT;5130##########06;00;00;2021-03-31T15:53:56+02:00;
513030h719850006;TCS;MASTERCARD STANDARD CARD IMMEDIATE DEBIT;D;MASTERCARD;15589;
FRA;DEBIT;PROD;;;;836554;TRANSACTION DE PAIEMENT;
7778bdb9394944a4ab4aa52f2b7123029b6adb3097444132b7;;Y;MASTERCARD;APPLIED_HOLDER;;;
...
Fonction walletCredit du service office
Cette fonction vous permet de créditer vos clients via leur wallet sans transaction préalable.
Format de la requête walletCredit
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Description | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est WALLETCREDIT | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
merchantWalletId | Obligatoire | 6 | |
paymentMeanId | Obligatoire | 7 | |
currencyCode | Obligatoire | 8 | |
customerEmail | Facultatif | 9 | |
customerId | Facultatif | 10 | |
customerIpAddress | Facultatif | 11 | |
orderChannel | Facultatif | 12 | |
orderId | Facultatif | 13 | |
returnContext | Facultatif | 14 | |
transactionOrigin | Facultatif | 15 | |
s10TransactionReference.s10TransactionId | Obligatoire | Facultatif si vous utilisez le transactionReference. | 16 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 17 |
statementReference | Facultatif | 18 | |
settlementArchivingReference | Facultatif | 19 | |
settlementMerchantSpecificData | Facultatif | 20 |
- Exemple de requête walletCredit
...
WALLETCREDIT;1;012323232323231;SIM201206810160;124;A01;2;978;
test@worldline.net;123;127.0.0.1;MAIL_ORDER;123456;VISA;context;origin;;;RefWN123;;
...
Format de la réponse à la requête walletCredit
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Description | Numéro de champ CSV |
---|---|---|
Le nom de la balise est WALLETCREDIT | Nom de l’opération | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
transactionReference | 4 | |
amount | 5 | |
merchantWalletId | 6 | |
paymentMeanId | 7 | |
currencyCode | 8 | |
customerEmail | 9 | |
customerId | 10 | |
customerIpAddress | 11 | |
orderChannel | 12 | |
orderId | 13 | |
returnContext | 14 | |
transactionOrigin | 15 | |
s10TransactionReference.s10TransactionId | Facultatif si vous utilisez le transactionReference. | 16 |
s10TransactionReference.s10TransactionIdDate | Facultatif si vous utilisez le transactionReference. | 17 |
responseCode | 18 | |
acquirerResponseCode | 19 | |
authorisationId | 20 | |
maskedPan | 21 | |
paymentMeanBrand | 22 | |
newStatus | 23 | |
operationDateTime | 24 | |
officeBatchResponseCode | 25 | |
transactionPlatform | Systématiquement valorisé à ‘PROD’. | 26 |
statementReference | 27 | |
virtualCardIndicator | 28 |
- Exemple de réponse à une requête walletCredit
...
WALLETCREDIT;1;012323232323231;SIM201206810160;124;A01;2;978;
test@worldline.net;123;127.0.0.1;MAIL_ORDER;123456;context;
origin;;;00;00;1234569654656;160000.47;VISA;
TO_CAPTURE;2012-06-14T16:00:00+02:00;00;PROD;RefWN123;Y
...
Fonction recycle du service office
Cette fonction permet de créer une nouvelle transaction à partir des données bancaires d'une transaction précédente. Cette opération est similaire à la duplication, mais avec des limites. Elle vous permet de recycler une transaction expirée ou refusée ou capturée partiellement (le montant n'a pas été entièrement réglé) sans dépasser le montant de la transaction initiale.
Format de la requête recycle
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est RECYCLE | Obligatoire | Nom de l'opération | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Facultatif si vous utilisez le S10TransactionReference. | 4 |
amount | Obligatoire | 5 | |
currencyCode | Obligatoire | 6 | |
captureDay | Facultatif | 7 | |
captureMode | Facultatif | 8 | |
fromTransactionReference | Obligatoire | Référence de la transaction à recycler. Facultatif si vous utilisez le S10FromTransactionReference | 9 |
merchantTransactionDateTime | Facultatif | 10 | |
transactionOrigin | Facultatif | 11 | |
statementReference | Facultatif | 12 | |
s10TransactionReference.s10TransactionId | Obligatoire | Facultatif si vous utilisez le transactionReference. | 13 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 14 |
s10FromTransactionReference.s10TransactionId | Obligatoire | Référence de la transaction à recycler. Facultatif si vous utilisez le fromTransactionReference. | 15 |
s10FromTransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction à recycler. Facultatif si vous utilisez le fromTransactionReference. | 16 |
lastRecoveryIndicator | Facultatif | 17 | |
settlementArchivingReference | Facultatif | 18 | |
settlementMerchantSpecificData | Facultatif | 19 | |
invoiceReference | Facultatif | 20 |
- Exemple de requête recycle
Format de la réponse à la requête recycle
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Description | Numéro de champ CSV |
---|---|---|
Le nom de la balise est RECYCLE | Nom de la fonction | 1 |
acquirerResponseCode | 18 | |
authorisationId | 19 | |
complementaryCode | 20 | |
complementaryInfo | 21 | |
maskedPan | 22 | |
officeBatchResponseCode | 23 | |
panExpiryDate | 24 | |
paymentMeanBrand | 25 | |
responseCode | 26 | |
scoreColor | 27 | |
scoreInfo | 28 | |
scoreProfile | 29 | |
scoreThreshold | 30 | |
scoreValue | 31 | |
transactionDateTime | 32 | |
cardData.cardProductCode | 33 | |
cardData.cardProductName | 34 | |
cardData.cardProductProfile | 35 | |
cardData.cardScheme | 36 | |
cardData.issuerCode | 37 | |
cardData.issuerCountryCode | 38 | |
cardData.cardProductUsageLabel | 39 | |
paymentMeanBrandSelectionStatus | 40 | |
transactionPlatform | Systématiquement valorisé à ‘PROD’ pour le moment. | 41 |
schemeTransactionIdentifier | 42 | |
paymentAccountReference | 43 | |
virtualCardIndicator | 44 | |
tokenPan | 45 | |
guaranteeIndicator | 46 |
- Exemple de réponse à une requête recycle
...
RECYCLE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;
SIM2012068102311;2012-06-07T11:30:47+02:00;SOB;REF1023540;;;;;;00;
956798798534;;;4700.58;00;201408;VISA;00;;;;;;2013-10-30T16:40:
00+02:00;;;;;;;;;PROD;;;Y;490700h719850600;
...
Fonction directDebitOrder du service office
Si vous possédez les informations bancaires d'un client, cette fonction vous permet d'effectuer des paiements de type prélèvement (SDD).
Format de la requête directDebitOrder
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est DIRECTDEBITORDER | Obligatoire | 1 | |
recordSequence | Obligatoire | 2 | |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | 4 | |
amount | Obligatoire | 5 | |
captureDay | Facultatif | 6 | |
captureMode | Facultatif | 7 | |
currencyCode | Obligatoire | 8 | |
customerId | Facultatif | 9 | |
customerIpAddress | Facultatif | 10 | |
mandateId | Obligatoire | 11 | |
merchantTransactionDateTime | Facultatif | 12 | |
paymentPattern | Facultatif | 13 | |
orderChannel | Obligatoire | 14 | |
orderId | Facultatif | 15 | |
returnContext | Facultatif | 16 | |
statementReference | Facultatif | 17 | |
transactionOrigin | Facultatif | 18 | |
valueDate | Facultatif | 19 | |
holderContact.firstName | Facultatif | 20 | |
holderContact.lastName | Facultatif | 21 | |
holderContact.gender | Facultatif | 22 | |
holderContact.phone | Facultatif | 23 | |
holderContact.email | Facultatif | 24 | |
holderAddress.city | Facultatif | 25 | |
holderAddress.country | Facultatif | 26 | |
holderAddress.streetName | Facultatif | 27 | |
holderAddress.streetNumber | Facultatif | 28 | |
holderAddress.zipCode | Facultatif | 29 | |
holderAddress.additionalAddress1 | Facultatif | 30 | |
holderAddress.additionalAddress2 | Facultatif | 31 | |
holderAddress.additionalAddress3 | Facultatif | 32 | |
holderAddress.postbox | Facultatif | 33 | |
holderAddress.state | Facultatif | 34 | |
instalmentData.number | Facultatif | 35 | |
instalmentData.datesList | Facultatif | 36 | |
instalmentData.transactionReferencesList | Facultatif | 37 | |
instalmentData.amountsList | Facultatif | 38 | |
instalmentData.s10TransactionIdsList | Facultatif | 39 | |
fraudData.bypass3DS | Facultatif | 40 | |
fraudData.bypassCtrlList | Facultatif | 41 | |
fraudData.bypassInfoList | Facultatif | 42 | |
fraudData.allowedCardCountryList | Facultatif | 43 | |
fraudData.deniedCardCountryList | Facultatif | 44 | |
fraudData.allowedCardArea | Facultatif | 45 | |
fraudData.deniedCardArea | Facultatif | 46 | |
fraudData.allowedIpCountryList | Facultatif | 47 | |
fraudData.deniedIpCountryList | Facultatif | 48 | |
fraudData.allowedIpArea | Facultatif | 49 | |
fraudData.deniedIpArea | Facultatif | 50 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le transactionReference. | 51 |
s10TransactionReference.s10TransactionIdDate | Facultatif | Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé). | 52 |
settlementArchivingReference | Facultatif | 53 | |
settlementMerchantSpecificData | Facultatif | 54 |
- Exemple de requête directDebitOrder
...
DIRECTDEBITORDER;1;012323232323231;TIR20140904000004;1000;;
AUTHOR_CAPTURE;978;12300;127.0.0.1;000000000000004403;2014-09-04T14:
04:30Z;;INTERNET;8888;context;ref1000;
batch;20140905;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
...
Format de la réponse à la requête directDebitOrder
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est DIRECTDEBITORDER | Nom de la fonction | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
transactionReference | 4 | |
amount | 5 | |
captureDay | 6 | |
captureMode | 7 | |
currencyCode | 8 | |
customerId | 9 | |
customerIpAddress | 10 | |
mandateId | 11 | |
merchantTransactionDateTime | 12 | |
paymentPattern | 13 | |
orderChannel | 14 | |
orderId | 15 | |
returnContext | 16 | |
statementReference | 17 | |
transactionOrigin | 18 | |
valueDate | 19 | |
holderContact.firstName | 20 | |
holderContact.lastName | 21 | |
holderContact.gender | 22 | |
holderContact.phone | 23 | |
holderContact.email | 24 | |
holderAddress.city | 25 | |
holderAddress.country | 26 | |
holderAddress.streetName | 27 | |
holderAddress.streetNumber | 28 | |
holderAddress.zipCode | 29 | |
holderAddress.additionalAddress1 | 30 | |
holderAddress.additionalAddress2 | 31 | |
holderAddress.additionalAddress3 | 32 | |
holderAddress.postbox | 33 | |
holderAddress.state | 34 | |
instalmentData.number | 35 | |
instalmentData.datesList | 36 | |
instalmentData.transactionReferencesList | 37 | |
instalmentData.amountsList | 38 | |
instalmentData.s10TransactionIdsList | 39 | |
fraudData.bypass3DS | 40 | |
fraudData.bypassCtrlList | 41 | |
fraudData.bypassInfoList | 42 | |
fraudData.allowedCardCountryList | 43 | |
fraudData.deniedCardCountryList | 44 | |
fraudData.allowedCardArea | 40 | |
fraudData.deniedCardArea | 41 | |
fraudData.allowedIpCountryList | 42 | |
fraudData.deniedIpCountryList | 43 | |
fraudData.allowedIpArea | 44 | |
fraudData.deniedIpArea | 45 | |
s10TransactionReference.s10TransactionId | 46 | |
s10TransactionReference.s10TransactionIdDate | 47 | |
acquirerResponseCode | 48 | |
authorisationId | 49 | |
captureLimitDate | 50 | |
creditorId | 51 | |
guaranteeIndicator | 52 | |
holderAuthentRelegation | 53 | |
holderAuthentStatus | 54 | |
maskedPan | 55 | |
officeBatchResponseCode | 56 | |
responseCode | 57 | |
transactionActors | 58 | |
transactionDateTime | 59 | |
transactionPlatform | Usage futur (systématiquement valorisé à ‘PROD’ pour le moment). | 60 |
secureReference | 61 |
- Exemple de réponse à une requête directDebitOrder
...
DIRECTDEBITORDER;1;012323232323231;TIR20140904000024;1000;5;
AUTHOR_CAPTURE;978;123;127.0.0.1;000000000000004403;2014-
09-04T14:04:30Z;ONE_SHOT;INTERNET;8888;context;stateref;
batch;20140909;;;;;;;;;;;1;Thu Sep 04 00:00:00 CEST
2014;TIR20140904000024;1000;;;;;;;;;;;;;;;00;
33105000010020140904;20140909;;;;;AGRIFRPP879/FR76
#####################48;00;00;B2C;2014-09-04T15:16:24+02:00
;PROD;SR12565459
...
Fonction acceptChallenge du service office
Cette fonction vous permet de vérifier et d’accepter le risque de fraude sur des transactions ayant un score de fraude orange. Une fois la transaction acceptée, elle reprend son cycle de vie normal.
Format de la requête acceptChallenge
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est ACCEPTCHALLENGE | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le S10TransactionReference. | 4 |
validationIndicator | Facultatif | 5 | |
operationOrigin | Facultatif | 6 | |
comment | Facultatif | 7 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le transactionReference. | 8 |
s10TransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le transactionReference. | 9 |
- Exemple de requête acceptChallenge
...
ACCEPTCHALLENGE;1;012323232323231;SIM201206810160;Y;batch;client fidelity;;
...
Format de la réponse à la requête acceptChallenge
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Description | Numéro de champ CSV |
---|---|---|
Le nom de la balise est ACCEPTCHALLENGE | Nom de la fonction | 1 |
acquirerResponseCode | 10 | |
authorisationId | 11 | |
captureLimitDate | 12 | |
newStatus | 13 | |
officeBatchResponseCode | 14 | |
operationDateTime | 15 | |
responseCode | 16 | |
schemeTransactionIdentifier | 17 | |
paymentAccountReference | 18 |
- Exemple de réponse à une requête acceptChallenge
...
ACCEPTCHALLENGE;1;012323232323231;SIM201206810160;Y;batch;client fidelity;;;00;956798798534;
20150515;VALIDATED;00;2015-02-12T09:30:47+02:00;00
...
Fonction refuseChallenge du service office
Cette fonction vous permet de vérifier et de refuser le risque de fraude sur des transactions ayant un score de fraude orange. Dans le cas d’un refus, la transaction n’est pas envoyée en paiement.
Format de la requête refuseChallenge
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est REFUSECHALLENGE | Obligatoire | Nom de la fonction | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
transactionReference | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le S10TransactionReference. | 4 |
operationOrigin | Facultatif | 5 | |
comment | Facultatif | 6 | |
s10TransactionReference.s10TransactionId | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le transactionReference. | 7 |
s10TransactionReference.s10TransactionIdDate | Obligatoire | Référence de la transaction. Facultatif si vous utilisez le transactionReference. | 8 |
- Exemple de requête refuseChallenge
...
REFUSECHALLENGE;1;012323232323231;SIM201206810160;batch;score warning;;
...
Format de la réponse à la requête refuseChallenge
La réponse contient tous les champs de la requête ainsi que les champs suivants :
Champs | Description | Numéro de champs CSV |
---|---|---|
Le nom de la balise est REFUSECHALLENGE | Nom de la fonction | 1 |
newStatus | 9 | |
officeBatchResponseCode | 10 | |
operationDateTime | 11 | |
responseCode | 12 |
- Exemple de réponse à une requête refuseChallenge
...
REFUSECHALLENGE;1;012323232323231;SIM201206810160;batch;score warning;;;REFUSED;00;2015-02-12T09:30:47+02:00;00
...
Fonction panToToken du service token
Cette opération permet de tokéniser un numéro de carte.
Format de la requête panToToken
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est PANTOTOKEN | Obligatoire | Nom de l'opération | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
pan | Obligatoire | 4 | |
userId | Obligatoire | 5 |
- Exemple de requête panToToken
...
PANTOTOKEN;1;012323232323231;idofuser;4975497549754975
...
Format de la réponse à la requête panToToken
La réponse contient les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est PANTOTOKEN | Nom de l'opération | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
tokenPan | 4 | |
responseCode | 5 | |
officeBatchResponseCode | 6 |
- Exemple de réponse à une requête panToToken
...
PANTOTOKEN;1;012323232323231;497899AcDEF57631;00;00
...
Fonction transactionToToken du service token
Cette opération permet de transformer le PAN d’une transaction existante en token.
Format de la requête transactionToToken
Tous les enregistrements de la partie « body » doivent contenir les informations suivantes :
Champs | Présence | Commentaires | Numéro de champ CSV |
---|---|---|---|
Le nom de la balise est TRANSACTIONTOTOKEN | Obligatoire | Nom de l'opération | 1 |
recordSequence | Obligatoire | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | Obligatoire | 3 | |
fromMerchantId | Facultatif | Identifiant du commerçant de la transaction d’origine. Obligatoire si différent du merchantId. |
4 |
fromTransactionReference | Facultatif | Obligatoire si s10FromTransactionReference non renseigné. |
5 |
s10FromTransactionReference.s10TransactionId | Facultatif | Voir duplicate Obligatoire si fromTransactionReference non renseigné. |
6 |
s10FromTransactionReference.s10TransactionIdDate | Facultatif | Voir duplicate Obligatoire si fromTransactionReference non renseigné. |
7 |
merchantExternalId | Facultatif | 8 |
- Exemple de requête transactionToToken
...
TRANSACTIONTOTOKEN;1;024729465300101;024729465300006;SIM20170613140621;;;
myMerchantExternalId
...
Format de la réponse à la requête transactionToToken
La réponse contient les champs suivants :
Champs | Commentaires | Numéro de champ CSV |
---|---|---|
Le nom de la balise est TRANSACTIONTOTOKEN | Nom de l'opération | 1 |
recordSequence | N6 – attribut qui indique le numéro de ligne, ce qui vous permet de rapprocher la réponse de la requête. | 2 |
merchantId | 3 | |
fromMerchantId | 4 | |
fromTransactionReference | 5 | |
s10FromTransactionReference.s10TransactionId | Voir duplicate | 6 |
s10FromTransactionReference.s10TransactionIdDate | Voir duplicate | 7 |
merchantExternalId | 8 | |
responseCode | 9 | |
tokenPan | 10 | |
paymentMeanBrand | 11 | |
cardExpiryDate | 12 | |
officeBatchResponseCode | 13 |
- Exemple de réponse à une requête transactionToToken
...
TRANSACTIONTOTOKEN;1;024729465300101;024729465300006;SIM20170613140621;;;
myMerchantExternalId;;00;490700h719850600;VISA ;201802;00
...
Analyser les erreurs lors de la vérification du fichier
Il y a plusieurs niveaux de codes réponses lors du traitement d'un fichier par Sips Office Batch. Plusieurs vérifications globales sont effectuées avant que le fichier ne soit traité. Si l'une de ces vérifications échoue, le fichier est entièrement refusé (processingResponseCode n'est égal ni à 00 ni à 01).
Le fichier de réponses retourné contient le code de résultat global du traitement dans le champ processingResponseCode présent dans l'en-tête du fichier.
Codes de resultat global du traitement
Code | Signification |
---|---|
00 | Fichier traité correctement. Le fichier contient la liste des opérations. |
01 | Fichier traité correctement. Une opération a été associée à un commerçant qui n'est pas lié à l'identifiant de remettant. Le champ officeBatchResponseCode sera valorisé à 80 par l'opération. |
02 | Fichier déjà traité. Le numéro de séquence du fichier est inférieur à ce qu’il devrait être. Le numéro correct est envoyé dans le message qui décrit l'erreur. |
03 | Rupture de séquence dans le numéro de séquence du fichier. Le numéro de séquence du fichier est supérieur à ce qu’il devrait être. Le numéro correct est envoyé dans le message qui décrit l'erreur. |
04 | Problème technique. Problème interne |
05 | Fichier trop grand |
06 | Le nombre d'opérations dépasse la quantité maximale autorisée. Le nombre maximal d'opérations a été atteint. |
07 | Le nombre d'opérations compté est différent du nombre indiqué dans le champ nbRecord. |
08 | Opération en double |
09 | Enregistrement invalide |
10 | Format de fichier invalide. Le format du fichier est invalide (la description de l'erreur sera retournée dans la balise « error details ».). |
11 | Remettant invalide. Le remettant déclaré dans l'en-tête est invalide. Fichier invalide (ces codes concernent les versions plus anciennes de Sips Office Batch.) |
Autres codes | Fichier invalide (ces codes concernent les versions plus anciennes de Sips Office Batch.) |
Code réponse | Cause | Solution |
---|---|---|
Différent de 00 et 01 | Redémarrage du traitement | Le fichier de requêtes doit être renvoyé en intégralité avec le même numéro de séquence de fichier. |
03 | Rupture de numéro de séquence du fichier | Le fichier a été complètement refusé. Si nécessaire, le numéro de séquence doit être corrigé et le fichier renvoyé. |
04 | Erreur technique | Une opération a provoqué une erreur technique. Le
traitement du fichier n'a pas été interrompu. Dans ce cas, le
traitement peut être très rapide, car toutes les opérations avec
le code 25 ou 90 seront refusées (champ
responseCode). Pour l'heure, Worldline n'a pas fourni de mécanisme pour différer le traitement dans l'attente qu'une connexion soit de nouveau établie. |
Aucun | Erreur de format du fichier CSV | Lorsqu’il n’est pas possible d’identifier le service de
traitement par lot de la version du fichier, ou si ce dernier
comporte une erreur de format (blanc dans le fichier, etc.), une
réponse générique est envoyée au commerçant. Cette réponse ressemble à ceci : RESPONSE FATAL_ERROR END |
Analyser les erreurs causées par une opération
Chaque opération est considérée comme indépendante. Chaque opération a son propre code de réponse stocké (champ officeBatchResponseCode). Le code indique le champ qui est à l'origine du problème.
Si une opération échoue, le traitement n'est pas interrompu. L'opération est refusée avec le code-réponse WL Sips classique (champ responseCode).
Codes | Champs en question |
---|---|
00 | Aucun (tous les champs sont corrects.) |
01 | merchantId error |
03 | transactionReference error |
04 | merchantTransactionDateTime error |
05 | amount error |
06 | captureDay error |
07 | captureMode error |
08 | operationAmount error |
09 | operationOrigin error |
11 | currencyCode error |
12 | customerIpAddress error |
13 | customerEmail error |
14 | customerId error |
16 | orderId error |
17 | orderChannel error |
18 | transactionOrigin error |
19 | returnContext error |
20 | fromTransactionReference error |
21 | cardExpiryDate error |
22 | cardNumber error |
23 | cardCSCValue error |
24 | cardEffectiveDate error |
25 | cardSeqNumber error |
26 | paymentMeanBrand error |
27 | authorisationId error |
28 | merchantWalletId error |
29 | paymentMeanId error |
30 | paymentPattern error |
31 | number error |
32 | statementReference error |
33 | panType error |
34 | mandateId error |
35 | valueDate error |
36 | paymentMeanAlias error |
37 | account error |
38 | bankCode error |
39 | transactionActors error |
45 | Date fields format error |
46 | settlementMode error |
47 | comment error |
48 | validationIndicator error |
50 | s10TransactionId error |
51 | s10TransactionIdDate error |
52 | s10FromTransactionId error |
53 | s10FromTransactionIdDate error |
54 | fraudData error |
55 | riskManagementDynamicParam error |
56 | riskManagementDynamicValue error |
57 | riskManagementDynamicSettingList error |
58 | fraudListReason error |
59 | fraudListType error |
60 | fraudListLevel error |
61 | fraudListElementType error |
62 | fraudListElementValue error |
63 | lastRecoveryIndicator error |
64 | order context field error |
65 | travel context field error |
66 | Delivery data field error |
67 | Address field error |
68 | Contact field error |
69 | cardAuthPolicy error |
70 | Shopping Cart Detail field error |
71 | merchantExternalId error |
72 | paymentMeanBrandSelectionStatus error |
73 | settlementArchivingReference error |
74 | settlementMerchantSpecificData error |
75 | fromTransactionAcceptor error |
76 | initialAuthenticationCavv error |
77 | bancontactMerchantCustomerAuthenticationMethod error |
78 | invoiceReference error |
79 | subMerchantCategoryCode error |
80 | Commerçant non enregistré pour Sips Office Batch/non lié au remettant déclaré dans l'en-tête. |
81 | subMerchantLegalId error |
82 | subMerchantShortName error |
83 | subMerchantContractNumber error |
84 | subMerchantUrl error |
85 | subMerchantAddress error |
86 | subMerchantId error |
Étape 3 : tester sur l’environnement de recette client
L’objectif est de valider que la structure du fichier et la syntaxe des requêtes sont correctes. Pour cette 1ère étape, vous n’avez pas besoin d’avoir un contrat d’acquisition car il n’y a pas de connexion vers l’acquéreur de paiement : les demandes d’autorisations carte sont simulées. Les transactions sont stockées dans le back office WL Sips et vous pouvez tester les opérations de caisse sur ces transactions.
Contactez l’assistance technique pour configurer une boutique sur l’environnement de recette et demander la mise en place d’un transfert de fichier entre votre site et WL Sips.
Étape 4 : valider le passage en production
Commencez par soumettre un fichier contenant un nombre limité d’opérations afin de valider le passage en production. Vérifiez dans le fichier réponse que toutes les opérations se sont bien déroulées :
- Surveillez le taux d’acceptation (nombre de responseCode 00/nombre total d’opérations).
- Vérifiez la nature des refus non bancaires.
- Problème technique : responseCode 90, 97, 99,
- Fraude acquéreur : responseCode 34.