logo Sogenactif

Release 21.6

aller directement au contenu
Rechercher par mots clés

Office Serveur JSON

Pour rechercher dans la page utiliser Ctrl+F sur votre clavier

  • Sogenactif

Les fonctionnalités et moyens de paiement décrits dans le présent guide correspondent à la solution WL Sips proposée par Worldline, sur laquelle l’offre Sogenactif repose techniquement. Elles ne sont pas toutes disponibles sur l’offre Sogenactif ; pour connaître l’exhaustivité des fonctionnalités et moyens de paiement disponibles sur cette offre, veuillez-vous référer au guide « Configuration des fonctionnalités ».

Sogenactif 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 échelonné, …).

L’objectif du présent document est d’expliquer la mise en œuvre de la solution Sogenactif Office Server JSON jusqu’au démarrage en production.

Ce document s’adresse aux commerçants qui souhaitent souscrire à l’offre Sogenactif 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 Sogenactif, nous vous conseillons de consulter les documents suivants :

  • Présentation fonctionnelle
  • Configuration des fonctionnalités

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 à Sogenactif Office Server JSON.

Note: toutes les portions de code de ce document sont fournies à titre d’exemple, il convient de les adapter à votre site Web afin qu’elles soient pleinement exploitables.

Lors de votre inscription, Société Générale met à disposition sur le Portail Sogenactif (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 Sogenactif.

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).

IMPORTANT: en cas de compromission d’une clé secrète, vous êtes tenu d’en demander au plus vite la révocation puis le renouvellement via le Portail Sogenactif (voir la « notice de renouvellement des clés secrètes »).

C’est la même clé secrète qui est utilisée sur les différents connecteurs Sogenactif Paypage, Sogenactif Office Serveur, Sogenactif In-App et Sogenactif Walletpage.

IMPORTANT: une clé secrète est associée à une version. Après avoir obtenu une nouvelle clé secrète, vous devez impérativement modifier votre requête et indiquer la nouvelle version dans le champ keyVersion, sans quoi vous obtiendrez un code réponse 34 (suspicion de fraude).

Pour toute question technique ou demande d'assistance, nos services sont disponibles du lundi au vendredi, hors jours fériés, de 9 h à 19 h :

  • par téléphone au : +33 (0) 825 090 095  (0,15 € TTC/min + prix d’un appel local – Tarif au 01/11/2021)
  • par e-mail : supportsogenactif@worldline.com

Pour faciliter le traitement de vos demandes, veuillez communiquer votre identifiant de commerçant : merchantId (numéro à 15 chiffres).

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 Sogenactif 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.

Afin d’inscrire votre boutique, vous devez remplir le contrat Sogenactif envoyé par Société Générale et le retourner à ce dernier.

Lors de la saisie du formulaire, vous désignez un contact administratif (qui accèdera à Sogenactif Gestion) et un contact technique (qui accèdera à Sogenactif Téléchargement) afin que Société Générale puisse vous communiquer les informations nécessaires pour démarrer votre boutique.

Société Générale procède alors à l’enregistrement de la boutique et vous retourne par e-mail votre identifiant commerçant (merchantId) ainsi que vos identifiants et les modalités de connexion au Portail Sogenactif et à Sogenactif Téléchargement.

Pour la connexion au Portail Sogenactif, le contact renseigné dans le contrat Sogenactif – rubrique « Portail Sogenactif » recevra un e-mail contenant l’identifiant et un lien pour générer lui-même son mot de passe. Pour la connexion à Sogenactif Téléchargement, le contact renseigné dans le contrat Sogenactif – rubrique « Sogenactif Téléchargement » recevra son mot de passe par e-mail, l’identifiant sera envoyé par mail séparé au contact renseigné pour le Portail Sogenactif.

Note: 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.

Les différentes fonctions possibles font l’objet de requêtes spécifiques.

Tip: avant d’utiliser une fonction, vérifiez que vous avez bien les droits pour utiliser cette fonction sur votre boutique en contactant l’assistance technique Sogenactif.

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 Sogenactif. Tous les champs nécessaires pour chaque requête doivent être fournis.

Attention: pour rappel, il est nécessaire d'indiquer, dans l'en-tête de votre message, que les données à traiter sont de type JSON. Vous devez pour cela préciser l'en-tête 'Content-Type: application/json' dans votre message JSON. À défaut vous risquez de recevoir un message d'erreur de ce type :
<!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>
Tip: dans les réponses, en fonction de l’état de la transaction et du moyen de paiement choisi, certains champs peuvent être nuls, vides ou non renseignés. Veuillez consulter les documentations des moyens de paiement pour connaître les champs attendus dans les réponses.

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"}

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 ».

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. Sogenactif 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.
IMPORTANT: si votre clé secrète est compromise, ou si vous supposez que c’est le cas, vous devez impérativement demander son renouvellement en vous connectant à Sogenactif Téléchargement.

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.

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))
Attention: par défaut, le sceau est calculé avec l'algorithme HMAC-SHA-256, dont nous recommandons vivement l'utilisation.

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”.

  • 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();
            }
    
        }
    }

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

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) ;
  • numéro de carte en clair (forte contrainte PCI).

L'URL est : https://office-server.sogenactif.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.39 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 Valorisé à TOKEN_PAN si paiement via un token
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
authenticationResult Facultatif WS_2.36 Voir la partie Containers
recurringData Facultatif WS_2.37 Voir la partie Containers

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

Champ A partir de la version Commentaires
acquirerResponseCode WS_2.0 Uniquement en cas de refus lors du contrôle de pré-autorisation
authorisationId WS_2.0
cardScheme WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
guaranteeIndicator WS_2.0
holderAuthentRelegationCode WS_2.0
holderAuthentStatus WS_2.0
maskedPan WS_2.0
responseCode WS_2.0
returnContext WS_2.0 Valeur transférée à la requête de paiement
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
transactionDateTime WS_2.0
tokenPan WS_2.0
cardCSCResultCode WS_2.2
avsPostcodeResponseCode WS_2.2
avsAddressResponseCode WS_2.2
recurringResponseCode WS_2.2
acquirerResponseIdentifier WS_2.5 Retourné seulement si l'interfaceVersion est inférieur à 2.19.
acquirerResponseMessage WS_2.5
paymentMeanTradingName WS_2.5
paymentMeanData WS_2.5 Voir la partie Containers
s10TransactionReference WS_2.6 Voir la partie Containers
transactionReference WS_2.6
cardData WS_2.9 Voir la partie Containers
seal WS_2.0
preAuthorisationProfile WS_2.13
preAuthorisationProfileValue WS_2.13
preAuthorisationRuleResultList WS_2.13 Liste de conteneur preAuthorisationRuleResult. Voir la partie Containers
paymentMeanBrandSelectionStatus WS_2.13
captureDay WS_2.15
captureMode WS_2.15
transactionPlatform WS_2.17 Systématiquement valorisé à « PROD »
authorMessageReference WS_2.19 Remplace le acquirerResponseIdentifier
authorisationTypeLabel WS_2.19
acceptanceSystemApplicationId WS_2.20
errorFieldName WS_2.21
panEntryMode WS_2.22
walletType WS_2.22
issuerWalletInformation WS_2.22
paymentMeanBrand WS_2.22
intermediateServiceProviderOperationId WS_2.24
orderId WS_2.24
paymentMeanDataProvider WS_2.31
schemeTransactionIdentifier WS_2.31
paymentAccountReference WS_2.31
guaranteeLimitDateTime WS_2.32
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35
initialSchemeTransactionIdentifier WS_2.39

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"
}

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.sogenactif.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.39 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
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"
}

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.sogenactif.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.39 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
initialSchemeTransactionIdentifier WS_2.39

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"
}

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.sogenactif.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.39 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
invoiceReference Facultatif WS_2.38

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
initialSchemeTransactionIdentifier WS_2.39
tokenPan WS_2.39
guaranteeIndicator WS_2.39

Exemple de réponse duplicate

{
  "acquirerResponseCode": "00",
  "authorisationId": "069308",
  "responseCode": "00",
  "transactionDateTime": "2012-10-16T23:48:14-12:00",
  "seal": "0fdd9a35319712a9feff14eee0f68bbd35bd8fb6000819b2d5cd17b2704d6b6f",
  "transactionPlatform": "PROD"
}

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.sogenactif.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.39 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"
}

Cette opération permet de récupérer des informations relatives à une transaction créée préalablement à l'aide de Sogenactif et stockée dans la base de données Sogenactif.

L'URL est : https://office-server.sogenactif.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.39 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

Champ A partir de la version Commentaires
automaticResponseStatus WS_2.0
authorisationId WS_2.0
captureLimitDate WS_2.0
paymentMeanType WS_2.0
paymentMeanBrand WS_2.0
currencyCode WS_2.0
currentAmount WS_2.0
customerId WS_2.0
customerIpAddress WS_2.0
lastOperationDateTime WS_2.0
lastOperationName WS_2.0
orderId WS_2.0
originAmount WS_2.0
transactionDateTime WS_2.0
responseCode WS_2.0 Code réponse associé à la transaction
tokenPan WS_2.0
transactionStatus WS_2.0
orderChannel WS_2.0
paymentPattern WS_2.0
merchantId WS_2.0
panEntryMode WS_2.1
walletType WS_2.1
holderAuthentMethod WS_2.1
holderAuthentStatus WS_2.1
holderAuthentProgram WS_2.1
dccStatus WS_2.1
remainingAmount WS_2.2
fromTransactionReference WS_2.2
maskedPan WS_2.2
panExpiryDate WS_2.2
s10TransactionReference WS_2.6 Voir la partie Containers
s10FromTransactionReference WS_2.6 Voir la partie Containers
transactionReference WS_2.6
cardData WS_2.9 Voir la partie Containers
acquirerResponseMessage WS_2.9
seal WS_2.0
complementaryCode WS_2.13
preAuthenticationColor WS_2.13
preAuthenticationProfile WS_2.13
preAuthenticationProfileValue WS_2.13
preAuthenticationThreshold WS_2.13
preAuthenticationValue WS_2.13
preAuthorisationProfile WS_2.13
preAuthorisationProfileValue WS_2.13
scoreColor WS_2.13
scoreProfile WS_2.13
scoreThreshold WS_2.13
scoreValue WS_2.13
cardCSCResultCode WS_2.17
avsPostcodeResponseCode WS_2.17
avsAddressResponseCode WS_2.17
getTransDataResponseCode WS_2.18 Code réponse de l’opération réalisée
acquirerResponseCode WS_2.18
paymentAttemptNumber WS_2.19
authorMessageReference WS_2.19
authorisationTypeLabel WS_2.19
errorFieldName WS_2.21
paymentMeanDataProvider WS_2.31
settlementArchivingReference WS_2.33
settlementMerchantSpecificData WS_2.33

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"
}

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 Sogenactif 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) ;
  • numéro de carte en clair (forte contrainte PCI).

L'URL est : https://office-server.sogenactif.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.39 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 La valeur RECURRING_N n'est pas autorisée sur cette méthode
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 Valorisé à TOKEN_PAN si paiement via un token
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
recurringData Facultatif WS_2.37 Voir la partie Containers

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"
}

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 Sogenactif 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.sogenactif.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.39 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 La valeur RECURRING_N n'est pas autorisée sur cette méthode
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
paymentMeanBrand Facultatif WS_2.36
recurringData Facultatif WS_2.37 Voir la partie Containers
paymentMeanBrandSelectionStatus Facultatif WS_2.38

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"
}

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.sogenactif.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.39 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 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 PARes

Ne remplissez pas ce champ si vous voulez tenter une opération de 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

Champ A partir de la version Commentaires
acquirerResponseCode WS_2.0
acquirerResponseMessage WS_2.0
amount WS_2.0
authorisationId WS_2.0
avsAddressResponseCode WS_2.0
avsPostcodeResponseCode WS_2.0
captureDay WS_2.0
captureMode WS_2.0
cardCSCResultCode WS_2.0
cardExpiryDate WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
currencyCode WS_2.0
customerId WS_2.0
customerIpAddress WS_2.0
errorFieldName WS_2.0
holderAuthentMethod WS_2.0
holderAuthentRelegation WS_2.0 Retourné seulement si l'interfaceVersion est inférieur à 2.17. Merci d'utiliser le champ holderAuthentRelegationCode
holderAuthentStatus WS_2.0
holderAuthentProgram WS_2.0
invoiceReference WS_2.0
guaranteeIndicator WS_2.0
maskedPan WS_2.0
merchantTransactionDateTime WS_2.0
merchantId WS_2.0
orderChannel WS_2.0
orderId WS_2.0
paymentMeanBrand WS_2.0
paymentPattern WS_2.0
responseCode WS_2.0
returnContext WS_2.0
statementReference WS_2.0
holderAuthentResponseCode WS_2.23
transactionDateTime WS_2.0
transactionReference WS_2.0
tokenPan WS_2.0
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
s10TransactionReference WS_2.0 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
acquirerNativeResponseCode WS_2.14
transactionPlatform WS_2.17 Systématiquement valorisé à « PROD »
holderAuthentRelegationCode WS_2.17
cardData WS_2.19 Voir la partie Containers
authorMessageReference WS_2.19
authorisationTypeLabel WS_2.19
acceptanceSystemApplicationId WS_2.20
panEntryMode WS_2.21
walletType WS_2.21
issuerWalletInformation WS_2.21
intermediateServiceProviderOperationId WS_2.24
holderAuthentType WS_2.24
authentExemptionReasonList WS_2.31
schemeTransactionIdentifier WS_2.31
paymentAccountReference WS_2.31
guaranteeLimitDateTime WS_2.32
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35

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"
}

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.sogenactif.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.39 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 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 PARes

Ne remplissez pas ce champ si vous voulez tenter une opération de 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"
}

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.sogenactif.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.39 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
authenticationResult Facultatif WS_2.36 Voir la partie Containers
paymentMeanBrand Facultatif WS_2.36
recurringData Facultatif WS_2.37 Voir la partie Containers
paymentMeanBrandSelectionStatus Facultatif WS_2.38

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

Champ A partir de la version Commentaires
acquirerResponseCode WS_2.0
authorisationId WS_2.0
cardScheme WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
maskedPan WS_2.0
responseCode WS_2.0
returnContext WS_2.0 Valeur transférée à la requête de paiement
transactionDateTime WS_2.0
tokenPan WS_2.1
scoreColor WS_2.1
scoreInfo WS_2.1
scoreProfile WS_2.1
scoreThreshold WS_2.1
scoreValue WS_2.1
s10TransactionReference WS_2.6 Voir la partie Containers
transactionReference WS_2.6
cardData WS_2.9 Voir la partie Containers
seal WS_2.0
preAuthorisationProfile WS_2.13
preAuthorisationProfileValue WS_2.13
preAuthorisationRuleResultList WS_2.13 Liste de conteneur preAuthorisationRuleResult. Voir la partie Containers
captureDay WS_2.15
captureMode WS_2.15
transactionPlatform WS_2.17 Systématiquement valorisé à « PROD »
cardCSCResultCode WS_2.17
avsPostcodeResponseCode WS_2.17
avsAddressResponseCode WS_2.17
authorMessageReference WS_2.19
authorisationTypeLabel WS_2.19
acquirerResponseMessage WS_2.20
recurringResponseCode WS_2.20
holderAuthentRelegationCode WS_2.20
holderAuthentStatus WS_2.20
guaranteeIndicator WS_2.20
acceptanceSystemApplicationId WS_2.20
errorFieldName WS_2.21
intermediateServiceProviderOperationId WS_2.24
orderId WS_2.24
schemeTransactionIdentifier WS_2.31
paymentAccountReference WS_2.31
guaranteeLimitDateTime WS_2.32
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35
paymentMeanBrandSelectionStatus WS_2.38
initialSchemeTransactionIdentifier WS_2.39

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"
}

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 Sogenactif. 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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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

Champ A partir de la version Commentaires
merchantId WS_2.0
transactionReference WS_2.0
amount WS_2.0
currencyCode WS_2.0
captureMode WS_2.0
captureDay WS_2.0
orderChannel WS_2.0
paymentPattern WS_2.0
customerId WS_2.0
customerIpAddress WS_2.0
returnContext WS_2.0
statementReference WS_2.0
invoiceReference WS_2.0
merchantTransactionDateTime WS_2.0
acquirerResponseCode WS_2.0
avsPostcodeResponseCode WS_2.0
avsAddressResponseCode WS_2.0
authorisationId WS_2.0
guaranteeIndicator WS_2.0
transactionStatus WS_2.0
panEntryMode WS_2.0
paymentMeanBrand WS_2.0
maskedPan WS_2.0
cardExpiryDate WS_2.0
cardCSCResultCode WS_2.0
walletType WS_2.0
transactionDateTime WS_2.0
holderAuthentMethod WS_2.0
holderAuthentStatus WS_2.0
holderAuthentProgram WS_2.0
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
responseCode WS_2.0
issuerWalletInformation WS_2.0
s10TransactionReference WS_2.0 Voir la partie Containers
orderId WS_2.0
acquirerResponseMessage WS_2.0
cardData WS_2.0 Voir la partie Containers
acquirerNativeResponseCode WS_2.0
acquirerResponseIdentifier WS_2.0
seal WS_2.0
preAuthorisationProfile WS_2.0
preAuthorisationProfileValue WS_2.0
preAuthorisationRuleResultList WS_2.0 Liste de conteneur preAuthorisationRuleResult. Voir la partie Containers
transactionPlatform WS_2.0 Systématiquement valorisé à « PROD »
errorFieldName WS_2.0
issuerWalletId WS_2.0
intermediateServiceProviderOperationId WS_2.24
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35

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"
}

Cette fonction vous permet de créditer vos clients via leur wallet sans transaction préalable.

L'URL est : https://office-server.sogenactif.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.39 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
invoiceReference Facultatif WS_2.39
orderContext Facultatif WS_2.39 Voir la partie Containers
shoppingCartDetail Facultatif WS_2.39 Voir la partie Containers
customerContact Facultatif WS_2.39 Voir la partie Containers

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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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).

Tip: vous pouvez, en réponse à votre requête paymentProviderFinalize, obtenir un code 24 « Opération impossible ». Ce code signifie que cette requête a déjà été envoyée et traitée pour la transaction concernée. Si vous ne pouvez identifier ce traitement, nous vous invitons à utiliser la 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 Sogenactif.

L'URL est : https://office-server.sogenactif.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.39 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

Champ A partir de la version Commentaires
merchantId WS_2.0
transactionReference WS_2.0
amount WS_2.0
currencyCode WS_2.0
captureMode WS_2.0
captureDay WS_2.0
orderChannel WS_2.0
paymentPattern WS_2.0
customerId WS_2.0
customerIpAddress WS_2.0
returnContext WS_2.0
statementReference WS_2.0
invoiceReference WS_2.0
merchantTransactionDateTime WS_2.0
acquirerResponseCode WS_2.0
avsPostcodeResponseCode WS_2.0
avsAddressResponseCode WS_2.0
authorisationId WS_2.0
guaranteeIndicator WS_2.0
transactionStatus WS_2.0
panEntryMode WS_2.0
paymentMeanBrand WS_2.0
maskedPan WS_2.0
cardExpiryDate WS_2.0
cardCSCResultCode WS_2.0
walletType WS_2.0
transactionDateTime WS_2.0
holderAuthentMethod WS_2.0
holderAuthentStatus WS_2.0
holderAuthentProgram WS_2.0
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
responseCode WS_2.0
issuerWalletInformation WS_2.6
s10TransactionReference WS_2.6 Voir la partie Containers
orderId WS_2.6
acquirerResponseMessage WS_2.6
cardData WS_2.9 Voir la partie Containers
acquirerNativeResponseCode WS_2.10
acquirerResponseIdentifier WS_2.10
seal WS_2.0
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 »
errorFieldName WS_2.21
issuerWalletId WS_2.23
intermediateServiceProviderOperationId WS_2.24
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35

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"
}

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.sogenactif.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.39 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

Champ A partir de la version Commentaires
authorisationId WS_2.0
acquirerResponseCode WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
responseCode WS_2.0
errorFieldName WS_2.5
transactionDateTime WS_2.0
guaranteeIndicator WS_2.0
holderAuthentRelegationCode WS_2.0
holderAuthentStatus WS_2.0
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
maskedPan WS_2.0
captureLimitDate WS_2.0
captureLimitDateTime WS_2.35
transactionActors WS_2.0
mandateId WS_2.5
creditorId WS_2.5
valueDate WS_2.5
s10TransactionReference WS_2.6 Voir la partie Containers
transactionReference WS_2.6
seal WS_2.0
preAuthorisationProfile WS_2.13
preAuthorisationProfileValue WS_2.13
preAuthorisationRuleResultList WS_2.13 Liste de conteneur preAuthorisationRuleResult. Voir la partie Containers
captureDay WS_2.15
captureMode WS_2.15
transactionPlatform WS_2.17 Systématiquement valorisé à « PROD »
intermediateServiceProviderOperationId WS_2.24
orderId WS_2.24
secureReference WS_2.26

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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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.test.sips-services.com/paymentprovider/init",
  "redirectionData": "RSs7cZyL1D...a+hZ+1ticHD/4/s\u003d",
  "messageVersion": "0.1",
  "seal": "d0814427cbd5515e78cb54476c8594eb2c1d3732a9b392afd325ebae33945069"
}

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.sogenactif.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.39 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

Champ A partir de la version Commentaires
amount WS_2.0
authorisationId WS_2.0
customerBankCode WS_2.0
customerBankName WS_2.0
captureDay WS_2.0
captureMode WS_2.0
complementaryCode WS_2.0
complementaryInfo WS_2.0
currencyCode WS_2.0
customerId WS_2.0
customerIpAddress WS_2.0
errorFieldName WS_2.0
holderAuthentMethod WS_2.0
holderAuthentStatus WS_2.0
holderAuthentProgram WS_2.0
invoiceReference WS_2.0
merchantTransactionDateTime WS_2.0
merchantId WS_2.0
orderChannel WS_2.0
orderId WS_2.0
paymentMeanBrand WS_2.0
paymentPattern WS_2.0
paymentMeanType WS_2.0
responseCode WS_2.0
returnContext WS_2.0
statementReference WS_2.0
s10TransactionReference WS_2.0 Voir la partie Containers
scoreColor WS_2.0
scoreInfo WS_2.0
scoreProfile WS_2.0
scoreThreshold WS_2.0
scoreValue WS_2.0
transactionDateTime WS_2.0
transactionReference WS_2.0
seal WS_2.0
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 »
intermediateServiceProviderOperationId WS_2.24
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35

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"
}

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.sogenactif.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.39 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
invoiceReference Facultatif WS_2.38
orderContext Facultatif WS_2.38 Voir la partie Containers
shoppingCartDetail Facultatif WS_2.38 Voir la partie Containers
customerContact Facultatif WS_2.39 Voir la partie Containers

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

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.0
panExpiryDate WS_2.0
paymentMeanBrand WS_2.0
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
preAuthorisationProfile WS_2.13
preAuthorisationProfileValue WS_2.13
preAuthorisationRuleResultList WS_2.13 Liste de conteneur preAuthorisationRuleResult. Voir la partie Containers
preAuthenticationColor WS_2.13
preAuthenticationInfo 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
paymentMeanBrandSelectionStatus WS_2.13
transactionPlatform WS_2.17 Systématiquement valorisé à « PROD »
errorFieldName WS_2.21
schemeTransactionIdentifier WS_2.31
paymentAccountReference WS_2.31
captureLimitDate WS_2.35
captureLimitDateTime WS_2.35
tokenPan WS_2.39
guaranteeIndicator WS_2.39

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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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.sogenactif.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.39 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"
}

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, chiffrement par l'utilisation du mode CSE (voir la documentation concernée).

Si la carte est déjà enregistrée dans le wallet, un code de réponse 94 est retourné.

Si la création a réussi, un code de réponse 00 est retourné ainsi que de nombreuses informations sur le compte et la carte associée :

  • identifiant wallet
  • date de création
  • identifiant externe du moyen de paiement créé pour le wallet
  • numéro de carte partiellement masqué (seuls les 4 premiers chiffres et 2 derniers sont affichés).

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/addCard

Format de la requête addCard

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
cardNumber Obligatoire WS_2.0
cardExpiryDate Obligatoire WS_2.0
panType Facultatif WS_2.31
merchantWalletId Obligatoire WS_2.0
paymentMeanAlias Facultatif WS_2.0
paymentMeanBrand Facultatif WS_2.20
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12
paymentMeanBrandSelectionStatus Facultatif WS_2.36
paymentToken Facultatif WS_2.38

Exemple de requête addCard

{
  "cardExpiryDate": "201405",
  "cardNumber": "5219000000000000",
  "interfaceVersion": " WR_WS_2.3",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": "iDWal1",
  "paymentMeanAlias": "myvisacard",
  "paymentMeanbrand": "VISA",
  "seal": "4b7beed20ff443b3c05cc904bcd793ba6cace54b9ff669cf26d8576e267dc03c"
}

Format de la réponse addCard

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
paymentMeanId WS_2.0
maskedPan WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse addCard

{
  "walletActionDateTime": "2014-03-19T23:15:03-12:00",
  "paymentMeanId": "13",
  "maskedPan": "4977##########55",
  "walletResponseCode": "00",
  "seal": "a6671feade95c57085939fe973e8455a5c7a81d465f78f1b94c22f8b29a2b751"
}

Cette opération permet d’ajouter un mandat au wallet. Si le mandat est déjà enregistré dans le wallet, un code de réponse 94 est retourné.

Si la création a réussi, un code de réponse 00 est retourné, ainsi que de nombreuses informations sur le compte et le mandat associé :

  • date de création
  • identifiant externe du moyen de paiement créé pour le wallet
  • numéro international de compte bancaire (IBAN) partiellement masqué (seuls les 4 premiers chiffres et 2 derniers sont affichés).

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/addDirectDebit

Format de la requête addDirectDebit

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
paymentMeanBrand Obligatoire WS_2.0
mandateId Facultatif WS_2.0
customerBankCode Facultatif WS_2.0
customerAccount Facultatif WS_2.0
transactionActors Facultatif WS_2.0
paymentMeanAlias Facultatif WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête addDirectDebit

{
  "customerAccount": "FR76300460012900297215195464",
  "customerBankCode": "CEPAFRPP118",
  "interfaceVersion": "WR_WS_2.0",
  "keyVersion": "1",
  "mandateId": "MANDATE0001",
  "merchantId": "011223344550000",
  "merchantWalletId": "1",
  "paymentMeanAlias": "ABC bank account",
  "paymentMeanBrand": "SEPA_DIRECT_DEBIT",
  "transactionActors": "BtoB",
  "seal": "8493c63cd279824b90bf39f542df205343392e08412345d4c2b9c856c42464ef9"
}

Format de la réponse addDirectDebit

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
paymentMeanId WS_2.0
maskedPan WS_2.0
transactionActors WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse addDirectDebit

{
  "walletActionDateTime": "2014-07-28T21:14:13-12:00",
  "paymentMeanId": "8",
  "maskedPan": "MAND#####01",
  "transactionActors": "BtoB",
  "walletResponseCode": "00",
  "seal": "75cc0bd5f72a15fb38b0f609393437db61866f867fa7befeef9b3f496a9e449f"
}

Cette fonction vous permet de supprimer définitivement l'un des moyens de paiement de son wallet.

Si le compte ou la carte n'existe pas, un code de réponse 01 est retourné. Si la suppression a fonctionné, le code de réponse 00 est retourné avec la date de suppression.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/deletePaymentMean

Format de la requête deletePaymentMean

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
paymentMeanId Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête deletePaymentMean

{
  "interfaceVersion": "WR_WS_2.3",
  "keyVersion": "2",
  "merchantId": "011223344550000",
  "merchantWalletId": "walId011",
  "paymentMeanId": "2",
  "seal": "dc02b07a50eaae5007be184ede9a1b03150809ced6fca81c81f7a54929129b44"
}

Format de la réponse deletePaymentMean

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse deletePaymentMean

{
  "walletActionDateTime": "2014-05-19T23:22:08-12:00",
  "walletResponseCode": "00",
  "seal": "e721a45f7decf017ba079dd0c25b1e7916c6c9e6c7e86d6cef37bec2cf42ba04"
}

Cette opération vous permet de mettre à jour l'un des moyens de paiement contenu dans le wallet d'un client. Si le compte ou le moyen de paiement n'existe pas, un code de réponse 01 est retourné. Si la mise à jour a fonctionné, le code de réponse 00 est retourné avec la date de la mise à jour.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/updatePaymentMean

Format de la requête updatePaymentMean

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
paymentMeanId Obligatoire WS_2.0
paymentMeanAlias Facultatif WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête updatePaymentMean

{
  "interfaceVersion": "WR_WS_2.3",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": "walId011",
  "paymentMeanAlias": "myAlias",
  "paymentMeanId": "2",
  "seal": "1e26289499d5f6104e6300291f272d7b994a111eecf8feedccf934560de26e5d"
}

Format de la réponse updatePaymentMean

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse updatePaymentMean

{
  "walletActionDateTime": "2014-05-19T23:19:54-12:00",
  "walletResponseCode": "00",
  "seal": "4d40a4af0fe8ceaf1370ab5e434c6ba939973bcacf33f202c72c47a8ab622c19"
}

Cette opération permet de supprimer un wallet et les moyens de paiements associés. Si le compte n'existe pas, un code de réponse 01 est retourné. Si la suppression a fonctionné, le code de réponse 00 est retourné avec la date de suppression.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/signOff

Format de la requête signOff

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête signOff

{
  "interfaceVersion": "WR_WS_2.3",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": "SIM01",
  "seal": "8217a6163368bee3b5baebc47a822d40327344ce578411055f95d6e5752d00f4"
}

Format de la réponse signOff

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse signOff

{
  "walletActionDateTime": "2014-05-19T23:20:25-12:00",
  "walletResponseCode": "00",
  "seal": "8ff8b4302b5eeda23bad2d556dd539c2b3991f8dcd4deb66e338df3a1f59ebe6"
}

Cette opération permet d'ajouter un identifiant de wallet externe dans un wallet Sogenactif. Un nouveau wallet est créé si inexistant. Si l'identifiant de wallet externe est déjà enregistré dans le wallet, un code de réponse 94 est retourné. Si la création a réussi, un code de réponse 00 est retourné.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/addIssuerWallet

Format de la requête addIssuerWallet

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
issuerWalletId Obligatoire WS_2.0
issuerWalletType Obligatoire WS_2.0
merchantWalletId Obligatoire WS_2.0
paymentMeanAlias Facultatif WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.0

Exemple de requête addIssuerWallet

{
  "interfaceVersion": "WR_WS_2.23",
  "issuerWalletId": "xWfgmpijds",
  "issuerWalletType": "PAYLIB",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": "iDWal1",
  "paymentMeanAlias": "paylib un clique",
  "seal": "4b7beed20ff443b3c05cc904bcd793ba6cace54b9ff669cf26d8576e267dc03c"
}

Format de la réponse addIssuerWallet

Champ A partir de la version Commentaires
walletActionDateTime WS_2.0
paymentMeanId WS_2.0
walletResponseCode WS_2.0
errorFieldName WS_2.0
seal WS_2.0

Exemple de réponse addIssuerWallet

{
  "walletActionDateTime": "2018-03-19T23:15:03-12:00",
  "paymentMeanId": "13",
  "walletResponseCode": "00",
  "seal": "a6671feade95c57085939fe973e8455a5c7a81d465f78f1b94c22f8b29a2b751"
}

Cette opération permet de consulter un wallet et les moyens de paiement associés.

Si le compte n'existe pas, un code de réponse 01 est retourné. Si la requête a réussi, le code de réponse 00 est retourné, ainsi que les informations relatives aux moyens de paiement.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/getWalletData

Format de la requête getWalletData

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête getWalletData

{
  "interfaceVersion": " WR_WS_2.3",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": " walId011",
  "seal": "8217a6163368bee3b5baebc47a822d40327344ce578411055f95d6e5752d00f4"
}

Format de la réponse getWalletData

Champ A partir de la version Commentaires
walletCreationDateTime WS_2.0
walletLastActionDateTime WS_2.0
walletResponseCode WS_2.0
walletPaymentMeanDataList WS_2.0 Liste de conteneur walletPaymentMeanData. Voir la partie Containers
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse getWalletData

{
  "walletCreationDateTime": "2013-12-23T05:17:26-12:00",
  "walletLastActionDateTime": "2014-01-19T23:16:00-12:00",
  "walletResponseCode": "00",
  "walletPaymentMeanDataList": [
    {
      "paymentMeanId": "14",
      "maskedPan": "4977##########02",
      "paymentMeanBrand": "SEPA_DIRECT_DEBIT"
    },
    {
      "paymentMeanId": "13",
      "maskedPan": "4977##########55",
      "paymentMeanAlias": "MySDD",
      "panExpiryDate": "201501",
      "paymentMeanBrand": "CB"
    }
  ],
  "seal": "4579cfc4044c29550327f9cba0be400129e95cb5b2639c6e301484930b4f9f94"
}

Cette fonction permet de consulter un wallet et les informations de ses moyens de paiement.

Si le compte ou le moyen de paiement n'existe pas, un code de réponse 01 est retourné. Si la requête a réussi, le code de réponse 00 est retourné, ainsi que les informations relatives au moyen de paiement.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/wallet/getPaymentMeanData

Format de la requête getPaymentMeanData

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 WR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantWalletId Obligatoire WS_2.0
paymentMeanId Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.12
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.12

Exemple de requête getPaymentMeanData

{
  "interfaceVersion": "WR_WS_2.3",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantWalletId": " walId011",
  "paymentMeanId": "14",
  "seal": "7ba62b5dc8583a636fa35ec8399025e67d5a6335de4e04e25e99d21209e0bd4e"
}

Format de la réponse getPaymentMeanData

Champ A partir de la version Commentaires
walletResponseCode WS_2.0
walletPaymentMeanData WS_2.0 Voir la partie Containers
errorFieldName WS_2.0 Disponible si la valeur de walletResponseCode est 12 ou 30
seal WS_2.0

Exemple de réponse getPaymentMeanData

{
  "walletResponseCode": "00",
  "walletPaymentMeanData": {
    "paymentMeanId": "14",
    "maskedPan": "4977##########02",
    "paymentMeanBrand": "SEPA_DIRECT_DEBIT"
  },
  "seal": "17f797e25668662aa51d59dbbd51c7094410f46326d15568f73f27621380c34a"
}

Cette opération permet d’initialiser un processus de signature de mandat. Si l’étape d’initialisation réussit, vous recevez en réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour continuer le processus de signature. La redirection doit être faite via un formulaire POST, voir la partie "Formulaire POST vers des fournisseurs externes".

Parmi les paramètres de la requête, vous devez également renseigner l’URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du processus de signature du mandat. Vous devez ensuite appeler le service finalizeMandate pour obtenir le résultat du processus de signature.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/mandate/initializeMandate

Format de la requête initializeMandate

Champ Présence A partir de la version Commentaires
paymentMeanAlias Obligatoire WS_2.0
merchantReturnUrl Obligatoire WS_2.0
merchantId Obligatoire WS_2.0
interfaceVersion Obligatoire WS_2.0 La valeur préconisée est MR_WS_2.39 afin de bénéficier des dernières fonctionnalités
returnContext Facultatif WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
seal Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
sealAlgorithm Facultatif WS_2.0
paymentMeanData Facultatif WS_2.0
customerContact Facultatif WS_2.0 Voir la partie Containers
customerAddress Facultatif WS_2.0 Voir la partie Containers
customerLanguage Facultatif WS_2.0
mandateId Facultatif WS_2.0
transactionActors Facultatif WS_2.0
iban Obligatoire WS_2.0
customerId Facultatif WS_2.0

Exemple de requête initializeMandate

{
  "customerAddress": {
    "city": "City",
    "country": "FRA",
    "street": "street name",
    "streetNumber": "123",
    "zipCode": "12345"
  },
  "customerContact": {
    "email": "test@sips.com",
    "firstname": "Firstname",
    "gender": "M",
    "lastname": "Lastname"
  },
  "iban": "FR123456456546546546546546",
  "interfaceVersion": "MR_WS_2.18",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "merchantReturnUrl": "https://mywebsite/return.jsp",
  "paymentMeanAlias": "alias",
  "seal": "fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"
}

Format de la réponse initializeMandate

Champ A partir de la version Commentaires
mandateResponseCode WS_2.0
acquirerResponseCode WS_2.0
redirectionUrl WS_2.0
redirectionData WS_2.0
mandateId WS_2.0
messageVersion WS_2.0
seal WS_2.0
errorFieldName WS_2.21

Exemple de réponse initializeMandate

{
  "mandateResponseCode": "00",
  "acquirerResponseCode": "00",
  "redirectionUrl": "https://payment-web.test.sips-services.com/paymentprovider/initsps",
  "redirectionData": "bt1QVw4zgOYphloN0S7DMHpIAJfrMks9H/...j3MFRNbExX",
  "mandateId": "000000000000000826",
  "messageVersion": "0.1",
  "seal": "9019f36306c3c5de4ff8ea9bc4fcc9ebca236cb350c348c6951a81f86d0c6c60"
}

Cette opération permet de finaliser le processus de signature de mandat et de connnaître le résultat. Elle doit être appelée après que vous ayez reçu le formulaire POST sur l’url merchantReturnUrl (voir les paramètres de la requête initializeMandate).

L'URL est : https://office-server.sogenactif.com/rs-services/v2/mandate/finalizeMandate

Format de la requête finalizeMandate

Champ Présence A partir de la version Commentaires
interfaceVersion Obligatoire WS_2.0 La valeur préconisée est MR_WS_2.39 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
keyVersion Obligatoire WS_2.0
seal Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
sealAlgorithm Facultatif WS_2.0

Exemple de requête finalizeMandate

{
  "interfaceVersion": "MR_WS_2.18",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "messageVersion": "0.1",
  "redirectionData": "O4ytL5JBCPDNASyhleIA57zt3cZJx...86aea7"
}

Format de la réponse finalizeMandate

Champ A partir de la version Commentaires
mandateResponseCode WS_2.0
acquirerResponseCode WS_2.0
merchantId WS_2.0
bic WS_2.0
iban WS_2.0
transactionActors WS_2.0
paymentMeanData WS_2.0
paymentMeanAlias WS_2.0
customerContact WS_2.0 Voir la partie Containers
customerAddress WS_2.0 Voir la partie Containers
messageVersion WS_2.0
mandateId WS_2.0
seal WS_2.0
errorFieldName WS_2.21

Exemple de réponse finalizeMandate

{
  "mandateResponseCode": "00",
  "bic": "AGRIFRPP879",
  "iban": "FR1233321114456666",
  "transactionActors": "BTOC",
  "paymentMeanData": {
    "sdd": {
      "mandateAuthentMethod": "MAIL_OTP",
      "mandateUsage": "RECURRENT",
      "mandateCertificationType": "E_BASIC"
    }
  },
  "customerContact": {
    "email": "test@sips.com",
    "firstname": "Firstname",
    "lastname": "Lastname"
  },
  "customerAddress": {
    "city": "City",
    "street": "street name",
    "streetNumber": "123",
    "zipCode": "12345"
  },
  "mandateId": "000000000000000827",
  "seal": "eecf79584ac1acb2d91949940dbebb856061c8dab7f6ed655b8a624742df7adc"
}

Cette fonction permet de récupérer le PDF d’un mandat existant. Le PDF est sérialisé en Base64. La chaîne de caractères doit être décodée et convertie en fichier PDF pour permettre la lecture ou le téléchargement.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/mandate/getPDFMandate

Format de la requête getPDFMandate

Champ Présence A partir de la version Commentaires
interfaceVersion Obligatoire WS_2.0 La valeur préconisée est MR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantId Obligatoire WS_2.0
mandateId Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
seal Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
sealAlgorithm Facultatif WS_2.0

Exemple de requête getPDFMandate

{
  "interfaceVersion": "MR_WS_2.20",
  "keyVersion": "1",
  "mandateId": "000000000000000677",
  "merchantId": "011223344550000",
  "seal": "fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"
}

Format de la réponse getPDFMandate

Champ A partir de la version Commentaires
mandateResponseCode WS_2.0
acquirerResponseCode WS_2.0
mandatePdf WS_2.0
seal WS_2.0
errorFieldName WS_2.21

Exemple de réponse getPDFMandate

{
  "mandateResponseCode": "00",
  "acquirerResponseCode": "00",
  "mandatePdf": "JVBERi0xLjQdqzdzqdqzdqzhcnR4cmVmCjIxNzA2CiUlRU9GCg\u003d\u003d",
  "seal": "df97074b81e534d70cccbff5446b71d36c4d4de6d995fe630c8077d6fa85c0a3"
}

Cette opération permet de rechercher les mandats existants d’un client. Les mandats sont liés à un client donné seulement si le champ customerId a été fourni dans les paramètres de la requête initializeMandate.

L'URL est : https://office-server.sogenactif.com/rs-services/v2/mandate/searchMandate

Format de la requête searchMandate

Champ Présence A partir de la version Commentaires
interfaceVersion Obligatoire WS_2.0 La valeur préconisée est MR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantId Obligatoire WS_2.0
customerId Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
seal Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
sealAlgorithm Facultatif WS_2.0

Exemple de requête searchMandate

{
  "customerId": "test123",
  "interfaceVersion": "MR_WS_2.20",
  "keyVersion": "1",
  "merchantId": "011223344550000",
  "seal": "df97074b81e534d70cccbff5446b71d36c4d4de6d995fe630c8077d6fa85c0a3"
}

Format de la réponse searchMandate

Champ A partir de la version Commentaires
mandateResponseCode WS_2.0
acquirerResponseCode WS_2.0
mandateList WS_2.0 Liste de conteneur mandate. Voir la partie Containers
seal WS_2.0
errorFieldName WS_2.21

Exemple de réponse searchMandate

{
  "mandateResponseCode": "00",
  "acquirerResponseCode": "00",
  "mandateList": [
    {
      "mandateId": "6768",
      "mandateStatus": "ACTIVE",
      "bic": "123456789",
      "iban": "987654321",
      "transactionActors": "B2C",
      "mandateUsage": "RECURRENT"
    },
    {
      "mandateId": "4659",
      "mandateStatus": "ACTIVE",
      "bic": "123456789",
      "iban": "987654321",
      "transactionActors": "B2C",
      "mandateUsage": "RECURRENT"
    },
    {
      "mandateId": "7083",
      "mandateStatus": "ACTIVE",
      "bic": "123456789",
      "iban": "987654321",
      "transactionActors": "B2C",
      "mandateUsage": "RECURRENT"
    }
  ],
  "seal": "10a575f493ac8a791e78d750ec7bbaa15ebec2c5a39f95dbc49d9a5f1b6ef671"
}

Cette opération permet d’obtenir des informations concernant un mandat existant. La réponse contient des informations propres au mandat telles que le statut, l’IBAN, etc… mais aussi la liste des transactions « SEPA direct debit » associées aux mandats (s’il y en a).

L'URL est : https://office-server.sogenactif.com/rs-services/v2/mandate/getMandateData

Format de la requête getMandateData

Champ Présence A partir de la version Commentaires
interfaceVersion Obligatoire WS_2.0 La valeur préconisée est MR_WS_2.39 afin de bénéficier des dernières fonctionnalités
merchantId Obligatoire WS_2.0
mandateId Obligatoire WS_2.0
keyVersion Obligatoire WS_2.0
seal Obligatoire WS_2.0
intermediateServiceProviderId Facultatif WS_2.0
sealAlgorithm Facultatif WS_2.0

Exemple de requête getMandateData

{
  "interfaceVersion": "MR_WS_2.20",
  "keyVersion": "1",
  "mandateId": "000000000000000677",
  "merchantId": "011223344550000",
  "seal": "39b46a6656d6647b20ffc0d1351d863b7627d7838f7ded02f34a690d9a2d2b8c"
}

Format de la réponse getMandateData

Champ A partir de la version Commentaires
mandateResponseCode WS_2.0
acquirerResponseCode WS_2.0
mandateId WS_2.0
mandateStatus WS_2.0
mandateSignatureDate WS_2.0
mandateCreationDate WS_2.0
mandateLastUpdateDate WS_2.0
bic WS_2.0
iban WS_2.0
transactionActors WS_2.0
mandateUsage WS_2.0
debtorName WS_2.19
customerContact WS_2.0 Voir la partie Containers
customerAddress WS_2.0 Voir la partie Containers
directDebitList WS_2.0 Liste de conteneur directDebit. Voir la partie Containers
seal WS_2.0

Exemple de réponse getMandateData

{
  "mandateResponseCode": "00",
  "acquirerResponseCode": "00",
  "mandateId": "000000000000000677",
  "mandateStatus": "ACTIVE",
  "bic": "123456789",
  "iban": "987654321",
  "transactionActors": "BTOC",
  "mandateUsage": "RECURRENT",
  "customerContact": {
    "lastname": "JOHAN JOHAN"
  },
  "customerAddress": {
    "city": "MockCity",
    "country": "FR",
    "street": "Street",
    "streetNumber": "1234",
    "zipCode": "11111"
  },
  "directDebitList": [
    {
      "orderId": "7419",
      "amount": 0
    },
    {
      "orderId": "3336",
      "amount": 0
    },
    {
      "orderId": "8901",
      "amount": 0
    }
  ],
  "seal": "cfff04f2baddfa04c1f731468ebe77dbc83ffca5a3af97e2dbd182762a6b0c8b"
}

Les containers regroupent fonctionnellement les données. Ils peuvent contenir des listes, dans ce cas, les éléments des listes doivent être fournis de la manière suivante :

...,"Nom du champ" : [{"nom du sous-champ1":"valeur1","nom du sous-champ2":"valeur2"}, 
{"nom du sous-champ1":"valeur3", "nom du sous-champ2":"valeur4"}],...

Si le container regroupe des champs uniquement, ils doivent être fournis de la manière suivante :

...,"nom du champ" : ["valeur1","valeur2"],...

Tous ces champs sont facultatifs.

authenticationData

Champ Commentaires
cardAuthPolicy Voir la partie Containers
authentAmount
threeD Deprécié. Merci d'utiliser le conteneur AuthenticationResult.threeD. Voir la partie Containers
threeDV2 Deprécié. Merci d'utiliser le conteneur AuthenticationResult.threeDV2. Voir la partie Containers
holderAuthentProgram Deprécié. Merci d'utiliser AuthenticationResult.holderAuthentProgram
applePay Deprécié. Merci d'utiliser le conteneur AuthenticationResult.applePay. Voir la partie Containers
holderAuthentProvider Deprécié. Merci d'utiliser AuthenticationResult.holderAuthentProvider

cardAuthPolicy

Champ Commentaires
checkAVS
ignorePostcodeCheckResult
ignoreAddressCheckResult
automaticReverse

threeD

Champ Commentaires
cavv
cavvAlgorithm
eci
securityIndicator
txStatus
xid

threeDV2

Champ Commentaires
cavv
cavvAlgorithm
securityIndicator
eci
txStatus
authentTransStatusReason
authentDsTransId
authentAcsTransId
authentAmount
authentDateTime
holderAuthentType
authentScoreValue
challengeMode3DS
authentCancelReason
authentDSMerchantName
authentExemptionReasonList
authentMessageVersion
authentAcsMethod
authentThreedsServerTransId

applePay

Champ Commentaires
cavv
eci

authenticationResult

Champ Commentaires
threeD Voir la partie Containers
threeDV2 Voir la partie Containers
holderAuthentProgram
applePay Voir la partie Containers
samsungPay Voir la partie Containers
holderAuthentProvider

threeD

Champ Commentaires
cavv
cavvAlgorithm
eci
securityIndicator
txStatus
xid

threeDV2

Champ Commentaires
cavv
cavvAlgorithm
securityIndicator
eci
txStatus
authentTransStatusReason
authentDsTransId
authentAcsTransId
authentAmount
authentDateTime
holderAuthentType
authentScoreValue
challengeMode3DS
authentCancelReason
authentDSMerchantName
authentExemptionReasonList
authentMessageVersion
authentAcsMethod
authentThreedsServerTransId

applePay

Champ Commentaires
cavv
eci

samsungPay

Champ Commentaires
cavv
eci

billingAddress

Champ Commentaires
addressAdditional1
addressAdditional2
addressAdditional3
city
company
country
postBox
state
street
streetNumber
zipCode

billingContact

Champ Commentaires
email
firstname
gender
lastname
mobile
phone
title
initials
workPhone

cardData

Champ Commentaires
cardScheme
cardBrand
cardProductCode
cardProductName
cardCorporateIndicator
cardEffectiveDateIndicator
cardSeqNumberIndicator
issuerCode
issuerName
issuerCountryCode
issuerRegionCode
panLengthMin
panLengthMax
panCheckAlgorithm
cardProductProfile
virtualCardIndicator
cardProductUsageLabel

customerAccountHistoric

Champ Commentaires
creationDate
numberOfAttemptsAddCard24Hours
numberOfPurchase180Days
numberOfTransaction24Hours
suspiciousActivityIndicator
changeDate
passwordChangeDate
numberOfTransactionYear
addPaymentMeanDate
customerAccountId

customerAddress

Champ Commentaires
addressAdditional1
addressAdditional2
addressAdditional3
city
company
country
postBox
state
street
streetNumber
zipCode
businessName

customerContact

Champ Commentaires
email
firstname
gender
lastname
mobile
phone
title
initials
legalId
positionOccupied
workPhone

customerData

Champ Commentaires
birthCity
birthCountry
birthDate
birthZipCode
nationalityCountry
newPassword
password
maidenName

deliveryAddress

Champ Commentaires
addressAdditional1
addressAdditional2
addressAdditional3
city
company
country
postBox
state
street
streetNumber
zipCode

deliveryContact

Champ Commentaires
email
firstname
gender
lastname
mobile
phone
title
initials
workPhone

deliveryData

Champ Commentaires
deliveryChargeAmount
estimatedDeliveryDate
deliveryMode
deliveryMethod
deliveryOperator
estimatedDeliveryDelay
deliveryAddressCreationDate
electronicDeliveryIndicator

directDebit

Champ Commentaires
amount
dueDate
directDebitCreationDate
directDebitStatus

fraudData

Champ Commentaires
bypassCtrlList
bypassInfoList
bypass3DS
allowedCardCountryList
deniedCardCountryList
allowedIpCountryList
deniedIpCountryList
allowedCardArea
deniedCardArea
allowedIpArea
deniedIpArea
riskManagementDynamicSettingList Liste de conteneur riskManagementDynamicSetting. Voir la partie Containers
challengeMode3DS
addressDeliveryBillingMatchIndicator
nameDeliveryCustomerMatchIndicator
productAvailabilityIndicator
reorderProductIndicator
merchantCustomerAuthentMethod
merchantCustomerAuthentDateTime
merchantCustomerAuthentData
productAvailabilityDate
merchantAuthentScoreValue

riskManagementDynamicSetting

Champ Commentaires
riskManagementDynamicParam
riskManagementDynamicValue

holderAddress

Champ Commentaires
addressAdditional1
addressAdditional2
addressAdditional3
city
company
country
postBox
state
street
streetNumber
zipCode

holderContact

Champ Commentaires
email
firstname
gender
lastname
mobile
phone
title
initials
workPhone

holderData

Champ Commentaires
birthCity
birthCountry
birthDate
birthZipCode
nationalityCountry
newPassword
password
maidenName

instalmentData

Champ Commentaires
number
datesList
transactionReferencesList Facultatif si vous utilisez le s10transactionIdsList
amountsList
s10TransactionIdsList Facultatif si vous utilisez le transactionReferencesList

mandate

Champ Commentaires
mandateId
mandateStatus
mandateSignatureDate
mandateCreationDate
mandateLastUpdateDate
bic
iban
transactionActors
mandateUsage
mandateSecureReference
riskyMandate

panData

Champ Commentaires
panId
pan

paymentMeanData

Champ Commentaires
paypal Voir la partie Containers
accord Voir la partie Containers
accordkdo Voir la partie Containers
bcacup Voir la partie Containers
cofinoga Voir la partie Containers
bcmcMobile Voir la partie Containers
bancontact Voir la partie Containers
sdd Voir la partie Containers
cofinoga3xcb Voir la partie Containers
passbe Voir la partie Containers
facilypay Voir la partie Containers

paypal

Champ Commentaires
landingPage
addrOverride
invoiceId
dupFlag
dupDesc
dupCustom
dupType
mobile
token
deliveryAddressStatus
payerBusiness
payerId
payerStatus
payerSuffix
paymentStatus
orderDescription

accord

Champ Commentaires
settlementMode
additionalAuthorisationNumber

accordkdo

Champ Commentaires
additionalAuthorisationNumber

bcacup

Champ Commentaires
settlementMode

cofinoga

Champ Commentaires
settlementMode

bcmcMobile

Champ Commentaires
defaultRedirectUrl
completionRedirectUrl

bancontact

Champ Commentaires
bancontactMerchantCustomerAuthenticationMethod
initialAuthenticationCavv
payeeHolderName
payeeCardNumber

sdd

Champ Commentaires
mandateAuthentMethod
mandateUsage
mandateCertificationType

cofinoga3xcb

Champ Commentaires
creditIndicator

passbe

Champ Commentaires
settlementModeList

facilypay

Champ Commentaires
settlementMode
settlementModeVersion
receiverType
depositRefundIndicator

preAuthenticationRuleResult

Champ Commentaires
ruleCode
ruleType
ruleWeight
ruleSetting
ruleResultIndicator
ruleDetailedInfo

preAuthorisationRuleResult

Champ Commentaires
ruleCode
ruleType
ruleWeight
ruleSetting
ruleResultIndicator
ruleDetailedInfo

recurringData

Champ Commentaires
recurringSequence
recurringSequenceMax
recurringEndDate
recurringPeriod

responsePanData

Champ Commentaires
tokenResponseCode
tokenPanId
pan

responseTokenPanData

Champ Commentaires
tokenResponseCode
panId
tokenPan

riskManagementCustomData

Champ Commentaires
riskManagementCustomSequence
riskManagementCustomValue

s10FromTransactionReference

Champ Commentaires
s10FromTransactionId
s10FromTransactionIdDate

s10TransactionReference

Champ Commentaires
s10TransactionId
s10TransactionIdDate Dans le cadre de la création de transaction, Ce champ est calculé par notre serveur. Il est donc inutile de le valoriser (il sera ignoré si valorisé) sur les méthodes suivantes :
  • toutes les méthodes du service checkout
  • méthode duplicate du service cashManagement
  • méthode recycle du service cashManagement
  • méthode creditHolder du service cashManagement
  • méthode walletCreditHolder du service cashManagement

shoppingCartDetail

Champ Commentaires
shoppingCartTotalAmount
shoppingCartTotalQuantity
shoppingCartTotalTaxAmount
mainProduct
shoppingCartItemList Liste de conteneur shoppingCartItem. Voir la partie Containers
giftCardAmount
giftCardCurrencyCode
giftCardCount

shoppingCartItem

Champ Commentaires
productName
productDescription
productCode
productSKU
productUnitAmount
productQuantity
productTaxRate
productUnitTaxAmount
productCategory
productTaxCategory
travelData Voir la partie Containers

travelData

Champ Commentaires
numberOfTravelers
travelStartDateTime
travelEndDateTime
travelReason
travelCardPeriod
travelCardType
passportDataList Liste de conteneur passportData. Voir la partie Containers
stayDataList Liste de conteneur stayData. Voir la partie Containers
journeyDataList Liste de conteneur journeyData. Voir la partie Containers
travelingPayerIndicator

passportData

Champ Commentaires
passportExpirationDate
passportIssueCountry

stayData

Champ Commentaires
stayLocation
stayArrivalDateTime
stayDepartureDateTime
numberOfNights
numberOfPeopleStaying
roomServiceLevel
stayNumberOfRooms
stayCategory
stayCompany
stayInsurance
stayInsuranceIndicator
stayRentalCarIndicator

journeyData

Champ Commentaires
departureLocation
arrivalLocation
destinationCountry
departureDateTime
numberOfTickets
ticketIssuerName
ticketReference
ticketIssueCity
ticketIssueDate
fareBasis
carrierIdentifier
carrierName
classLevel
journeyModality
journeyMode
journeyStage
journeySequence
journeyInsurance
journeyInsuranceIndicator
journeyCancellableIndicator
luggageSupplementIndicator
ticketExchangeabilityIndicator

subMerchantAddress

Champ Commentaires
addressAdditional1
addressAdditional2
addressAdditional3
city
company
country
postBox
state
street
streetNumber
zipCode

threeD

Champ Commentaires
cavv
cavvAlgorithm
eci
securityIndicator
txStatus
xid

threeDV2

Champ Commentaires
cavv
cavvAlgorithm
securityIndicator
eci
txStatus
authentTransStatusReason
authentDsTransId
authentAcsTransId
authentAmount
authentDateTime
holderAuthentType
authentScoreValue
challengeMode3DS
authentCancelReason
authentDSMerchantName
authentExemptionReasonList
authentMessageVersion
authentAcsMethod
authentThreedsServerTransId

tokenPanData

Champ Commentaires
tokenPanId
tokenPan

walletPaymentMeanData

Champ Commentaires
paymentMeanId
maskedPan
paymentMeanAlias
panExpiryDate
paymentMeanBrand
transactionActors
pspData Voir la partie Containers
mandateId
issuerWalletId
issuerWalletType
paymentMeanCoBadgingBrandList

pspData

Champ Commentaires
pspData1

customerBank

Champ Commentaires
customerBankCode
customerBankName

orderContext

Champ Commentaires
customerHostName
customerBrowserType
customerANI
customerANIInformationIdentifier
merchantOrderSpecificDataList Liste de conteneur merchantOrderSpecificData. Voir la partie Containers

merchantOrderSpecificData

Champ Commentaires
reference
type
value

travelContext

Champ Commentaires
departureDate
passengerName
originAirport
numberOfRoutingCities
routingCityList
numberOfAirlineCarriers
airlineCarrierList
fareBasis
numberOfPassengers
destinationAirport
reservationCode
Formulaire POST de redirection
Formulaire POST vers l'ACS

Votre site Web doit ordonner au navigateur du porteur de carte d'envoyer le formulaire comportant le message PaReq à l'URL ACS reçue dans le champ redirectionUrl du service cardCheckEnrollment ou walletCheckEnrollment. Cette action doit être initiée via le navigateur du porteur de carte.

Conformément aux directives de mise en œuvre de 3-D Secure édictées par VISA et Mastercard, cette action doit être réalisée en réduisant au minimum les interventions du porteur de carte.

Votre site Web doit construire un formulaire POST pour rediriger l'utilisateur final vers l'ACS. Ce formulaire devra contenir les valeurs suivantes :

  • le message PaReq : correspondant au champ paReqMessage renvoyé par le service cardCheckEnrollment ou walletCheckEnrollment.
  • TermUrl : l’URL de votre site vers laquelle la réponse finale doit être envoyée après authentification de l’utilisateur final. Il doit s’agir d’une URL de votre site Web.
  • le champ MD (« Merchant Data ») comporte des données sur le statut du commerçant qui doivent vous être retournées. Ce champ doit être utilisé pour récupérer la session sur votre site Web.
  • Le formulaire doit comporter des en-têtes Content-Type et Content-Length.
IMPORTANT: le champ MD doit contenir uniquement des caractères ASCII compris entre 0x20 et 0x7E; si d'autres données sont nécessaires, le champ doit être encodé en Base64. La taille du champ (après le codage Base64, le cas échéant) est limitée à 1024 octets. Si des données confidentielles sont incluses (telles que le PAN), elles doivent être cryptées.

Il est conseillé d'utiliser le langage JavaScript pour cette action mais ces implémentations doivent également fournir une solution alternative pour les navigateurs qui ne le gèrent pas, comme illustré dans l'exemple HTML ci-dessous.

Exemple de code de redirection HTTP POST - PAReq
<html>
<head>
  <title>Title for Page</title>
</head>
<body OnLoad="OnLoadEvent();" >
  <form name="downloadForm" action="ACS URL HERE(redirectionUrl)" method="POST">
  <noscript>
  <br>
  <br>
  <center>
    <h1>Processing your 3-D Secure Transaction</h1>
    <h2>JavaScript is currently disabled or is not supported by your browser.<br></h2>
    <h3>Please click Submit to continue the processing of your 3-D Secure transaction.</h3>
    <input type="submit" value="Submit">
  </center>
  </noscript>
  <input type="hidden" name="PaReq" value="PAREQ HERE(paReqMessage)">
  <input type="hidden" name="TermUrl" value="TERM URL HERE">
  <input type="hidden" name="MD" value="MERCHANT DATA HERE">
  </form>
<SCRIPT LANGUAGE="Javascript" >
<!--
function OnLoadEvent()
{
document.downloadForm.submit();
}
//-->
</SCRIPT>
</body>
</html>

L'authentification de l'utilisateur final est gérée directement sur le serveur ACS. Par conséquent, vous ne pouvez avoir aucune influence sur cette authentification, ni sur l’aspect ou l’ergonomie de ces pages.

À la fin du processus d'authentification, l'utilisateur final est redirigé vers votre site via une redirection HTTP.

L'ACS enverra avec cette URL, via POST, les résultats de l'authentification sous forme de variables. Les variables POST seront les suivantes :

Champ Commentaires
PaRes Doit être spécifié dans le service cardValidateAuthentication
MD Merchant Data comporte des données sur le statut du commerçant qui doivent vous être retournées. Ce champ doit être utilisé pour récupérer la session sur votre site Web.
Formulaire POST vers des fournisseurs externes

Une fois l'initialisation traitée, votre site Web doit rediriger le navigateur du client à l’aide d’un formulaire POST.

Redirection HTTP POST

Votre site Web doit construire un formulaire de redirection pour rediriger le client vers le site Web externe, à l’aide de l’URL redirectionUrl fournie en réponse de la méthode d’initialisation.

Ce formulaire devra contenir les valeurs suivantes :

  • message_version : messageVersion retourné lors de l’initialisation ;
  • redirection_data : redirectionData retourné lors de l’initialisation ;
  • le formulaire doit comporter des en-têtes Content-Type et Content-Length.

Il est conseillé d'utiliser le langage JavaScript pour cette action, mais ces implémentations doivent également fournir une solution alternative pour les navigateurs qui ne le gèrent pas, comme illustré dans l'exemple HTML ci-dessous.

Exemple de code de redirection HTTP POST

<html>
<head>
  <title>Title for Page</title>
</head>
<body OnLoad="OnLoadEvent();">
  <form name="downloadForm" action="REDIRECTION URL HERE (redirectionUrl)" method="POST">
    <noscript>
      <br>
        <br>
          <center>
            <h1>Processing your Transaction</h1>
            <h2>
              JavaScript is currently disabled or is not supported by your
              browser.
              <br>
            </h2>
            <h3>Please click Submit to continue the processing of your transaction.</h3>
            <input type="submit" value="Submit">
          </center>
    </noscript>
    <input type="hidden" name="message_version" value="MESSAGE VERSION HERE (messageVersion)">
    <input type="hidden" name="redirection_data" value="REDIRECTION DATA HERE (redirection_data)">
  </form>
  <SCRIPT LANGUAGE="Javascript">
    function OnLoadEvent()
    {
      document.downloadForm.submit();
    }
  </SCRIPT>
</body>
</html>
Données de sortie du formulaire POST

Au retour du site externe, le client est redirigé par un formulaire POST vers l’URL spécifiée dans le champ merchantReturnUrl de la méthode d’initialisation.

Vous devez récupérer les champs et les envoyer dans la requête de finalisation.

Champ Commentaires
merchantId
messageVerion
redirectionData

Le tableau ci-dessous vous donne les codes réponses génériques pour toutes les opérations. Veuillez consulter le dictionnaire des données pour connaître le détail des codes-réponse par fonction.

État Champs de la réponse Action à réaliser
Fonction réalisée responseCode = 00 La fonction demandée a été réalisée avec succès (par exemple un remboursement avec la fonction refund).
Refus suite problème technique responseCode = 90, 99 Problème technique temporaire lors du traitement de la fonction. Essayez ultérieurement d’exécuter de nouveau la fonction.
Fonction non autorisée responseCode = 40 Vous n’avez pas les droits pour exécuter cette fonction. Prenez contact avec le centre d’assistance technique pour demander l’activation de ces droits si votre contrat acquéreur le permet.
Fonction non réalisée Tout autre responseCode La fonction n’a pas pu être réalisée car un des paramètres doit être incorrect. Consultez le dictionnaire des données pour connaître le détail de chaque code erreur et le format de chaque paramètre.

Si vous procédez à une authentification par sceau électronique (seal), vous devez impérativement vérifier que le sceau reçu correspond bien au sceau que vous recalculez avec les champs de la réponse.

Si le sceau reçu ne correspond pas au sceau que vous recalculez, l’état de la transaction est considéré comme inconnu : laissez la transaction en l’état, contactez le support et ne ré-exécutez pas la transaction de manière automatisée.

Les étapes de test et d'intégration peuvent être réalisées à l’aide de l'environnement de recette.

L’URL de l’environnement de recette est : https://office-server-sogenactif.test.sips-atos.com

Pour effectuer ce test, il faut utiliser ces identifiants :

ID du Commerçant 201040040170001
Version de la clé 1
Clé sécrète rxSP61eeP_oNi5TxCD7Ngy9YcwC8MLw6OlmFGGcsY54

Le nom de chaque service a été présenté dans chaque fonction de l’étape 2.

Attention: veillez à bien remplacer le début de l’URL de production fournie dans chaque fonction par celui de l'URL de recette indiquée ci-dessus.

Dans l’environnement de recette, le processus d’autorisation est simulé. Cela signifie qu’il n’est pas nécessaire d’utiliser des moyens de paiement réels pour effectuer des tests.

Vous pouvez utiliser la carte VISA suivante, pour simuler un paiement accepté :

Cartes de test cf page "Cartes de test"
Cryptogramme 123
Date de validité doit être supérieure au mois en cours
Attention: la boutique de test est configurée en "mode transactionReference", sans génération automatique du transactionReference. Par conséquent, il est nécessaire que vous transmettiez le champ transactionRefence valorisé dans vos requêtes de test.

Une fois la connexion de votre site et/ou application à Sogenactif Office Serveur testée, vous êtes à présent en mesure de valider la connexion à Sogenactif Office Serveur de production.

Au préalable, nous conseillons d’isoler votre site et/ou application du public pour éviter que des clients effectuent des transactions pendant cette phase de validation.

Pour basculer sur le serveur de production, vous devez changer l’URL pour vous connecter au serveur Sogenactif de production en utilisant les identifiants reçus lors de l’inscription : merchantId, secretKey et keyVersion.

URL Sogenactif https://office-server.sogenactif.com
merchantId Identifiant de la boutique reçu par e-mail
SecretKey Clé secrète que vous récupérez Sogenactif Téléchargement
KeyVersion Version clé secrète récupérée sur Sogenactif Téléchargement (logiquement 1 pour la 1ère clé)
Attention: une erreur fréquente est d’oublier un de ces 4 paramètres, ce qui conduit systématiquement à une erreur.

Immédiatement :

  • faites une transaction avec une carte de paiement réelle (si possible la vôtre). Si la transaction est acceptée, elle sera envoyée en banque pour créditer votre compte commerçant et débiter le compte carte ;
  • vérifiez que vos pages de paiement intègrent vos paramètres de personnalisation ;
  • consultez la transaction via Sogenactif Gestion à partir du transactionReference.

Le lendemain :

  • vérifiez la présence de la transaction dans le journal des transactions ;
  • vérifiez sur votre compte que l’opération a bien été créditée ;
  • remboursez la transaction via Sogenactif Gestion (optionnel).

Le surlendemain :

  • vérifiez que l’opération de remboursement apparaît dans le journal des opérations ;
  • vérifiez sur votre compte le débit suite au remboursement.

Cette procédure de validation est également applicable au moyen de paiement PayPal.

Une fois la validation du passage en production effectuée, ouvrez votre site au public pour permettre à vos clients d’acheter et de payer.

Dans la journée :

  • surveillez le taux d’acceptation (nombre de responseCode 00 / nombre total de transactions).
  • vérifiez la nature des refus non bancaires :
    • problème technique : responseCode 90, 97, 99,
    • fraude : responseCode 34,
    • nombre max de tentatives de paiement atteint : responseCode 75.

Le lendemain :

  • vérifiez dans le journal des transactions la présence de toutes les transactions traitées (acceptées et refusées) ;
  • vérifiez, dans le journal des opérations, les opérations que vous avez effectuées ainsi que les remises (si vous avez choisi cette option du journal).
Retourner en haut de page besoin d'aide ?

besoin d'aide ?

Fermer

Ce site utilise des traceurs pour améliorer votre expérience de navigation, effectuer des analyses et des recherches sur votre utilisation du site web de documentation Sogenactif.
En fermant ce bandeau vous refusez notre utilisation des traceurs sur votre appareil.

Paramètres