Sips Office JSON
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 JSON jusqu’au démarrage en production.
A qui s’adresse ce document
Ce document s’adresse aux commerçants qui souhaitent souscrire à l’offre WL Sips et avoir recours à un connecteur à base d’échanges JSON via le protocole REST, en mode machine à machine.
C’est un guide d’implémentation qui s’adresse à 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.
Prérequis
Une connaissance élémentaire des standards relatifs aux langages de programmation Web pratiqués aujourd’hui, tels que Java, PHP ou .Net, est nécessaire pour développer la connexion à Sips Office JSON .
Gestion de la clé secrète
Lors de votre inscription, Worldline met à disposition sur le MEX (voir la notice de renouvellement des clés secrètes ), une clé secrète qui permet de sécuriser les échanges entre votre site et le serveur WL Sips .
Vous êtes responsable de sa conservation et devez prendre toutes les mesures pour :
- en restreindre l'accès ;
- la sauvegarder de manière chiffrée ;
- ne jamais la copier sur un disque non sécurisé ;
- ne jamais l'envoyer (e-mail, courrier) de manière non sécurisée.
La compromission de la clé secrète (et son utilisation par un tiers malveillant) perturberait le fonctionnement normal de votre boutique, et pourrait notamment générer des transactions et des opérations de caisse injustifiées (des remboursements par exemple).
C’est la même clé secrète qui est utilisée sur les différents connecteurs Sips Paypage , Sips Office , Sips In-App et Sips Walletpage .
Comprendre le paiement avec Sips Office JSON
Le principe général d’un processus de paiement est le suivant :

1. Lorsque le client procède au paiement sur votre site, il doit saisir les informations du moyen de paiement.
2. Vous envoyez les informations relatives au paiement vers le serveur de paiement WL Sips pour qu’il prenne en charge la transaction. Le serveur envoie une réponse pour que vous puissiez afficher le résultat du paiement.
3. Vous affichez le ticket contenant le résultat du paiement.
Démarrer avec Sips Office en 6 étapes
Étape 1 : inscrire la boutique
Afin d’inscrire votre boutique, vous devez remplir le formulaire d’inscription envoyé par Worldline et le retourner à ce dernier.
Lors de la saisie du formulaire, vous désignez un contact administratif et un contact technique afin que Worldline puisse vous communiquer les informations nécessaires pour démarrer votre boutique.
Worldline procède alors à l’enregistrement de la boutique et vous retourne votre identifiant commerçant (merchantId) ainsi que vos identifiants et mots de passe Sips Download (récupération de la clé secrète) et Sips Office Extranet (gestion de caisse) par mail.
L’inscription de la boutique n’est pas nécessaire pour commencer à intégrer le connecteur et à tester la connexion sur l’environnement de simulation. Vous pouvez ne demander l’inscription de votre boutique qu’au moment de faire les tests en 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 utilisée afin de regrouper fonctionnellement les données.
Si le champ est de type container, cette précision est indiquée dans la colonne commentaire qui renvoie à la partie dédiée détaillant le contenu de tous les champs de ce type.
Une requête consiste en un appel vers un service Web REST (JSON) situé sur la plateforme de paiement WL Sips . Tous les champs nécessaires pour chaque requête doivent être fournis.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>415 Unsupported Media Type</title>
</head>
<body>
<h1>Unsupported Media Type</h1>
<p>The supplied request data is not in a format
acceptable for processing by this resource.</p>
</body>
</html>
Syntaxe de la requête
La requête est construite conformément au format JSON :
{“<nom du champ>” : ”<nom de la valeur>”, “<nom du champ>” : “<nom de la valeur>”, “nom du champ” : “Nom de la valeur” etc., “seal” : “valeur de seal” }
Exemple d’une requête de paiement d’un montant de 10 euros :
{"amount" : "1000","automaticResponseUrl" : "https://responseurl.com","currencyCode" :
"978","interfaceVersion" : "IR_WS_2.20","keyVersion" : "1","merchantId" :
"000000000000012","normalReturnUrl" : "https://responseurl2.com","orderChannel" :
"INTERNET","transactionReference" : "1232015021717313","seal" :
"858005903b91ae3b3a076e29aca7dc6314c05aa6f929c439ecfce1de17ea7e39"}
La syntaxe utilisée pour créer une liste en JSON suit la norme. Voici un résumé de cette structure pour les deux principaux types de listes : les listes de champs simples (par ex. chaînes de caractères) et les listes d’objets.
Il est possible d’avoir une liste de valeurs pour un même champ :
…,"nom du champ" : ["valeur1","valeur2"],…
Exemple avec le champ paymentMeanBrandList valorisé avec VISA et MASTERCARD :
…,"paymentMeanBrandList" : ["VISA","MASTERCARD"],…
Si un champ contient une liste d’objets complexes, sa représentation est construite conformément au format suivant :
…,“nom du champ” : [{“nom du sous-champ1”:”valeur1”,“nom du sous-champ2”:”valeur2”},{“nom du souschamp1”:”valeur3”, “nom du sous-champ2”:”valeur4”}],…
Exemple d’une requête de paiement avec une liste d’objets complexes pour le champ shoppingCartDetail contenant deux produits nommés apple et mango :
{"amount" : "1000","automaticResponseUrl" : "https://responseurl.com","currencyCode" :
"978","interfaceVersion" : "IR_WS_2.8","keyVersion" : "1","merchantId" :
"000000000000012","normalReturnUrl" : "https://responseurl2.com","orderChannel" :
"INTERNET","shoppingCartDetail" : {"shoppingCartItemList" : [{"productCode" :
"123","productName" : "apple"},{"productCode" : "456","productName" :
"mango"}],"shoppingCartTotalAmount" : "1000"},"transactionReference" :
"1232015021717313","seal" :
"fac5bc8e5396d77a8b31a2a79a38750feea71b22106a2cec88efa3641a947345"}
Présence des champs de la requête
Certains champs de la requête de paiement ne sont obligatoires que :
- lors de l'utilisation de certains moyens de paiement ; veuillez consulter le guide du moyen de paiement concerné pour savoir quels champs sont obligatoires ;
- en fonction de la configuration de votre boutique ; veuillez consulter le guide de configuration des fonctionnalités pour savoir quels champs sont obligatoires ;
- dans certains cas d'usages (ex : paiement récurrent) ; veuillez consulter le guide de configuration des fonctionnalités pour savoir quels champs sont obligatoires.
Ces champs sont désignés avec la mention « conditionnel ».
Sécuriser la requête
La requête contient les paramètres de la transaction et est envoyée par le navigateur Web du client. Il est théoriquement possible pour un pirate d’intercepter la demande et de la modifier avant l’envoi au serveur de paiement.
De ce fait, il est nécessaire de renforcer la sécurité pour assurer l’intégrité des paramètres de la transaction envoyée. WL Sips répond à ce besoin par un échange de signatures qui permet de vérifier :
- l’intégrité des messages requête et réponse ;
- l’authentification de l’émetteur et du destinataire car ils se partagent la même clé secrète ;
Comment sécuriser la requête
La sécurisation de la requête est effectuée en calculant la valeur « hashée » conformément aux paramètres de la transaction (donnée Data ). Ensuite, la clé secrète y est ajoutée. Toutes les chaînes de caractères sont converties en UTF-8 avant le « hashage ».
L’algorithme de « hashage » génère un résultat irréversible. Lorsqu’un tel message est reçu, le destinataire doit recalculer la valeur « hashée » pour la comparer à celle reçue. Toute différence indique que les données échangées ont été falsifiées ou que le destinataire et l’émetteur ne partagent pas la même clé secrète.
Le résultat doit être envoyé sous forme hexadécimale dans la donnée nommée Seal .
Calcul de la donnée Seal
Algorithme HMAC-SHA
La valeur de la donnée Seal est calculée comme suit :
- concaténation des valeurs des champs de données dans l’ordre
alphabétique (respectant le code de caractères ASCII) des noms des
champs, sauf pour les champs
keyVersion
et
sealAlgorithm
. Donnant la donnée data
, mentionnée dans les
exemples ci-dessous.
- exemple : un champ nommé authorResponseMessage est à positionner avant un champ nommé authorisationId ;
- obtention de l’encodage UTF-8 des données du résultat précédent ;
- HMAC avec chiffrement SHA256 des octets obtenus avec la clé secrète.
Cette procédure peut être résumée comme suit :
HMAC-SHA256( UTF-8(sortedDataValues), UTF-8(secretKey))
Si
toutefois vous souhaitiez calculer le sceau avec l'algorithme plus ancien
SHA-256, les paramètres d'entrée de la requête doivent contenir le champ
sealAlgorithm
avec la valeur
suivante : “SHA-256”.
Exemples de code Hmac Sha256
-
Exemple d’encodage Hmac Sha256 en Php 5
<?php … // Seal computation thanks to hash sorted data hash with merchant key $data_to_send= utf8_encode($data) $seal=hash_hmac('sha256', $data_to_send, $secretKey); … … ?>
data_to_send et secretKey doivent utiliser un jeu de caractères UTF-8. Référez-vous à la fonction utf8_encode pour la conversion de caractères ISO-8859-1 en UTF-8.
-
Exemple d’encodage Hmac Sha256 en Java
import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public class ExampleHMACSHA256 { /** * table to convert a nibble to a hex char. */ static final char[] hexChar = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f'}; /** * Fast convert a byte array to a hex string * with possible leading zero. * @param b array of bytes to convert to string * @return hex representation, two chars per byte. */ public static String encodeHexString ( byte[] b ) { StringBuffer sb = new StringBuffer( b.length * 2 ); for ( int i=0; i<b.length; i++ ) { // look up high nibble char sb.append( hexChar [( b[i] & 0xf0 ) >>> 4] ); // look up low nibble char sb.append( hexChar [b[i] & 0x0f] ); } return sb.toString(); } /** * Computes the seal * @param Data the parameters to cipher * @param secretKey the secret key to append to the parameters * @return hex representation of the seal, two chars per byte. */ public static String computeSeal(String data, String secretKey) throws Exception { Mac hmacSHA256 = Mac.getInstance("HmacSHA256"); SecretKeySpec keySpec = new SecretKeySpec(secretKey.getBytes(), "HmacSHA256"); hmacSHA256.init(keySpec); return encodeHexString(hmacSHA256.doFinal(data.getBytes())); } /** * @param args */ public static void main(String[] args) { try { System.out.println (computeSeal("parameters", "key")); } catch (Exception e) { e.printStackTrace(); } } }
-
Exemple d’encodage Hmac Sha256 en .net
(Exemple effectué à l’aide d’un simple formulaire nommé « Form1 » contenant deux champs texte pour saisir data et txtSecretKey , ainsi qu’un autre champ pour afficher lblHEX ).
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Security.Cryptography; namespace ExampleDotNET { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void cmdGO_Click(object sender, EventArgs e) { String sChaine = data.Text; UTF8Encoding utf8 = new UTF8Encoding(); Byte[] encodedBytes = utf8.GetBytes(sChaine); byte[] shaResult; HMAC hmac = new HMAC.Create("HMACSHA256"); var key = "YourSecretKey"; hmac.Key = utf8.GetBytes(key); hmac.Initialize(); shaResult = hmac.ComputeHash(encodedBytes); lblHEX.Text = ByteArrayToHEX(shaResult); } private string ByteArrayToHEX(byte[] ba) { StringBuilder hex = new StringBuilder(ba.Length * 2); foreach (byte b in ba) hex.AppendFormat("{0:x2}", b); return hex.ToString(); } } }
Validation du calcul de seal
Une fois votre calcul de seal mis en place, voici un exemple de requête vous permettant de vérifier que vous retrouvez bien le bon seal :
{
"amount": "2500",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"cardCSCValue": "000",
"cardExpiryDate": "201612",
"cardNumber": "1234123412341234",
"currencyCode": "978",
"customerContact":{
"email":"customer@email.com"
},
"interfaceVersion": "IR_WS_2.3",
"keyVersion": "1",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": "ORD101",
"returnContext": "ReturnContext",
"transactionOrigin": "SO_WEBAPPLI",
"transactionReference": "TREFEXA2012",
"seal": "f1772faa4b73c0fc5a9810ad7fcaf91458d6174b2178a0a0a2bea2d860b404f5"
}
Pour la requête ci-dessus, la chaîne concaténée que vous devez calculer est la suivante :
25000AUTHOR_CAPTURE0002016121234123412341234978customer@email.comIR_WS_2.3
011223344550000INTERNETORD101ReturnContextSO_WEBAPPLITREFEXA2012
Avec un algorithme de hachage HMAC-SHA-256 et une clé secrète valant :
secret123
Le seal attendu est :
f1772faa4b73c0fc5a9810ad7fcaf91458d6174b2178a0a0a2bea2d860b404f5
Fonction "cardOrder" du service "checkout"
Cette fonction vous permet d'effectuer un paiement carte avec les informations bancaires d'un client.
Les informations sensibles (numéro de carte, cryptogramme visuel) peuvent être gérées selon trois possibilités, via le champ panType :
- chiffrement par l'utilisation du mode CSE (voir la documentation concernée) ;
- tokenisation du numéro de carte ;
- numéro de carte en clair (forte contrainte PCI).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/cardOrder
Format de la requête cardOrder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
cardCSCValue | Facultatif | WS_2.0 | |
cardEffectiveDate | Facultatif | WS_2.0 | |
cardExpiryDate | Facultatif | WS_2.0 | |
cardNumber | Facultatif | WS_2.0 | |
cardSeqNumber | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
merchantId | Obligatoire | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Conditionnel | WS_2.0 | Facultatif pour AccordKdo, obligatoire pour tous les autres moyens de paiement |
orderId | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
returnContext | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
transactionOrigin | Facultatif | WS_2.0 | |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.19 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
invoiceReference | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.2 | |
paymentPattern | Conditionnel | WS_2.2 | Ce champ est obligatoire pour certains moyens de paiement. Pour de plus amples informations, référez-vous au guide d'intégration du moyen de paiement concerné |
panType | Facultatif | WS_2.4 | |
paymentMeanBrand | Facultatif | WS_2.2 | |
paymentMeanData | Facultatif | WS_2.5 | Voir la partie Containers |
holderData | Facultatif | WS_2.5 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
riskManagementCustomDataList | Facultatif | WS_2.8 | Liste de conteneur riskManagementCustomData . Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.8 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
paymentMeanBrandSelectionStatus | Facultatif | WS_2.13 | Si ce champ est spécifié en entrée, paymentMeanBrand est obligatoire |
subMerchantId | Facultatif | WS_2.14 | |
subMerchantShortName | Facultatif | WS_2.14 | |
subMerchantCategoryCode | Facultatif | WS_2.14 | |
subMerchantLegalId | Facultatif | WS_2.14 | |
subMerchantAddress | Facultatif | WS_2.14 | Voir la partie Containers |
customerLanguage | Facultatif | WS_2.15 | |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
paymentMeanDataProvider | Facultatif | WS_2.31 | |
panEntryMode | Facultatif | WS_2.31 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 | |
initialSchemeTransactionIdentifier | Facultatif | WS_2.33 | |
paymentToken | Facultatif | WS_2.35 |
Exemple de requête cardOrder
{
"amount": "2500",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"cardCSCValue": "0000",
"cardExpiryDate": "201612",
"cardNumber": "1234123412341234",
"currencyCode": "978",
"interfaceVersion": " IR_WS_2.3",
"keyVersion": "1",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": " ORD101",
"returnContext": " ReturnContext",
"transactionOrigin": " SO_WEBAPPLI",
"transactionReference": "TREFEXA2012",
"seal": "2205f0636dc500c4f3ef536075895b8baba3a60c7087e06cd9d330c50a50c53e"
}
Format de la réponse cardOrder
Exemple de réponse cardOrder
{
"acquirerResponseCode": "00",
"authorisationId": "123456789102",
"cardScheme": "MASTERCARD",
"complementaryCode": "",
"complementaryInfo": "",
"maskedPan": "5219##########00",
"responseCode": "00",
"returnContext": "ReturnContext",
"transactionDateTime": "2012-10-16T23:50:44-12:00",
"seal": "7ca065ebba90762e3286ee16d6a2d2da0eea8bae6b46592058933881d96d0c3d",
"transactionPlatform": "PROD"
}
Fonction "refund" du service "cashManagement"
Cette opération vous permet de rembourser une transaction en créditant le compte du client et en débitant votre compte.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > remboursement', pour savoir dans quels cas vous pouvez effectuer une opération de remboursement.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/refund
Format de la requête refund
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
operationAmount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
operationOrigin | Facultatif | WS_2.0 | |
paymentMeanData | Facultatif | WS_2.5 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.11 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
customerContact | Facultatif | WS_2.20 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête refund
{
"currencyCode": "978",
"interfaceVersion": "CR_WS_2.3",
"merchantId": "011223344550000",
"operationAmount": "1000",
"operationOrigin": "SO_BATCH",
"transactionReference": "TREFEXA2012",
"keyVersion": "1",
"seal": "bed2f99d4137d402fde0c86a182f7d4f01c68e57d8a073fe5e920c57d06da1b5"
}
Format de la réponse refund
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
newAmount | WS_2.0 | |
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse refund
{
"acquirerResponseCode": "00",
"authorisationId": "123456789102",
"newAmount": 0,
"operationDateTime": "2012-10-16T23:45:34-12:00",
"responseCode": "00",
"newStatus": "TO_CREDIT",
"seal": "919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"
}
Fonction "validate" du service "cashManagement"
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.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > validation', pour savoir dans quels cas vous pouvez effectuer une opération de validation.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/validate
Format de la requête validate
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
operationAmount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
operationOrigin | Facultatif | WS_2.0 | |
lastRecoveryIndicator | Facultatif | WS_2.16 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
subMerchantId | Facultatif | WS_2.14 | |
subMerchantShortName | Facultatif | WS_2.14 | |
subMerchantCategoryCode | Facultatif | WS_2.14 | |
subMerchantLegalId | Facultatif | WS_2.14 | |
subMerchantAddress | Facultatif | WS_2.14 | Voir la partie Containers |
Exemple de requête validate
{
"currencyCode": "978",
"interfaceVersion": "CR_WS_2.3",
"merchantId": "011223344550000",
"operationAmount": "1200",
"operationOrigin": "SO_BATCH",
"transactionReference": "TREFEXA2012",
"keyVersion": "1",
"seal": "bed2f99d4137d402fde0c86a182f7d4f01c68e57d8a073fe5e920c57d06da1b5"
}
Format de la réponse validate
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
newAmount | WS_2.0 | |
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
captureLimitDate | WS_2.1 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 | |
schemeTransactionIdentifier | WS_2.31 | |
paymentAccountReference | WS_2.31 | |
guaranteeIndicator | WS_2.32 | |
secureReference | WS_2.32 |
Exemple de réponse validate
{
"acquirerResponseCode": "00",
"authorisationId": "123456789102",
"newAmount": 1000,
"operationDateTime": "2012-10-16T23:53:19-12:00",
"responseCode": "00",
"newStatus": "TO_CAPTURE",
"seal": "919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"
}
Fonction "duplicate" du service "cashManagement"
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.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > duplication', pour savoir dans quels cas vous pouvez effectuer une opération de duplication.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/duplicate
Format de la requête duplicate
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerEmail | Facultatif | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
fromTransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10FromTransactionReference |
merchantId | Obligatoire | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Facultatif | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
returnContext | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
transactionOrigin | Facultatif | WS_2.0 | |
fromMerchantId | Facultatif | WS_2.1 | |
deliveryAddress | Facultatif | WS_2.1 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.1 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.19 | Voir la partie Containers |
billingContact | Facultatif | WS_2.19 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.19 | Voir la partie Containers |
customerContact | Facultatif | WS_2.19 | Voir la partie Containers |
customerData | Facultatif | WS_2.19 | Voir la partie Containers |
statementReference | Facultatif | WS_2.2 | |
deliveryData | Facultatif | WS_2.5 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.5 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
s10FromTransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le fromTransactionReference. Voir la partie Containers |
paymentMeanData | Facultatif | WS_2.12 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
subMerchantId | Facultatif | WS_2.14 | |
subMerchantShortName | Facultatif | WS_2.14 | |
subMerchantCategoryCode | Facultatif | WS_2.14 | |
subMerchantLegalId | Facultatif | WS_2.14 | |
subMerchantAddress | Facultatif | WS_2.14 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.17 | Voir la partie Containers |
holderContact | Facultatif | WS_2.19 | Voir la partie Containers |
authenticationData | Facultatif | WS_2.17 | Voir la partie Containers |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête duplicate
{
"amount": "1000",
"currencyCode": "978",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"customerEmail": "customer@email.com",
"customerId": "654321",
"customerIpAddress": "127.0.0.1",
"interfaceVersion": " CR_WS_2.3",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": "123456",
"returnContext": "ReturnContext",
"transactionOrigin": "SO_BATCH",
"fromTransactionReference": "TREFEXA20122",
"transactionReference": "TREFEXA20121",
"keyVersion": "1",
"seal": "db2bbdd9550b5b7dc316d4b2859a0c45189aeaaf46b899cd90d5bde272e6ae24"
}
Format de la réponse duplicate
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
complementaryCode | WS_2.0 | |
complementaryInfo | WS_2.0 | |
maskedPan | WS_2.3 | |
panExpiryDate | WS_2.3 | |
paymentMeanBrand | WS_2.3 | |
scoreValue | WS_2.0 | |
scoreColor | WS_2.0 | |
scoreInfo | WS_2.0 | |
scoreProfile | WS_2.0 | |
scoreThreshold | WS_2.0 | |
responseCode | WS_2.0 | |
transactionDateTime | WS_2.0 | |
s10TransactionReference | WS_2.6 | Voir la partie Containers |
transactionReference | WS_2.6 | |
cardData | WS_2.9 | Voir la partie Containers |
seal | WS_2.0 | |
paymentMeanBrandSelectionStatus | WS_2.13 | |
preAuthorisationProfile | WS_2.13 | |
preAuthorisationProfileValue | WS_2.13 | |
preAuthorisationRuleResultList | WS_2.13 | Liste de conteneur preAuthorisationRuleResult . Voir la partie Containers |
transactionPlatform | WS_2.17 | Systématiquement valorisé à « PROD » |
avsPostcodeResponseCode | WS_2.17 | |
avsAddressResponseCode | WS_2.17 | |
errorFieldName | WS_2.21 | |
schemeTransactionIdentifier | WS_2.31 | |
paymentAccountReference | WS_2.31 | |
captureLimitDate | WS_2.35 | |
captureLimitDateTime | WS_2.35 |
Exemple de réponse duplicate
{
"acquirerResponseCode": "00",
"authorisationId": "069308",
"responseCode": "00",
"transactionDateTime": "2012-10-16T23:48:14-12:00",
"seal": "0fdd9a35319712a9feff14eee0f68bbd35bd8fb6000819b2d5cd17b2704d6b6f",
"transactionPlatform": "PROD"
}
Fonction "cancel" du service "cashManagement"
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.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > annulation', pour savoir dans quels cas vous pouvez effectuer une opération d'annulation.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/cancel
Format de la requête cancel
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
operationAmount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
operationOrigin | Facultatif | WS_2.0 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
customerContact | Facultatif | WS_2.20 | Voir la partie Containers |
Exemple de requête cancel
{
"currencyCode": "978",
"interfaceVersion": "CR_WS_2.3",
"merchantId": "011223344550000",
"operationAmount": "120",
"operationOrigin": "SO_BATCH",
"transactionReference": "TREFEXA2012",
"keyVersion": "1",
"seal": "bed2f99d4137d402fde0c86a182f7d4f01c68e57d8a073fe5e920c57d06da1b5"
}
Format de la réponse cancel
Champ | A partir de la version | Commentaires |
---|---|---|
newAmount | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
newStatus | WS_2.0 | |
seal | WS_2.0 | |
acquirerResponseCode | WS_2.20 | |
errorFieldName | WS_2.21 |
Exemple de réponse cancel
{
"newAmount": 0,
"operationDateTime": "2012-10-16T23:51:42-12:00",
"responseCode": "00",
"newStatus": "CANCELLED",
"seal": "919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"
}
Fonction "getTransactionData" du service "diagnostic"
Cette opération permet de récupérer des informations relatives à une transaction créée préalablement à l'aide de WL Sips et stockée dans la base de données WL Sips .
L'URL est : https://office-server.sips-services.com /rs-services/v2/diagnostic/getTransactionData
Format de la requête getTransactionData
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est DR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête getTransactionData
{
"interfaceVersion": "DR_WS_2.3",
"merchantId": "011223344550000",
"transactionReference": "TREFEXA2012",
"keyVersion": "1",
"seal": "112a4b079ece08a0a55511cd5469fc47051d6ddb1404623170ba3873668e5c58"
}
Format de la réponse getTransactionData
Exemple de réponse getTransactionData
{
"automaticResponseStatus": "UNDEFINED",
"authorisationId": "298392",
"captureLimitDate": "20140108",
"paymentMeanType": "CARD",
"paymentMeanBrand": "MASTERCARD",
"currencyCode": "826",
"currentAmount": 1000,
"customerId": "customerId1",
"customerIpAddress": "127.0.0.1",
"lastOperationDateTime": "2014-01-07T12:50:10+01:00",
"lastOperationName": "TRANSACTION",
"orderId": "123",
"originAmount": 1000,
"transactionDateTime": "2014-01-07T12:50:01+01:00",
"responseCode": "00",
"transactionStatus": "TO_CAPTURE",
"orderChannel": "INTERNET",
"paymentPattern": "ONE_SHOT",
"merchantId": "011223344550000",
"seal": "d971d516610f68050a71068c49ae778c37eb1c9b16f2ec90a3feadeb1bb60876"
}
Fonction "getFraudData" du service "diagnostic"
Cette opéraiton permet de récupérer des informations relatives au contrôle anti-fraude d'une transaction créée préalablement à l'aide de WL Sips et stockée dans la base de données WL Sips .
L'URL est : https://office-server.sips-services.com /rs-services/v2/diagnostic/getFraudData
Format de la requête getFraudData
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.13 | |
interfaceVersion | Obligatoire | WS_2.13 | La valeur préconisée est DR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.13 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.13 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.13 | |
seal | Obligatoire | WS_2.13 | |
keyVersion | Obligatoire | WS_2.13 | |
sealAlgorithm | Facultatif | WS_2.13 |
Exemple de requête getFraudData
{
"interfaceVersion": "DR_WS_2.13",
"keyVersion": "1",
"merchantId": "029107704346091",
"sealAlgorithm": "SHA-256",
"transactionReference": "12345678945613",
"seal": "1b30f5b8bfb1739adf716e5c86c67e5034c91c29cd2651a5e0b8d6e5e12a6be5"
}
Format de la réponse getFraudData
Champ | A partir de la version | Commentaires |
---|---|---|
complementaryCode | WS_2.13 | |
fraudResponseCode | WS_2.13 | |
preAuthenticationColor | WS_2.13 | |
preAuthenticationProfile | WS_2.13 | |
preAuthenticationProfileValue | WS_2.13 | |
preAuthenticationRuleResultList | WS_2.13 | Liste de conteneur preAuthenticationRuleResult . Voir la partie Containers |
preAuthenticationThreshold | WS_2.13 | |
preAuthenticationValue | WS_2.13 | |
preAuthorisationProfile | WS_2.13 | |
preAuthorisationProfileValue | WS_2.13 | |
preAuthorisationRuleResultList | WS_2.13 | Liste de conteneur preAuthorisationRuleResult . Voir la partie Containers |
scoreColor | WS_2.13 | |
scoreProfile | WS_2.13 | |
scoreThreshold | WS_2.13 | |
scoreValue | WS_2.13 | |
seal | WS_2.13 | |
errorFieldName | WS_2.21 |
Exemple de réponse getFraudData
{
"fraudResponseCode": "00",
"preAuthorisationProfile": "MP0050",
"preAuthorisationRuleResultList": [
{
"ruleCode": "CA",
"ruleType": "N",
"ruleWeight": "4",
"ruleSetting": "S",
"ruleResultIndicator": "-4",
"ruleDetailedInfo": "MIN\u003d1000:2000;MAX\u003d1000:100000"
},
{
"ruleCode": "PE",
"ruleType": "N",
"ruleWeight": "4",
"ruleSetting": "S",
"ruleResultIndicator": "0",
"ruleDetailedInfo": "EXPIRY\u003d1216:0616"
},
{
"ruleCode": "EC",
"ruleType": "N",
"ruleWeight": "2",
"ruleSetting": "N",
"ruleResultIndicator": "U"
}
],
"scoreColor": "BLACK",
"scoreProfile": "MP0050",
"scoreThreshold": "-17;-8",
"scoreValue": "-4.0",
"seal": "0c67850db20d23c8efd5f186c8f03104b697f1b4f49ef18af18cddf74b01bcbb"
}
Fonction "cardCheckEnrollment" du service "checkout"
Cette opération permet d’initialiser un paiement par carte avec processus 3-D Secure.
Sauf mention contraire, toute référence à 3-D Secure dans le présent document inclut Visa (Verified by Visa), MasterCard (SecureCode) et American Express (SafeKey).
Cette requête initialise une transaction sur la plateforme WL Sips et contrôle l'inscription de la carte. Si la carte est inscrite à 3-D Secure, vous recevez comme réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre son authentification. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir la partie "Formulaire POST vers l’ACS". Dans le cas contraire, vous avez la possibilité de poursuivre le paiement sans effectuer de redirection en appelant directement la méthode cardValidateAuthenticationAndOrder.
Les informations sensibles (numéro de carte, cryptogramme visuel) peuvent être gérées selon trois possibilités, via le champ panType :
- chiffrement par l'utilisation du mode CSE (voir la documentation concernée) ;
- tokenisation du numéro de carte ;
- numéro de carte en clair (forte contrainte PCI).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/cardCheckEnrollment
Format de la requête cardCheckEnrollment
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
cardCSCValue | Facultatif | WS_2.0 | |
cardExpiryDate | Facultatif | WS_2.0 | |
cardNumber | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
invoiceReference | Facultatif | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
merchantName | Facultatif | WS_2.0 | Permet de modifier le nom affiché sur la page d'authentification 3-D Secure |
merchantReturnUrl | Facultatif | WS_2.0 | |
merchantUrl | Facultatif | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
transactionOrigin | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
paymentPattern | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.19 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.19 | Voir la partie Containers |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
panType | Facultatif | WS_2.11 | |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
paymentMeanBrand | Facultatif | WS_2.13 | |
paymentMeanBrandSelectionStatus | Facultatif | WS_2.13 | Si ce champ est spécifié en entrée, paymentMeanBrand est obligatoire |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
paymentMeanData | Facultatif | WS_2.18 | Voir la partie Containers |
customerAccountHistoric | Facultatif | WS_2.23 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 | |
paymentToken | Facultatif | WS_2.35 |
Exemple de requête cardCheckEnrollment
{
"amount": "1000",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"cardCSCValue": "123",
"cardExpiryDate": "201602",
"cardNumber": "1234123412341234",
"currencyCode": "978",
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"merchantTransactionDateTime": "2015-05-28T11:23:14.211+02:00",
"orderChannel": "INTERNET",
"orderId": "1234",
"transactionReference": "TREFEXA2015",
"seal": "607083393a51b4b23261270df83c28a61e06f74928bc1e868c0abb9325dde2f2"
}
Format de la réponse cardCheckEnrollment
Champ | A partir de la version | Commentaires |
---|---|---|
redirectionUrl | WS_2.0 | |
errorFieldName | WS_2.0 | |
paReqMessage | WS_2.0 | |
redirectionData | WS_2.0 | |
redirectionStatusCode | WS_2.0 | |
messageVersion | WS_2.0 | |
seal | WS_2.0 | |
paymentMeanBrandSelectionStatus | WS_2.13 | |
responseCode | WS_2.23 | |
maskedPan | WS_2.32 | |
tokenPan | WS_2.32 |
Exemple de réponse cardCheckEnrollment
{
"redirectionUrl": "http://www.acssiteweb.com",
"paReqMessage": "eJxVUU1zgj...Rv8P/AJQjttc\u003d",
"redirectionData": "uqjeV+Keg...MAwXk2jDJAe2TI\u003d",
"redirectionStatusCode": "00",
"messageVersion": "0.1",
"seal": "3c40cf8c12a8eebdfc114c83db8f944b77932b03814d8bf43ea792c20d05e7a6"
}
Fonction "walletCheckEnrollment" du service "checkout"
Cette opération permet d’initialiser un paiement par wallet avec le processus 3-D Secure.
Sauf mention contraire, toute référence à 3-D Secure dans le présent document inclut Visa (Verified by Visa), MasterCard (SecureCode) et American Express (SafeKey).
Cette requête initialise une transaction sur la plateforme WL Sips et vérifie si la carte récupérée à partir du wallet est inscrite au programme 3-D Secure. Si la carte est inscrite à 3-D Secure, vous recevez comme réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre son authentification. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir la partie "Formulaire POST vers l’ACS". Dans le cas contraire, vous avez la possibilité de poursuivre le paiement sans effectuer de redirection en appelant directement la méthode cardValidateAuthenticationAndOrder.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/walletCheckEnrollment
Format de la requête walletCheckEnrollment
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.19 | Voir la partie Containers |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.19 | Voir la partie Containers |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
invoiceReference | Facultatif | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
merchantName | Facultatif | WS_2.0 | Permet de modifier le nom affiché sur la page d'authentification 3-D Secure |
merchantReturnUrl | Facultatif | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
merchantUrl | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
merchantWalletId | Obligatoire | WS_2.0 | |
paymentMeanId | Obligatoire | WS_2.0 | |
paymentPattern | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
cardCSCValue | Facultatif | WS_2.0 | |
cscType | Facultatif | WS_2.32 | |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 | |
paymentToken | Facultatif | WS_2.35 |
Exemple de requête walletCheckEnrollment
{
"amount": "1000",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"cardCSCValue": "123",
"currencyCode": "978",
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"merchantTransactionDateTime": "2015-05-28T11:30:14.232+02:00",
"merchantWalletId": "WALLET01",
"orderChannel": "INTERNET",
"orderId": "1234",
"paymentMeanId": "10",
"transactionReference": "TREFEXA2015",
"seal": "3bfc4e958ba4ea43090db3c0c0bdba7162c92727ca1338b2111b28ddd91056a1"
}
Format de la réponse walletCheckEnrollment
Champ | A partir de la version | Commentaires |
---|---|---|
redirectionUrl | WS_2.0 | |
errorFieldName | WS_2.0 | |
paReqMessage | WS_2.0 | |
redirectionData | WS_2.0 | |
redirectionStatusCode | WS_2.0 | |
messageVersion | WS_2.0 | |
seal | WS_2.0 | |
responseCode | WS_2.23 |
Exemple de réponse walletCheckEnrollment
{
"redirectionUrl": "http://www.acssiteweb.com",
"paReqMessage": "eJxVUU1zgj...Rv8P/AJQjttc\u003d",
"redirectionData": "uqjeV+Keg...MAwXk2jDJAe2TI\u003d",
"redirectionStatusCode": "00",
"messageVersion": "0.1",
"seal": "3c40cf8c12a8eebdfc114c83db8f944b77932b03814d8bf43ea792c20d05e7a6"
}
Fonction "cardValidateAuthenticationAndOrder" du service "checkout"
Cette opération permet de finaliser un ordre de paiement avec un processus 3-D Secure.
Sauf mention contraire, toute référence à 3-D Secure dans le présent document inclut Visa (Verified by Visa), MasterCard (SecureCode) et American Express (SafeKey).
Cette requête est obligatoire pour l’exécution d'un ordre de paiement dans un contexte 3-D Secure (message PARes). Elle doit être effectuée une fois que vous avez reçu le formulaire POST de l'ACS (Access Control Server) (voir « Envoi du formulaire POST à l’ACS »).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/cardValidateAuthenticationAndOrder
Format de la requête cardValidateAuthenticationAndOrder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
messageVersion | Obligatoire | WS_2.0 | Doit être identique au champ messageVersion reçu en réponse de la méthode cardCheckEnrollment ou walletCheckEnrollment |
merchantId | Obligatoire | WS_2.0 | |
redirectionData | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
paResMessage | Conditionnel | WS_2.0 | Obligatoire si une opération de validation
d'authentification doit valider l'enrôlement de votre carte.
IMPORTANT:
remplissez ce champ en utilisant le champ
Ne remplissez
pas ce champ si vous voulez tenter une opération de PARes
qui vous a été retourné par
l’ACS de la banque du client lors de la vérification de
l’enrôlement de la carte.
Vous devez appliquer l’encodage
standard 'Url Encode' au champ cardValidateAuthenticationAndOrder
sur une carte non enrôlée. |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête cardValidateAuthenticationAndOrder
{
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"paResMessage": "eJydVVuTqjgQ....7h%2FwH0CKem",
"redirectionData": "uqjeV+KegCSM0POI...CjVUfxqyFq7zSYus7E\u003d",
"transactionReference": "TREFEXA2015",
"seal": "9565b71cb583f025278de91940c69900dee72d91e8184ddb6547f00927597fd1"
}
Format de la réponse cardValidateAuthenticationAndOrder
Exemple de réponse cardValidateAuthenticationAndOrder
{
"amount": 1000,
"authorisationId": "010628",
"avsAddressResponseCode": "1",
"avsPostcodeResponseCode": "1",
"captureDay": 0,
"captureMode": "AUTHOR_CAPTURE",
"cardExpiryDate": "201602",
"currencyCode": "978",
"holderAuthentStatus": "3D_SUCCESS",
"guaranteeIndicator": "Y",
"maskedPan": "4907##########00",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": "1234",
"paymentMeanBrand": "VISA",
"responseCode": "00",
"transactionDateTime": "2015-05-28T12:38:25+03:00",
"transactionReference": "TREFEXA2015",
"s10TransactionReference": {
"s10TransactionId": "129306",
"s10TransactionIdDate": "20150528"
},
"seal": "ef3f3cc68a39a5d1144663162a35fa6070bfe39d5abbe672b15417ff87afc431",
"transactionPlatform": "PROD"
}
Fonction "cardValidateAuthentication" du service "checkout"
Requêtes de validation d'authentification 3-D Secure :
Sauf mention contraire, toute référence à 3-D Secure dans le présent document inclut Visa (Verified by Visa), MasterCard (SecureCode) et American Express (SafeKey).
Cette requête est obligatoire pour vérifier l'ensemble de l'authentification 3-D Secure (avec un message PARes). Elle doit être effectuée une fois que vous avez reçu le formulaire POST de l'ACS (Access Control Server) (voir "Envoi du formulaire POST à l’ACS").
Cette méthode est principalement à usage de contrôle du porteur avant un enregistrement de la carte dans un wallet.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/cardValidateAuthentication
Format de la requête cardValidateAuthentication
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
messageVersion | Obligatoire | WS_2.0 | Doit être identique au champ messageVersion reçu en réponse de la méthode cardCheckEnrollment ou walletCheckEnrollment |
merchantId | Obligatoire | WS_2.0 | |
redirectionData | Obligatoire | WS_2.0 | |
paResMessage | Conditionnel | WS_2.0 | Obligatoire si une opération de validation d'authentification doit valider l'enrôlement de votre carte.
IMPORTANT:
remplissez ce champ en utilisant le champ
Ne remplissez pas ce champ si vous voulez tenter une opération de PARes
qui vous a été retourné par l’ACS de la banque du client lors de la vérification de l’enrôlement de la carte.
Vous devez appliquer l’encodage standard 'Url Encode' au champ cardValidateAuthenticationAndOrder
sur une carte non enrôlée. |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête cardValidateAuthentication
{
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"paResMessage": "eJydVVuTqjgQ....7h%2FwH0CKem",
"redirectionData": "uqjeV+KegCSM0POI...CjVUfxqyFq7zSYus7E\u003d",
"transactionReference": "TREFEXA2015",
"seal": "9565b71cb583f025278de91940c69900dee72d91e8184ddb6547f00927597fd1"
}
Format de la réponse cardValidateAuthentication
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
holderAuthentResponseCode | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 | |
holderAuthentStatus | WS_2.27 | |
holderAuthentMethod | WS_2.27 | |
holderAuthentProgram | WS_2.27 | |
threeD | WS_2.27 | Voir la partie Containers |
threeDV2 | WS_2.27 | Voir la partie Containers |
Exemple de réponse cardValidateAuthentication
{
"responseCode": "00",
"holderAuthentResponseCode": "00",
"seal": "ef3f3cc68a39a5d1144663162a35fa6070bfe39d5abbe672b15417ff87afc431"
}
Fonction "creditHolder" du service "cashManagement"
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é.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > crédit porteur', pour savoir dans quels cas vous pouvez effectuer une opération de crédit porteur.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/creditHolder
Format de la requête creditHolder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
cardEffectiveDate | Facultatif | WS_2.0 | |
cardExpiryDate | Obligatoire | WS_2.0 | |
cardNumber | Obligatoire | WS_2.0 | |
cardScheme | Facultatif | WS_2.0 | |
cardSeqNumber | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerEmail | Facultatif | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
orderChannel | Facultatif | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
panType | Facultatif | WS_2.1 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
subMerchantId | Facultatif | WS_2.14 | |
subMerchantShortName | Facultatif | WS_2.14 | |
subMerchantCategoryCode | Facultatif | WS_2.14 | |
subMerchantLegalId | Facultatif | WS_2.14 | |
subMerchantAddress | Facultatif | WS_2.14 | Voir la partie Containers |
statementReference | Facultatif | WS_2.19 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête creditHolder
{
"amount": "1000",
"cardExpiryDate": "201602",
"cardNumber": "1234123412341234",
"currencyCode": "978",
"keyVersion": "1",
"interfaceVersion": "CR_WS_2.9",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": "1234",
"transactionReference": "TREFEXA2015",
"seal": "607083393a51b4b23261270df83c28a61e06f74928bc1e868c0abb9325dde2f2"
}
Format de la réponse creditHolder
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
maskedPan | WS_2.0 | |
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
s10TransactionReference | WS_2.6 | Voir la partie Containers |
transactionReference | WS_2.6 | |
transactionPlatform | WS_2.17 | Systématiquement valorisé à « PROD » |
errorFieldName | WS_2.21 | |
seal | WS_2.0 | |
authorMessageReference | WS_2.35 | |
cardData | WS_2.35 | Voir la partie Containers |
Exemple de réponse creditHolder
{
"acquirerResponseCode": "00",
"responseCode": "00",
"authorisationId": "069308",
"authorMessageReference": "123456",
"maskedPan": "1234##########34",
"newStatus": "TO_CREDIT",
"operationDateTime": "2020-07-27T23:48:14-12:00",
"s10TransactionReference": {
"s10TransactionId": "34800",
"s10TransactionIdDate": "20150506"
},
"transactionReference": "SIM2014012248339",
"cardData":{
"cardScheme": "VISA",
"cardBrand": "VISA",
"cardProductCode": "F",
"cardProductName": "VISA CLASSIC",
"cardCorporateIndicator": "N",
"issuerCode": "10107",
"issuerCountryCode": "FRA",
"issuerRegionCode": "D",
"panLengthMin": 16,
"panLengthMax": 16,
"panCheckAlgorithm": "L"
},
"transactionPlatform": "PROD",
"seal": "ef3f3cc68a39a5d1144663162a35fa6070bfe39d5abbe672b15417ff87afc431"
}
Fonction "walletOrder" du service "checkout"
Cette fonction vous permet d’effectuer des paiements en utilisant un des moyens de paiement contenus dans le Wallet de vos clients.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/walletOrder
Format de la requête walletOrder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
merchantId | Obligatoire | WS_2.0 | |
merchantWalletId | Obligatoire | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
paymentMeanId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
returnContext | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
transactionOrigin | Facultatif | WS_2.0 | |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.19 | Voir la partie Containers |
customerData | Facultatif | WS_2.1 | Voir la partie Containers |
invoiceReference | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.2 | |
paymentPattern | Conditionnel | WS_2.3 | Ce champ est obligatoire pour certains moyens de paiement. Pour de plus amples informations, référez-vous au guide d'intégration du moyen de paiement concerné |
cardCSCValue | Facultatif | WS_2.3 | |
cscType | Facultatif | WS_2.32 | |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
customerLanguage | Facultatif | WS_2.15 | |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
paymentMeanData | Facultatif | WS_2.17 | Voir la partie Containers |
holderData | Facultatif | WS_2.17 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.19 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 | |
initialSchemeTransactionIdentifier | Facultatif | WS_2.33 | |
paymentToken | Facultatif | WS_2.35 |
Exemple de requête walletOrder
{
"amount": "2500",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"currencyCode": "978",
"customerIpAddress": "127.0.0.1",
"interfaceVersion": "IR_WS_2.3",
"invoiceReference": "FAC007NB",
"keyVersion": "1",
"merchantId": "011223344550000",
"merchantTransactionDateTime": "2014-01-10T17:13:30.743+01:00",
"orderChannel": "INTERNET",
"merchantWalletId": "WALLET01",
"paymentMeanId": "10",
"transactionOrigin": "SO_WEBAPPLI",
"transactionReference": "TREFEXA2012",
"seal": "5bb0e9fcbb3eaa28557ac41ed6ab57ab84d9edbe9fe8eb0cedd3e8548433b7cd"
}
Format de la réponse walletOrder
Exemple de réponse walletOrder
{
"acquirerResponseCode": "00",
"authorisationId": "123456789102",
"cardScheme": "MASTERCARD",
"maskedPan": "5219##########00",
"responseCode": "00",
"returnContext": "ReturnContext",
"transactionDateTime": "2012-10-16T23:50:44-12:00",
"seal": "7ca065ebba90762e3286ee16d6a2d2da0eea8bae6b46592058933881d96d0c3d",
"transactionPlatform": "PROD"
}
Fonction "walletIssuerWalletInitialize" du service "checkout"
Cette requête permet d'initialiser un paiement one-click avec un wallet externe (type Paylib) :
Une telle requête est obligatoire pour récupérer les données de redirection et l'url vers laquelle rediriger l'acheteur vers les pages d'authentification du wallet externe enrôlé dans un wallet WL Sips . Si l'étape d'initialisation a réussi, vous recevez en réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre la procédure de paiement one-click. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir la partie "Formulaire POST vers des fournisseurs externes". Vous devez également spécifier dans la requête l'URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du paiement one-click avec un wallet externe. Vous devez ensuite appeler le service walletIssuerWalletFinalize afin de finaliser la transaction.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/walletIssuerWalletInitialize
Format de la requête walletIssuerWalletInitialize
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantReturnUrl | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
amount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
paymentPattern | Facultatif | WS_2.0 | Ce champ est obligatoire pour certains moyens de paiement. Pour de plus amples informations, référez-vous au guide de mise en œuvre du moyen de paiement concerné |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
invoiceReference | Facultatif | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
holderData | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.0 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.0 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
responseKeyVersion | Facultatif | WS_2.0 | |
intermediateServiceProviderId | Facultatif | WS_2.0 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.0 | |
travelContext | Facultatif | WS_2.0 | Voir la partie Containers |
orderContext | Facultatif | WS_2.0 | Voir la partie Containers |
merchantWalletId | Obligatoire | WS_2.0 | |
paymentMeanId | Obligatoire | WS_2.0 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête walletIssuerWalletInitialize
{
"amount": "1000",
"captureMode": "AUTHOR_CAPTURE",
"currencyCode": "978",
"customerIpAddress": "127.0.0.1",
"interfaceVersion": "IR_WS_2.3",
"keyVersion": "1",
"merchantId": "023101122334455",
"merchantReturnUrl": "http://www.yoursiteweb.com",
"merchantTransactionDateTime": "2014-07-11T10:59:57.723+02:00",
"orderChannel": "INTERNET",
"paymentMeanBrand": "PAYLIB",
" transactionReference": "TREFEXA2012",
"merchantWalletId":"12",
"seal": " 95e479c276d71a07c655f3c2db1bb8b483c0921e544d4af4cff3e220b04eb551"
}
Format de la réponse walletIssuerWalletInitialize
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
redirectionUrl | WS_2.0 | |
redirectionData | WS_2.0 | |
messageVersion | WS_2.0 | |
paymentProviderSessionId | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.0 | |
issuerWalletType | WS_2.0 |
Exemple de réponse walletIssuerWalletInitialize
{
"responseCode": "00",
"redirectionUrl": "https://private-payment.test.sips-services.com/paylib/FrontController",
"redirectionData": "RSs7cZyL1DqsVso",
"messageVersion": "0.1",
"seal": "79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6"
}
Fonction "walletIssuerWalletFinalize" du service "checkout"
Cette opération permet de finaliser un paiement wallet pour les wallets externes.
Une telle requête est obligatoire pour connaître le résultat d'un ordre de paiement wallet effectué par le biais d'un wallet externe. Elle doit être appelée une fois que vous avez reçu le formulaire POST du wallet externe via la merchantReturnUrl (voir requête walletIssuerWalletInitialize).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/walletIssuerWalletFinalize
Format de la requête walletIssuerWalletFinalize
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
redirectionData | Obligatoire | WS_2.0 | |
messageVersion | Obligatoire | WS_2.0 | |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.0 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.0 |
Exemple de requête walletIssuerWalletFinalize
{
"interfaceVersion": "IR_WS_2.23",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"redirectionData": " RSs7cZyL1DqsVso ",
"transactionReference": "TREFEXA2012",
"seal": "30218c85ca303d33d5e7b60bb48222b9826fbc30b6c2ec98fff285702e445ae1"
}
Format de la réponse walletIssuerWalletFinalize
Exemple de réponse walletIssuerWalletFinalize
{
"responseCode": "00",
"captureDay": "0",
"currencyCode": "978",
"merchantId": "011223344550000",
"paymentPattern": "ONE_SHOT",
"transactionAmount": "200",
"transactionDateTime": "2014-01-14T08:38:11.494+01:00",
"transactionReference": "TREFEXA2012",
"seal": "79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6",
"transactionPlatform": "PROD"
}
Fonction "walletCreditHolder" du service "cashManagement"
Cette fonction vous permet de créditer vos clients via leur wallet sans transaction préalable.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/walletCreditHolder
Format de la requête walletCreditHolder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerEmail | Facultatif | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
merchantWalletId | Obligatoire | WS_2.0 | |
paymentMeanId | Obligatoire | WS_2.0 | |
orderChannel | Facultatif | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
statementReference | Facultatif | WS_2.19 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête walletCreditHolder
{
"amount": "1000",
"currencyCode": "978",
"customerEmail": "toto@mail.fr",
"customerId": "customerId1",
"customerIpAddress": "127.0.0.1",
"interfaceVersion": "CR_WS_2.6",
"keyVersion": "1",
"merchantId": "011223344550000",
"merchantWalletId": "SIM01",
"orderChannel": "INTERNET",
"orderId": "123",
"paymentMeanId": "2",
"returnContext": "my return context",
"transactionOrigin": "SIPS-SIM",
"transactionReference": "SIM2014012248339",
"seal": "d3f5f2c4c6f608e3a4940c6700ca6827c066715512be835660a8091c6ec1e098"
}
Format de la réponse walletCreditHolder
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
maskedPan | WS_2.0 | |
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
s10TransactionReference | WS_2.6 | Voir la partie Containers |
transactionReference | WS_2.0 | |
paymentMeanBrand | WS_2.0 | |
transactionPlatform | WS_2.17 | Systématiquement valorisé à « PROD » |
seal | WS_2.0 | |
errorFieldName | WS_2.21 | |
authorMessageReference | WS_2.35 | |
cardData | WS_2.35 | Voir la partie Containers |
Exemple de réponse walletCreditHolder
{
"acquirerResponseCode": "00",
"responseCode": "00",
"authorisationId": "069308",
"authorMessageReference": "123456",
"maskedPan": "4907##########00",
"newStatus": "TO_CREDIT",
"operationDateTime": "2015-05-06T12:12:07+03:00",
"s10TransactionReference": {
"s10TransactionId": "34800",
"s10TransactionIdDate": "20150506"
},
"transactionReference": "SIM2014012248339",
"paymentMeanBrand": "VISA",
"cardData": {
"cardScheme": "VISA",
"cardBrand": "VISA",
"cardProductCode": "F",
"cardProductName": "VISA CLASSIC",
"cardCorporateIndicator": "N",
"issuerCode": "10107",
"issuerCountryCode": "FRA",
"issuerRegionCode": "D",
"panLengthMin": 16,
"panLengthMax": 16,
"panCheckAlgorithm": "L"
},
"transactionPlatform": "PROD",
"seal": "250c2a5831ae3b1a015d4d8be0e1970936e2c53b50607c8f6182556c0291ab8d"
}
Fonction "paymentProviderInitialize" du service "checkout"
Cette opération permet d’initialiser un paiement pour les wallets externes.
Une telle requête initie une session pour le passage d’ordre de paiement par wallet externe. S'il s'agit d'une transaction non initiée sur mobile et que l'étape d'initialisation a réussi, vous recevez en réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre la procédure de paiement. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir la partie "Formulaire POST vers des fournisseurs externes". Vous devez également spécifier dans la requête l'URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du paiement par wallet externe. Vous devez ensuite appeler le service paymentProviderFinalize afin de finaliser la transaction.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/paymentProviderInitialize
Format de la requête paymentProviderInitialize
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
paymentMeanBrand | Obligatoire | WS_2.0 | |
merchantReturnUrl | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
amount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
paymentPattern | Conditionnel | WS_2.0 | Ce champ est obligatoire pour certains moyens de paiement. Pour de plus amples informations, référez-vous au guide d'intégration du moyen de paiement concerné |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
invoiceReference | Facultatif | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
authenticationData | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
holderData | Facultatif | WS_2.19 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryData | Facultatif | WS_2.6 | Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.6 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
responseKeyVersion | Facultatif | WS_2.7 | |
paymentMeanData | Facultatif | WS_2.10 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
travelContext | Facultatif | WS_2.19 | Voir la partie Containers |
orderContext | Facultatif | WS_2.19 | Voir la partie Containers |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête paymentProviderInitialize
{
"amount": "1000",
"captureMode": "AUTHOR_CAPTURE",
"currencyCode": "978",
"customerIpAddress": "127.0.0.1",
"interfaceVersion": "IR_WS_2.3",
"keyVersion": "1",
"merchantId": "023101122334455",
"merchantReturnUrl": "http://www.yoursiteweb.com",
"merchantTransactionDateTime": "2014-07-11T10:59:57.723+02:00",
"orderChannel": "INTERNET",
"paymentMeanBrand": "PAYLIB",
" transactionReference": "TREFEXA2012",
"seal": " 95e479c276d71a07c655f3c2db1bb8b483c0921e544d4af4cff3e220b04eb551"
}
Format de la réponse paymentProviderInitialize
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
redirectionUrl | WS_2.0 | |
redirectionData | WS_2.0 | |
messageVersion | WS_2.0 | |
paymentProviderSessionId | WS_2.1 | |
outerRedirectionUrl | WS_2.9 | |
acquirerNativeResponseCode | WS_2.10 | |
acquirerResponseIdentifier | WS_2.10 | |
acquirerResponseMessage | WS_2.10 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse paymentProviderInitialize
{
"responseCode": "00",
"redirectionUrl": "https://payment.test.sips-services.com/paymentprovider/init",
"redirectionData": "RSs7cZyL1DqsVso",
"messageVersion": "0.1",
"seal": "79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6"
}
Fonction "paymentProviderGetContext" du service "checkout"
Cette requête est facultative et vous permet de connaître l'identité et l'adresse de livraison du payeur pour les afficher avant la confirmation de la transaction lors d’une transaction PayPal.
Cette fonction est uniquement disponible pour le moyen de paiement PayPal.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/paymentProviderGetContext
Format de la requête paymentProviderGetContext
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
redirectionData | Obligatoire | WS_2.0 | |
messageVersion | Obligatoire | WS_2.0 | |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_1.2 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête paymentProviderGetContext
{
"interfaceVersion": "IR_WS_2.0",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"redirectionData": "RSs7cZy...L1DqsVso",
"transactionReference": "TREFEXA2012",
"seal": "30218c85ca303d33d5e7b60bb48222b9826fbc30b6c2ec98fff285702e445ae1"
}
Format de la réponse paymentProviderGetContext
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
deliveryAddress | WS_2.0 | Voir la partie Containers |
deliveryContact | WS_2.0 | Voir la partie Containers |
customerAddress | WS_2.0 | Voir la partie Containers |
customerContact | WS_2.0 | Voir la partie Containers |
paymentMeanData | WS_2.0 | Voir la partie Containers |
acquirerNativeResponseCode | WS_2.0 | |
acquirerResponseMessage | WS_2.0 | |
acquirerResponseIdentifier | WS_2.0 | |
seal | WS_2.0 | |
holderAddress | WS_2.0 | Voir la partie Containers |
errorFieldName | WS_2.21 |
Exemple de réponse paymentProviderGetContext
{
"responseCode": "00",
"deliveryAddress": {
"addressAdditional1": "devliveryAdd11",
"city": "Blois",
"country": "FR",
"street": "Street",
"zipCode": "41000"
},
"deliveryContact": {
"email": "team@email.com",
"firstname": "Team",
"lastname": "John",
"phone": "0254440000"
},
"customerAddress": {
"addressAdditional1": "devliveryAdd11",
"city": "Blois",
"country": "FR",
"street": "Street",
"zipCode": "41000"
},
"customerContact": {
"firstname": "Team",
"lastname": "BO",
"phone": "0254440000"
},
"paymentMeanData": {
"paypal": {
"token": "EC-4S931937D5977923H",
"deliveryAddressStatus": "Confirmed",
"payerId": "H3G7GWRLLSBDY",
"payerStatus": "verified",
"paymentStatus": "PaymentActionNotInitiated"
}
},
"acquirerResponseMessage": "Process succeeded",
"acquirerResponseIdentifier": "419d14fb8a5c",
"seal": "18509963c41e3102967ee0ebc149165032b1b53cffec29f46d29ab37d8bc1df4"
}
Fonction "paymentProviderFinalize" du service "checkout"
Cette opération permet de finaliser un paiement pour les wallets externes.
Une telle requête est obligatoire pour connaître le résultat d'un ordre de paiement effectué par le biais d'un wallet externe. Elle doit être appelée une fois que vous avez reçu le formulaire POST du wallet externe via la merchantReturnUrl (voir requête paymentProviderInitialize).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/paymentProviderFinalize
Format de la requête paymentProviderFinalize
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
redirectionData | Obligatoire | WS_2.0 | |
messageVersion | Obligatoire | WS_2.0 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête paymentProviderFinalize
{
"interfaceVersion": "IR_WS_2.0",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"redirectionData": " RSs7cZyL1DqsVso ",
"transactionReference": "TREFEXA2012",
"seal": "30218c85ca303d33d5e7b60bb48222b9826fbc30b6c2ec98fff285702e445ae1"
}
Format de la réponse paymentProviderFinalize
Exemple de réponse paymentProviderFinalize
{
"responseCode": "00",
"captureDay": "0",
"currencyCode": "978",
"merchantId": "011223344550000",
"paymentPattern": "ONE_SHOT",
"transactionAmount": "200",
"transactionDateTime": "2014-01-14T08:38:11.494+01:00",
"transactionReference": "TREFEXA2012",
"seal": "79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6",
"transactionPlatform": "PROD"
}
Fonction "directDebitOrder" du service "checkout"
Cette fonction vous permet, si vous possédez les informations bancaires d'un client, d'effectuer des paiements de type prélèvement (SDD et ELV).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/directDebitOrder
Format de la requête directDebitOrder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
invoiceReference | Facultatif | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
transactionOrigin | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
paymentMeanBrand | Obligatoire | WS_2.0 | |
customerBankCode | Facultatif | WS_2.5 | |
customerAccount | Facultatif | WS_2.5 | |
customerBankAccountType | Facultatif | WS_2.5 | |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
fraudData | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
paymentPattern | Conditionnel | WS_2.0 | Ce champ est obligatoire pour certains moyens de paiement. Pour de plus amples informations, référez-vous au guide d'intégration du moyen de paiement concerné |
instalmentData | Facultatif | WS_2.0 | Voir la partie Containers |
mandateAuthentMethod | Facultatif | WS_2.0 | |
mandateUsage | Facultatif | WS_2.0 | |
mandateId | Conditionnel | WS_2.0 | |
creditorId | Facultatif | WS_2.0 | |
valueDate | Facultatif | WS_2.0 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
riskManagementCustomDataList | Facultatif | WS_2.8 | Liste de conteneur riskManagementCustomData . Voir la partie Containers |
shoppingCartDetail | Facultatif | WS_2.8 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête directDebitOrder
{
"amount": "2500",
"captureDay": "0",
"captureMode": "AUTHOR_CAPTURE",
"cardCSCValue": "0000",
"currencyCode": "978",
"customerBankAccountType": "BIC_IBAN",
"interfaceVersion": " IR_WS_2.3",
"keyVersion": "1",
"mandateId": "000000000000001999",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": " ORD101",
"paymentMeanBrand": "SEPA_DIRECT_DEBIT",
"returnContext": "ReturnContext",
"transactionOrigin": " SO_WEBAPPLI",
"transactionReference": "TREFEXA2012",
"seal": "2205f0636dc500c4f3ef536075895b8baba3a60c7087e06cd9d330c50a50c53e"
}
Format de la réponse directDebitOrder
Exemple de réponse directDebitOrder
{
"acquirerResponseCode": "00",
"authorisationId": "123456789102",
"maskedPan": "5219##########00",
"responseCode": "00",
"transactionDateTime": "2012-10-16T23:50:44-12:00",
"captureLimitDate": "2012-11-16T23:50:44-12:00",
"transactionActors": "BTOB",
"seal": "7ca065ebba90762e3286ee16d6a2d2da0eea8bae6b46592058933881d96d0c3d",
"transactionPlatform": "PROD"
}
Fonction "creditTransferInquire" du service "checkout"
Cette opération permet de récupérer la liste des banques émettrices disponibles. Actuellement, ce service n’est disponible que pour le moyen de paiement iDEAL.
Cette requête permet d'obtenir une liste des banques émettrices. Si la requête a réussi, vous recevez en retour une liste de banques avec leur nom et leur code. Ces informations doivent être utilisées pour l'étape d'initialisation (creditTransferInitialize).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/creditTransferInquire
Format de la requête creditTransferInquire
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
currencyCode | Obligatoire | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
paymentMeanBrand | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête creditTransferInquire
{
"currencyCode": "978",
"customerLanguage": "fr",
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"paymentMeanBrand": "IDEAL",
"transactionReference": " TREFEXA2015",
"seal": "ec7be3e2a0086a86f66f74bb6e10f244e51e4e648c7dbbf7c89ce9aa78a569cf"
}
Format de la réponse creditTransferInquire
Champ | A partir de la version | Commentaires |
---|---|---|
customerBankList | WS_2.0 | Liste de conteneur customerBank . Voir la partie Containers |
errorFieldName | WS_2.0 | |
responseCode | WS_2.0 | |
seal | WS_2.0 |
Exemple de réponse creditTransferInquire
{
"customerBankList": [
{
"customerBankCode": "RABONL2U",
"customerBankName": "BANK - RABO"
},
{
"customerBankCode": "INGBNL2A",
"customerBankName": "BANK - ING"
}
],
"responseCode": "00",
"seal": "c46465d780517ce593b4bd5afe789fe58d2bc972937aaa35707ec8668265e6dc"
}
Fonction "creditTransferInitialize" du service "checkout"
Cette opération est actuellement disponible pour les moyens de paiement iDEAL et Sofortüberweisung.
Cette requête initialise une session pour un virement bancaire. Si l'étape d'initialisation a réussi, vous recevez en retour une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre le virement. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir la partie "Formulaire POST vers des fournisseurs externes".
Dans la requête, vous devez également indiquer l'URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du virement bancaire externe. Vous devez ensuite appeler le service creditTransferFinalizeAndOrder afin de finaliser la transaction.
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/creditTransferInitialize
Format de la requête creditTransferInitialize
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
customerBankCode | Conditionnel | WS_2.0 | |
customerBankName | Conditionnel | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
customerId | Facultatif | WS_2.0 | |
customerIpAddress | Facultatif | WS_2.0 | |
customerLanguage | Facultatif | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
orderChannel | Obligatoire | WS_2.0 | |
orderId | Facultatif | WS_2.0 | |
paymentPattern | Facultatif | WS_2.0 | |
returnContext | Facultatif | WS_2.0 | |
paymentMeanBrand | Obligatoire | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
merchantReturnUrl | Facultatif | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
invoiceReference | Facultatif | WS_2.0 | |
billingContact | Facultatif | WS_2.0 | Voir la partie Containers |
billingAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerContact | Facultatif | WS_2.0 | Voir la partie Containers |
customerAddress | Facultatif | WS_2.0 | Voir la partie Containers |
customerData | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryContact | Facultatif | WS_2.0 | Voir la partie Containers |
deliveryAddress | Facultatif | WS_2.0 | Voir la partie Containers |
holderContact | Facultatif | WS_2.0 | Voir la partie Containers |
holderAddress | Facultatif | WS_2.0 | Voir la partie Containers |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
fraudData | Facultatif | WS_2.10 | Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête creditTransferInitialize
{
"amount": "1000",
"currencyCode": "978",
"customerBankCode": "RABONL2U",
"customerBankName": "BANK - RABO",
"customerLanguage": "fr",
"interfaceVersion": "IR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"merchantReturnUrl": "http://www.yoursiteweb.com",
"merchantTransactionDateTime": "2015-05-28T11:07:11.005+02:00",
"orderChannel": "INTERNET",
"orderId": "123",
"paymentMeanBrand": "IDEAL",
"transactionReference": " TREFEXA2015",
"seal": "50e15601a2e83bcc5ffe596a51bab5b8dab2e3c62d3de2fe0d15502600f4aded"
}
Format de la réponse creditTransferInitialize
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
redirectionUrl | WS_2.0 | |
redirectionData | WS_2.0 | |
messageVersion | WS_2.0 | |
errorFieldName | WS_2.0 | |
seal | WS_2.0 |
Exemple de réponse creditTransferInitialize
{
"responseCode": "00",
"redirectionUrl": "https://payment-web.sips-atos.com/paymentprovider/init",
"redirectionData": "RSs7cZyL1D...a+hZ+1ticHD/4/s\u003d",
"messageVersion": "0.1",
"seal": "d0814427cbd5515e78cb54476c8594eb2c1d3732a9b392afd325ebae33945069"
}
Fonction "creditTransferFinalizeAndOrder" du service "checkout"
Cette opération est actuellement disponible pour les moyens de paiement iDEAL et Sofortüberweisung.
Cette requête est obligatoire pour connaître le résultat d'un virement bancaire. Elle doit être appelée une fois que vous avez reçu le formulaire POST du service de virement bancaire via merchantReturnUrl (voir requête creditTransferInitialize).
L'URL est : https://office-server.sips-services.com /rs-services/v2/checkout/creditTransferFinalizeAndOrder
Format de la requête creditTransferFinalizeAndOrder
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est IR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
messageVersion | Obligatoire | WS_2.0 | |
redirectionData | Obligatoire | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête creditTransferFinalizeAndOrder
{
"interfaceVersion": "IR_WS_2.6",
"keyVersion": "1",
"merchantId": "011223344550000",
"messageVersion": "0.1",
"redirectionData": "RSs7cZyL1Dq....MzMbzqw",
"transactionReference": "TREFEXA2015",
"seal": "f8769766243dcb603e417556a0e1d54b29b64cb9398317af3a16eb0a19db7057"
}
Format de la réponse creditTransferFinalizeAndOrder
Exemple de réponse creditTransferFinalizeAndOrder
{
"amount": 1000,
"customerBankCode": "RABONL2U",
"customerBankName": "BANK - RABO",
"captureDay": 0,
"captureMode": "AUTHOR_CAPTURE",
"currencyCode": "978",
"merchantTransactionDateTime": "2014-12-05T00:00:00+01:00",
"merchantId": "011223344550000",
"orderChannel": "INTERNET",
"orderId": "123",
"paymentMeanBrand": "IDEAL",
"paymentPattern": "ONE_SHOT",
"responseCode": "00",
"s10TransactionReference": {
"s10TransactionId": "129192",
"s10TransactionIdDate": "20150528"
},
"transactionDateTime": "2015-05-28T11:18:26+02:00",
"transactionReference": "TREFEXA2015",
"seal": "85cd304554ebc24a60255dbb695b34c46665c6ad2f838966941ceb6dacd9e6ec",
"transactionPlatform": "PROD"
}
Fonction "recycle" du service "cashManagement"
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.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > recyclage', pour savoir dans quels cas vous pouvez effectuer une opération de recyclage.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/recycle
Format de la requête recycle
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
amount | Obligatoire | WS_2.0 | |
currencyCode | Obligatoire | WS_2.0 | |
captureDay | Facultatif | WS_2.0 | |
captureMode | Facultatif | WS_2.0 | |
fromTransactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10FromTransactionReference |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
merchantTransactionDateTime | Facultatif | WS_2.0 | |
statementReference | Facultatif | WS_2.0 | |
transactionOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
lastRecoveryIndicator | Facultatif | WS_2.17 | |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
s10FromTransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le fromTransactionReference. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
settlementArchivingReference | Facultatif | WS_2.33 | |
settlementMerchantSpecificData | Facultatif | WS_2.33 |
Exemple de requête recycle
{
"amount": "1000",
"captureMode": "AUTHOR_CAPTURE",
"currencyCode": "978",
"fromTransactionReference": "SIM2014082813176",
"interfaceVersion": "CR_WS_2.0",
"merchantId": "011223344550000",
"merchantTransactionDateTime": "2014-08-28T13:17:16.480+02:00",
"transactionOrigin": "SIPS-SIM",
"transactionReference": "SIM20140828131716",
"seal": "bab5067f4fa23924cd80f35d5585519a563ff261f38dfa9b74fbb76888b00b64",
"keyVersion": "1"
}
Format de la réponse recycle
Exemple de réponse recycle
{
"acquirerResponseCode": "00",
"authorisationId": "736256",
"maskedPan": "4541##########00",
"panExpiryDate": "201504",
"paymentMeanBrand": "VISA",
"scoreValue": "-2.3",
"scoreColor": "RED",
"scoreInfo": "A3;N;NOT_APPLICABLE#WN;P;U#BN;N;U#GN;N;U#SC;N;TRANS\u003d3:2;CUMUL\u003d3000:250000",
"scoreProfile": "myprofSco",
"scoreThreshold": "-3.0",
"responseCode": "00",
"transactionDateTime": "2014-08-28T13:20:45+02:00",
"seal": "df0c23e0a60a745f1f546168fafedb7ae547912473d76c93ee52d31b9d714765",
"transactionPlatform": "PROD"
}
Fonction "acceptChallenge" du service "cashManagement"
Cette fonction vous permet 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.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > challenge', pour savoir dans quels cas vous pouvez effectuer une opération d'acceptation de challenge.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/acceptChallenge
Format de la requête acceptChallenge
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
comment | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
operationOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
validationIndicator | Facultatif | WS_2.0 | Valeurs acceptées : « Y » et « N » |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête acceptChallenge
{
"comment": "good id",
"interfaceVersion": "CR_WS_2.6",
"keyVersion": "1",
"merchantId": "011223344550000",
"operationOrigin": "SIPS-SIM",
"transactionReference": "SIM20140121510382",
"validationIndicator": "Y",
"seal": "e746314133f7aaabd8ac33db0daf941eda744e8ff70b700490792ffe3480087d"
}
Format de la réponse acceptChallenge
Champ | A partir de la version | Commentaires |
---|---|---|
acquirerResponseCode | WS_2.0 | |
authorisationId | WS_2.0 | |
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
captureLimitDate | WS_2.0 | |
responseCode | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 | |
schemeTransactionIdentifier | WS_2.31 | |
paymentAccountReference | WS_2.31 | |
guaranteeIndicator | WS_2.32 | |
secureReference | WS_2.32 |
Exemple de réponse acceptChallenge
{
"acquirerResponseCode": "00",
"authorisationId": "123",
"captureLimitDate": "1",
"operationDateTime": "2014-10-16T23:51:42-12:00",
"responseCode": "00",
"newStatus": "VALIDATED",
"seal": "919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"
}
Fonction "refuseChallenge" du service "cashManagement"
Cette fonction vous permet de refuser le risque de fraude sur des transactions ayant un score de fraude orange.
Note : veuillez consulter le guide de configuration des fonctionnalités, partie 'gestion de caisse > challenge', pour savoir dans quels cas vous pouvez effectuer une opération de refus de challenge.
L'URL est : https://office-server.sips-services.com /rs-services/v2/cashManagement/refuseChallenge
Format de la requête refuseChallenge
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
comment | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est CR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
merchantId | Obligatoire | WS_2.0 | |
operationOrigin | Facultatif | WS_2.0 | |
transactionReference | Conditionnel | WS_2.0 | Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant |
s10TransactionReference | Conditionnel | WS_2.6 | Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête refuseChallenge
{
"comment": "bad id",
"interfaceVersion": "CR_WS_2.6",
"keyVersion": "1",
"merchantId": "011223344550000",
"operationOrigin": "SIPS-SIM",
"transactionReference": "SIM20140121510382",
"seal": "c36bcfaf3c05ef257795149686c53022f212e05c6fac98d0169c5e9313941444"
}
Format de la réponse refuseChallenge
Champ | A partir de la version | Commentaires |
---|---|---|
newStatus | WS_2.0 | |
operationDateTime | WS_2.0 | |
responseCode | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse refuseChallenge
{
"operationDateTime": "2014-10-16T23:51:42-12:00",
"responseCode": "00",
"newStatus": "REFUSED",
"seal": "919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"
}
Fonction "panToToken" du service "token"
Cette opération permet de tokéniser un numéro de carte.
L'URL est : https://office-server.sips-services.com /rs-services/v2/token/panToToken
Format de la requête panToToken
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est TR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
userId | Facultatif | WS_2.0 | |
panDataList | Facultatif | WS_2.0 | Liste de conteneur panData . Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête panToToken
{
"interfaceVersion": "TR_WS_2.0",
"keyVersion": "1",
"merchantId": "011223344550000",
"panDataList": [
{
"pan": "4907000000000600",
"panId": "1"
}
],
"userId": "uid",
"seal": "8f95bd9cc96c7723b530f0492c9fed50399b94f9b0c91c113b4f56a97fe2cb8f"
}
Format de la réponse panToToken
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
responseTokenPanDataList | WS_2.0 | Liste de conteneur responseTokenPanData . Voir la partie Containers |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse panToToken
{
"responseCode": "00",
"responseTokenPanDataList": [
{
"tokenResponseCode": "00",
"panId": "1",
"tokenPan": "490700h719850600"
}
],
"seal": "a16689b166fa9a508341fad15563633bb83367d009d3f2507c95bc71cd9f1ad5"
}
Fonction "tokenToPan" du service "token"
Cette fonction permet de transformer un token en PAN.
L'URL est : https://office-server.sips-services.com /rs-services/v2/token/tokenToPan
Format de la requête tokenToPan
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est TR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
userId | Facultatif | WS_2.0 | |
tokenPanDataList | Facultatif | WS_2.0 | Liste de conteneur tokenPanData . Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête tokenToPan
{
"interfaceVersion": "TR_WS_2.0",
"keyVersion": "1",
"merchantId": "011223344550000",
"panDataList": [
{
"pan": "490700h719850600",
"panId": "1"
}
],
"userId": "uid",
"seal": "e350c058e2be7a3686682587dfac89cd192cda1ad2c2f532e10f9d59b9ca0f13"
}
Format de la réponse tokenToPan
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
responsePanDataList | WS_2.0 | Liste de conteneur responsePanData . Voir la partie Containers |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse tokenToPan
{
"responseCode": "00",
"responsePanDataList": [
{
"tokenResponseCode": "00",
"tokenPanId": "1",
"pan": "4907000000000600"
}
]
}
Fonction "transactionToToken" du service "token"
Cette fonction permet de transformer le PAN d’une transaction existante en token.
L'URL est : https://office-server.sips-services.com /rs-services/v2/token/transactionToToken
Format de la requête transactionToToken
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.0 | |
fromMerchantId | Facultatif | WS_2.0 | Identifiant du commerçant de la transaction d’origine. Obligatoire si différent du merchantId |
fromTransactionReference | Conditionnel | WS_2.0 | Obligatoire si s10FromTransactionReference non renseigné |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est TR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
s10FromTransactionReference | Conditionnel | WS_2.6 | Obligatoire si fromTransactionReference non renseigné. Voir la partie Containers |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 | |
merchantExternalId | Facultatif | WS_2.0 |
Exemple de requête transactionToToken
{
"fromMerchantId": "024729465300006",
"fromTransactionReference": "SIM20170613140621",
"interfaceVersion": "TR_WS_2.20",
"keyVersion": "1",
"merchantExternalId": "myMerchantExternalId",
"merchantId": "024729465300101",
"seal": "9f0a2e696242acdb3f966fed16bfd91d540531b9e259f41c474f52fb2c62345b"
}
Format de la réponse transactionToToken
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
merchantId | WS_2.0 | |
fromMerchantId | WS_2.0 | |
fromTransactionReference | WS_2.0 | |
s10FromTransactionReference | WS_2.6 | Voir la partie Containers |
seal | WS_2.0 | |
merchantExternalId | WS_2.0 | |
tokenPan | WS_2.0 | |
paymentMeanBrand | WS_2.0 | |
cardExpiryDate | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse transactionToToken
{
"responseCode": "00",
"merchantId": "024729465300101",
"fromMerchantId": "024729465300006",
"fromTransactionReference": "SIM20170613140621",
"seal": "a8e229f12c98f5f2a1cf2a8def150691e2742410441675e308a4f9a695a14547",
"merchantExternalId": "myMerchantExternalId",
"tokenPan": "490700h719850600",
"paymentMeanBrand": "VISA",
"cardExpiryDate": "201802"
}
Fonction "getCardData" du service "paymentMeanInfo"
Cette opération permet de consulter les informations associées à un numéro ou IIN de carte.
Si le numéro ou l'IIN de la carte n'existe pas, un code de réponse 05 est retourné. Si la requête a réussi, le code de réponse 00 est retourné, ainsi que les informations relatives à la carte.
L'URL est : https://office-server.sips-services.com /rs-services/v2/paymentMeanInfo/getCardData
Format de la requête getCardData
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.5 | |
interfaceVersion | Obligatoire | WS_2.5 | La valeur préconisée est PMR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
cardNumber | Facultatif | WS_2.5 | Doit être défini si cardIIN ne l’est pas |
cardIIN | Facultatif | WS_2.5 | Doit être défini si cardNumber ne l’est pas |
seal | Obligatoire | WS_2.5 | |
keyVersion | Obligatoire | WS_2.5 | |
sealAlgorithm | Facultatif | WS_2.12 | |
intermediateServiceProviderId | Facultatif | WS_2.12 |
Exemple de requête getCardData
{
"cardNumber": "4975000000000000",
"interfaceVersion": "PMR_WS_2.5",
"keyVersion": "1",
"merchantId": "011223344550000",
"seal": "97fccfbfde4570019236f31e3bb521be477bbc7bf7cf09c30f8fbc3a635a3011"
}
Format de la réponse getCardData
Champ | A partir de la version | Commentaires |
---|---|---|
paymentMeanInfoResponseCode | WS_2.5 | |
cardDataList | WS_2.5 | Liste de conteneur cardData . Voir la partie Containers |
errorFieldName | WS_2.5 | Disponible si la valeur de paymentMeanInfoResponseCode est 12 ou 30 |
seal | WS_2.5 |
Exemple de réponse getCardData
{
"paymentMeanInfoResponseCode": "00",
"cardDataList": [
{
"cardScheme": "CB",
"cardBrand": "CB",
"cardProductCode": "2",
"cardProductName": "CARTE NATIONALE DE RETRAIT ET DE PAIEMENT",
"issuerCode": "10107",
"issuerCountryCode": "FRA",
"panLengthMin": 16,
"panLengthMax": 16,
"panCheckAlgorithm": "L",
"cardProductProfile": "D"
},
{
"cardScheme": "VISA",
"cardBrand": "VISA",
"cardProductCode": "F",
"cardProductName": "VISA CLASSIC",
"cardCorporateIndicator": "N",
"issuerCode": "10107",
"issuerCountryCode": "FRA",
"issuerRegionCode": "D",
"panLengthMin": 16,
"panLengthMax": 16,
"panCheckAlgorithm": "L"
}
],
"seal": "c10bc66f574d22c4eb68250fe80c7d764a420a4fa22fde23f69e3a67bf60d131"
}
Fonction "getVelocityData" du service "fraud"
Cette opération permet de contrôler l'activité d'un champ de données spécifique au cours d'une période déterminée.
L'URL est : https://office-server.sips-services.com /rs-services/v2/fraud/getVelocityData
Format de la requête getVelocityData
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
velocityElementType | Obligatoire | WS_2.0 | |
velocityElementValue | Obligatoire | WS_2.0 | |
merchantId | Obligatoire | WS_2.0 | |
velocityPeriod | Facultatif | WS_2.0 | |
interfaceVersion | Obligatoire | WS_2.0 | La valeur préconisée est FR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
intermediateServiceProviderId | Facultatif | WS_2.12 | |
seal | Obligatoire | WS_2.0 | |
keyVersion | Obligatoire | WS_2.0 | |
sealAlgorithm | Facultatif | WS_2.12 |
Exemple de requête getVelocityData
{
"interfaceVersion": "FR_WS_2.9",
"keyVersion": "1",
"merchantId": "011223344550000",
"velocityElementType": "customerId",
"velocityElementValue": "cust010",
"velocityPeriod": "50",
"seal": "fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"
}
Format de la réponse getVelocityData
Champ | A partir de la version | Commentaires |
---|---|---|
responseCode | WS_2.0 | |
velocityTotalAmount | WS_2.0 | |
velocityNbTransaction | WS_2.0 | |
currencyCode | WS_2.0 | |
velocityProfileMaxTotalAmount | WS_2.0 | |
velocityProfileMaxNbTrans | WS_2.0 | |
velocityProfileMaxTransAmount | WS_2.0 | |
velocityProfileName | WS_2.0 | |
velocityProfilePeriod | WS_2.0 | |
velocityProfileDateTime | WS_2.0 | |
seal | WS_2.0 | |
errorFieldName | WS_2.21 |
Exemple de réponse getVelocityData
{
"responseCode": "00",
"velocityTotalAmount": 0,
"velocityNbTransaction": 0,
"velocityProfilMaxTotalAmount": 1000,
"velocityProfilMaxNbTrans": 10,
"velocityProfilMaxTransAmount": 100,
"currencyCode": "978",
"velocityProfileName": "all_controls",
"velocityProfilPeriod": 10,
"velocityProfileDateTime": "2014-11-19T14:21:32+01:00",
"seal": "5a65b70f786047ef13f80a55a6642211daa52df74039c605e70ac7d752f52731"
}
Fonction "addToFraudList" du service "fraud"
Cette opération permet d'ajouter un numéro de carte, de token ou de transaction (via le couple transactionIid/transactionDate ou transactionReference) à différents types de liste fraude.
L'URL est : https://office-server.sips-services.com /rs-services/v2/fraud/addToFraudList
Format de la requête addToFraudList
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.15 | |
interfaceVersion | Obligatoire | WS_2.15 | La valeur préconisée est FR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
intermediateServiceProviderId | Facultatif | WS_2.15 | |
fraudListType | Obligatoire | WS_2.15 | |
fraudListLevel | Obligatoire | WS_2.15 | |
fraudListElementType | Conditionnel | WS_2.15 | |
fraudListElementValue | Obligatoire | WS_2.15 | |
fraudListReasonCode | Facultatif | WS_2.15 | |
seal | Obligatoire | WS_2.15 | |
keyVersion | Obligatoire | WS_2.15 | |
sealAlgorithm | Facultatif | WS_2.15 |
Exemple de requête addToFraudList
{
"fraudListElementType": "PAN",
"fraudListElementValue": "5017674000000200",
"fraudListLevel": "WHITE",
"fraudListType": "CARD_LIST",
"interfaceVersion": "FR_WS_2.15",
"keyVersion": "1",
"merchantId": "226000009630001",
"seal": "b3f44355e912ebb9c3fed0e3a00a5782762afd604055f3a56438971a4e9ec58f"
}
Format de la réponse addToFraudList
Champ | A partir de la version | Commentaires |
---|---|---|
fraudResponseCode | WS_2.15 | |
errorFieldName | WS_2.15 | |
seal | WS_2.15 |
Exemple de réponse addToFraudList
{
"fraudResponseCode": "00",
"seal": "0a7c1ab8fa767313e0631d166843eb55b9f783426241690a2b6e23ca40087811"
}
Fonction "removeFromFraudList" du service "fraud"
Cette opération permet de supprimer un numéro de carte, de token, de transaction (via le couple transactionIid/transactionDate ou transactionReference) de différents types de liste fraude.
L'URL est : https://office-server.sips-services.com /rs-services/v2/fraud/removeFromFraudList
Format de la requête removeFromFraudList
Champ | Présence | A partir de la version | Commentaires |
---|---|---|---|
merchantId | Obligatoire | WS_2.15 | |
interfaceVersion | Obligatoire | WS_2.15 | La valeur préconisée est FR_WS_ 2.35 afin de bénéficier des dernières fonctionnalités |
intermediateServiceProviderId | Facultatif | WS_2.15 | |
fraudListType | Obligatoire | WS_2.15 | |
fraudListLevel | Obligatoire | WS_2.15 | |
fraudListElementType | Conditionnel | WS_2.15 | |
fraudListElementValue | Obligatoire | WS_2.15 | |
seal | Obligatoire | WS_2.15 | |
keyVersion | Obligatoire | WS_2.15 | |
sealAlgorithm | Facultatif | WS_2.15 |
Exemple de requête removeFromFraudList
{
"fraudListElementType": "PAN",
"fraudListElementValue": "5017674000000200",
"fraudListLevel": "WHITE",
"fraudListType": "CARD_LIST",
"interfaceVersion": "FR_WS_2.15",
"keyVersion": "1",
"merchantId": "226000009630001",
"seal": "b3f44355e912ebb9c3fed0e3a00a5782762afd604055f3a56438971a4e9ec58f"
}
Format de la réponse removeFromFraudList
Champ | A partir de la version | Commentaires |
---|---|---|
fraudResponseCode | WS_2.15 | |
errorFieldName | WS_2.15 | |
seal | WS_2.15 |
Exemple de réponse removeFromFraudList
{
"fraudResponseCode": "00",
"seal": "0a7c1ab8fa767313e0631d166843eb55b9f783426241690a2b6e23ca40087811"
}
Fonction "addCard" du service "wallet"
Cette opération permet d'ajouter une carte à un wallet. Ce dernier est créé en même temps que l’ajout de la carte, s'il n'existe pas.
Les informations sensibles (numéro de carte) peuvent être gérées via le champ panType