Gestion Plus JSON

From Documentation Mercanet
Jump to: navigation, search

Contents

Introduction

Mercanet est une solution de paiement e-commerce multicanale sécurisée conforme à la norme PCI DSS. Elle permet à tout commerçant d’accepter et de gérer des transactions de paiement en prenant en compte les règles métiers liées à son activité (paiement à la livraison, paiement différé, paiement récurrent, paiement fractionné, …).
L’objectif du présent document est d’expliquer la mise en œuvre de la solution Mercanet Gestion Plus JSON jusqu’au démarrage en production.

A qui s’adresse ce document

Ce document est destiné aux commerçants qui souhaitent souscrire à l’offre Mercanet Gestion Plus 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 l’équipe technique.

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

Prérequis

Une connaissance élémentaire des standards relatifs aux langages de programmation Web pratiqués aujourd’hui, tels que Java, PHP ou .Net, est nécessaire pour développer la connexion à Mercanet Gestion Plus.

Remarque

Tous les exemples de code de ce document sont fournis à titre d’exemple, il convient de les adapter à votre site Web afin qu’ils soient pleinement exploitables.

Gestion de la clé secrète

Lors de votre inscription, BNP Paribas met à disposition sur l’extranet Mercanet Téléchargement, une clé secrète qui permet de sécuriser les échanges entre votre site et le serveur Mercanet. 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). 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 l’extranet Mercanet Téléchargement.

Remarque

C’est la même clé secrète qui est utilisée sur les différents connecteurs Paypage, Gestion Plus et Walletpage.

Contacter l’assistance technique

[Pour toute question technique ou demande d'assistance, cliquer ici pour plus d'informations.]


Comprendre le paiement avec Mercanet Gestion Plus JSON

Principe général

Le principe général d’un processus de paiement est le suivant:
Schema MGP.PNG

  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 Mercanet pour qu’il prenne en charge la transaction. Le serveur envoie une réponse pour que vous puissiez afficher le résultat du paiement.
  3. Vous affichez le ticket contenant le résultat du paiement.

Démonstration de Mercanet Gestion Plus

Paiement sans 3-D Secure

https://documentation.mercanet.bnpparibas.net/test/input_card.php

Paiement avec 3-D Secure

https://documentation.mercanet.bnpparibas.net/test/input_card_3ds.php

Kit de démarrage

Veuillez trouver ci-après des exemples de programmes plus complet écrit en PHP vous permettant de mettre en oeuvre l'appel des Web Service de Mercanet :

Kit pour le connecteur Gestion Plus JSON

Vous pourrez tester les différents moyens de paiement:

  • Paiement simple
  • Paiement differé
  • Paiement 3-D Secure
  • Paiement One click
  • Validation d'une transaction
  • Annulation d'une transaction
  • Remboursement d'une transaction
  • Duplication d'une transaction
  • ...

Mise en conformité par rapport à la réglementation MIF

Objectif

Le règlement européen « UE 2015/751 » introduit une obligation réglementaire concernant le choix de la marque pour les cartes dites "co-badgées" (cartes qui comportent deux marques de paiement).

Jusqu’alors la solution de paiement du site du commerçant sélectionnait automatiquement la marque de paiement utilisée pour la transaction.

Désormais, le règlement européen ouvre la possibilité au commerçant puis au porteur de choisir leur marque de paiement préférée.

[Pour en savoir plus sur cette réglementation, cliquer ici]

Impact

Si la carte est co-badgée ([CB/ Visa] ou [CB/ MasterCard], il faut permettre :

  • au commerçant de choisir une marque de carte par défaut [via ce site de choix de la marque],
  • au porteur de modifier le choix du commerçant s’il le souhaite
    (La marque choisie par le porteur est prise en compte pour le routage de la transaction).


Comment se mettre en conformité

Si vous utilisez l'offre Mercanet Gestion Plus pour saisir vous les données cartes directement sur votre site (sans passer la page de paiement déportée de Mercanet), vous devez :

  • Au niveau de la sélection du moyen de paiement :
    Regrouper les marques cobadgées (CB, VISA, MASTERCARD, VPay, Electron, Maestro) au niveau de la sélection du moyen de paiement
    Voici un exemple de rendu de regroupement des cartes cobadgées :
    Regroupement moyen paiement.PNG
  • Au niveau de la saisie des données cartes sur son site :
    • Récupérer le fichier de référentiel carte CNFFHV2 (RB 108 à fournir par BNP Paribas),
    • A partir de ce fichier, déterminer les marques de la carte et si elle est cobadgée,
    • Afficher dès la saisie du BIN de la carte, les marques associées à la carte du porteur,
    • Permettre au porteur de sélectionner la marque (si la carte est cobadgée) qui sera utilisée pour router la transaction,
    • Utiliser la nouvelle API Mercanet pour transmettre les données MIF,
    • Envoyer dans la requête à Mercanet, les champs ci-dessous :
      Champs Mercanet v1 Mercanet v2
      Le choix de la marque retenu pour le routage de la transaction card_type paymentMeanBrand
      Si le choix retenu provient de la sélection par le porteur ou de la valeur par défaut du marchand card_brand_selection_status paymentMeanBrandSelectionStatus

Démarrer avec Mercanet Gestion Plus en 5 étapes

Etape 1: Inscrire la boutique en production

Afin d’inscrire votre boutique en production, vous devez remplir le formulaire d’inscription envoyé par BNP Paribas et le retourner à ce dernier.

Lors de la saisie du formulaire, vous désignez un contact administratif et un contact technique afin que BNP Paribas puisse vous communiquer les informations nécessaires pour démarrer votre boutique.

BNP Paribas procède alors à l’enregistrement de la boutique et vous retourne votre identifiant commerçant (MerchantId) ainsi que vos identifiants et mots de passe Mercanet Download (récupération de la clé secrète) et Mercanet Extranet (gestion de caisse) par mail.

Remarque

Pour le Back Office Mercanet, l’identifiant et le mot de passe sont envoyés au contact administratif. Pour Mercanet Téléchargement, l’identifiant est envoyé au contact administratif et le mot de passe au contact technique.
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.


Etape 2: Utiliser les fonctions disponibles

Les différentes fonctions possibles font l’objet de requêtes spécifiques. Une requête est composée de champs génériques et de champs de type container. Un container est une 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 au chapitre dédié détaillant le contenu de tous les champs de ce type.

i

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

Une requête consiste en un appel d’un service Web REST (JSON) à la passerelle de paiement Mercanet. Tous les champs nécessaires pour chaque requête doivent être fournis.

Syntaxe de la requête

La requête est construite conformément au format JSON: {“<nom du champ>” : ”<nom de la valeur>”, “<nom du champ>” : “<nom de la valeur>”, “nom du champ” : “Nom de la valeur” etc., “seal” : “valeur de seal” }

Exemple d’une requête de paiement d’un montant de 3 euros :

{"amount" : "300","captureDay" : "0","captureMode" : "AUTHOR_CAPTURE","cardCSCValue" : "123","cardExpiryDate" : "201901","cardNumber" : "5017674000000002","currencyCode" : "978","interfaceVersion" : "IR_WS_2.20","keyVersion" : "1","merchantId" : "211000021310001","merchantTransactionDateTime" : "2018-03-14T10:40:22+02:00","orderChannel" : "INTERNET","orderId" : "123","returnContext" : "Mon contexte de retour","transactionOrigin" : "WEBTESTING","transactionReference" : "MercanetWS385305037","seal" : "60791ba500dc72e39a856db89243453d7c7f6336a52cd5815798b626dd1ec960"}

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 :

..,"shoppingCartDetail" : {"shoppingCartItemList" : [{"productCode" : "123","productName" : "apple"},{"productCode" : "456","productName" : "mango"}],"shoppingCartTotalAmount" : "1000"}, ..
Présence des champs de la requête

Certains champs de la requête de paiement ne sont obligatoires que :

  • Lors de l'utilisation de certains moyens de paiement, veuillez consulter le guide du moyen de paiement concerné pour savoir quels champs sont obligatoires
  • En fonction de la configuration de votre boutique, veuillez consulter le guide de configuration des fonctionnalités pour savoir quels champs sont obligatoires
  • Dans certains cas d'usages (ex: paiement récurrent), veuillez consulter le guide de configuration des fonctionnalités pour savoir quels champs sont obligatoires

Ces champs sont désignés avec la mention "conditionnel".

Sécurisation de la requête

Théoriquement, il est possible pour un pirate d’intercepter la requête et de modifier son contenu avant que les données n’atteignent le 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. La solution Mercanet répond à ce besoin par échange de signatures.
Un contrôle effectif de la signature comporte deux éléments:

  • l’intégrité des messages de requête et de réponse; l’absence de modifications lors de l’échange,
  • l’authentification de l’émetteur et du destinataire, car ils se partagent la même clé secrète.

Remarque

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 à Mercanet Téléchargement.

Comment sécuriser la requête

La sécurisation de la requête est effectuée en calculant la valeur «hashée» conformément aux paramètres de la transaction. 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 partage pas la même clé secrète.

Le résultat doit être envoyé sous forme hexadécimale la donnée nommée Seal.

Calcul de la donnée Seal

La valeur de la donnée Seal est calculée comme suit:
Pour l’algorithme HMAC-SHA :

  • Concaténation des valeurs des champs de données dans l’ordre alphabétique des noms de champs, sans intégrer les champs keyVersion et sealAlgorithm
  • 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))
Exemple de code
  • Exemple d’encodage Hmac Sha256 en Php 5
<?php

…

// Seal computation thanks to hash sorted data hash with merchant key
$data_to_send=$amount.$captureDay.$captureMode.$cardCSCValue.$cardExpiryDate.$cardNumber.$cardSeqNumber.$currency_code.$pb.$customerId.$customerIpAddress.$ivers.$mid.$merchantTransactionDateTime.$orderChannel.$orderId.$returnContext.$opeorig.$tref;

$data_to_send= utf8_encode($data_to_send)

$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

(Effectué à l’aide d’un simple formulaire nommé « Form1 » contenant deux champs texte pour saisir txtSips 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 = txtSips.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();
        }

    }
}

Fonction «cardOrder» du service «checkout»

Cette fonction vous permet d'effectuer un paiement carte avec les informations bancaires d'un client.

L’URL est: https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/cardOrder

Format de la requête cardOrder

Champ

Présence

A partir de la version

Commentaires

amount

Obligatoire

WS_2.3

captureDay

Facultatif

WS_2.3

captureMode

Facultatif

WS_2.3

cardCSCValue

Facultatif

WS_2.3

cardEffectiveDate

Facultatif

WS_2.3

cardExpiryDate

Obligatoire

WS_2.3

cardNumber

Obligatoire

WS_2.3

cardSeqNumber

Facultatif

WS_2.3

currencyCode

Obligatoire

WS_2.3

customerId

Facultatif

WS_2.3

customerIpAddress

Facultatif

WS_2.3

customerLanguage

Facultatif

WS_2.15

interfaceVersion

Obligatoire

WS_2.3

Doit être fixée à IR_WS_2.20

intermediateServiceProviderId

Facultatif

WS_2.12

invoiceReference

Facultatif

WS_2.3

keyVersion

Obligatoire

WS_2.3

subMerchantCategoryCode

Facultatif

WS_2.14

merchantId

Obligatoire

WS_2.3

subMerchantLegalId

Facultatif

WS_2.14

subMerchantShortName

Facultatif

WS_2.14

merchantTransactionDateTime

Facultatif

WS_2.3

orderChannel

Conditionnel

WS_2.3

Facultatif pour AccordKdo Obligatoire pour tous les autres moyens de paiement

orderId

Facultatif

WS_2.3

panType

Facultatif

WS_2.4

paymentMeanBrand

Facultatif

WS_2.2

paymentMeanBrandSelectionStatus

Facultatif

WS_2.13

Si ce champ est spécifié en entrée, paymentMeanBrand est obligatoire.

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 de mise en œuvre du moyen de paiement concerné.

returnContext

Facultatif

WS_2.3

seal

Obligatoire

WS_2.0

sealAlgorithm

Facultatif

WS_2.11

statementReference

Facultatif

WS_2.3

subMerchantId

Facultatif

WS_2.14

transactionReference

Facultatif

WS_2.6

transactionOrigin

Facultatif

WS_2.3

billingAddress

Facultatif

WS_2.3

Voir la partie Containers.

billingContact

Facultatif

WS_2.3

Voir la partie Containers.

customerAddress

Facultatif

WS_2.3

Voir la partie Containers.

customerContact

Facultatif

WS_2.3

Voir la partie Containers.

deliveryAddress

Facultatif

WS_2.3

Voir la partie Containers.

deliveryContact

Facultatif

WS_2.3

Voir la partie Containers.

deliveryData

Facultatif

WS_2.19

Voir la partie Containers.

authenticationData

Facultatif

WS_2.3

Voir la partie Containers.

customerData

Facultatif

WS_2.3

Voir la partie Containers.

fraudData

Facultatif

WS_2.3

Voir la partie Containers.

holderAddress

Facultatif

WS_2.3

Voir la partie Containers.

holderContact

Facultatif

WS_2.3

Voir la partie Containers.

holderData

Facultatif

WS_2.5

Voir la partie Containers.

subMerchantAddress

Facultatif

WS_2.14

Voir la partie Containers.

paymentMeanData

Facultatif

WS_2.5

Voir la partie Containers.

s10TransactionReference

Facultatif

WS_2.6

Voir la partie Containers.

riskManagementCustomDataList

Facultatif

WS_2.8

Voir la partie Containers.

shoppingCartDetail

Facultatif

WS_2.8

Voir la partie Containers.

orderContext

Facultatif

WS_2.19

Voir la partie Containers.

travelContext

Facultatif

WS_2.19

Voir la partie Containers.

  • Exemple de requête cardOrder pour un montant de 3 euros
{"amount" : "300","captureDay" : "0","captureMode" : "AUTHOR_CAPTURE","cardCSCValue" : "123","cardExpiryDate" : "201901","cardNumber" : "5017674000000002","currencyCode" : "978","interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","merchantTransactionDateTime" : "2018-03-14T10:40:22+02:00","orderChannel" : "INTERNET","orderId" : "123","returnContext" : "Mon contexte de retour","transactionOrigin" : "WEBTESTING","transactionReference" : "MercanetWS385305037","seal" : "60791ba500dc72e39a856db89243453d7c7f6336a52cd5815798b626dd1ec960"}
Format de la réponse à la requête cardOrder

Champ

A partir de la version

Commentaires

acquirerResponseIdentifier

WS_2.5

acquirerResponseMessage

WS_2.5

acquirerResponseCode

WS_2.3

Uniquement en cas de refus lors du contrôle de pré-autorisation

authorisationId

WS_2.3

Uniquement en cas d’approbation

avsAddressResponseCode*

WS_2.3

avsPostcodeResponseCode*

WS_2.3

captureDay

WS_2.15

captureMode

WS_2.15

cardCSCResultCode

WS_2.3

cardData

WS_2.9

Voir la partie Containers.

cardScheme

WS_2.3

complementaryCode

WS_2.3

complementaryInfo

WS_2.3

guaranteeIndicator

WS_2.3

holderAuthentRelegationCode*

WS_2.3

holderAuthentStatus*

WS_2.3

maskedPan

WS_2.3

paymentMeanBrandSelectionStatus

WS_2.13

preAuthorisationProfile

WS_2.13

preAuthorisationProfileValue

WS_2.13

preAuthorisationRuleResultList

WS_2.13

Liste d’objets preAuthorisationRuleResult; voir la partie Container

recurringResponseCode*

WS_2.3

responseCode

WS_2.3

returnContext

WS_2.3

Valeur transférée à la requête de paiement.

s10TransactionReference

WS_2.6

Voir la partie Containers.

seal

WS_2.0

scoreColor*

WS_2.3

scoreInfo*

WS_2.3

scoreProfile*

WS_2.3

scoreThreshold*

WS_2.3

scoreValue*

WS_2.3

transactionDateTime

WS_2.3

transactionPlatform

WS_2.17

Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

transactionReference

WS_2.6

tokenPan

WS_2.3

paymentMeanData

WS_2.5

Voir la partie Containers.

paymentMeanTradingName

WS_2.5

authorMessageReference

WS_2.19

Remplace le acquirerResponseIdentifier

authorisationTypeLabel

WS_2.19

Usage futur (MPADS)

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

  • Exemple de réponse cardOrder
{"acquirerResponseCode":"00","authorisationId":"728743","cardScheme":"VISA","complementaryCode":"00","complementaryInfo":"","holderAuthentRelegationCode":"N","holderAuthentStatus":"NO_AUTHENT","maskedPan":"5017##########02","responseCode":"00","returnContext":"Mon contexte de retour","scoreProfile":"11_GONOGO_PRE_AUTHORISATION","transactionDateTime":"2018-03-14T11:40:22+01:00","s10TransactionReference":{"s10TransactionId":"64","s10TransactionIdDate":"20180314"},"transactionReference":"MercanetWS385305037","cardData":{"cardScheme":"VISA","cardBrand":"VISA","cardProductCode":"F","cardProductName":"VISA NON 3D FR","issuerCode":"20041","issuerCountryCode":"FRA"},"seal":"d6e5a2073923f6512d3d134a87abe0e5f84fb8b1fba9c2442cf1b139a722a726","preAuthorisationProfile":"11_GONOGO_PRE_AUTHORISATION","preAuthorisationProfileValue":"unknown","captureDay":0,"captureMode":"AUTHOR_CAPTURE","transactionPlatform":"PROD","authorMessageReference":"022691"}

Fonction «refund» du service «cashManagement»

Cette opération vous permet de rembourser une transaction en créditant le compte du client et en débitant votre compte.

L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/refund Remarque

Toute opération REFUND traitée entre 22 heures et 23 heures (heure locale française) retourne automatiquement un code réponse 24. L’opération n’est pas traitée.

Format de la requête refund

Champ

Présence

A partir de la version

Commentaires

operationAmount

Obligatoire

WS_2.3

currencyCode

Obligatoire

WS_2.3

keyVersion

Obligatoire

WS_2.3

merchantId

Obligatoire

WS_2.3

operationOrigin

Facultatif

WS_2.3

interfaceVersion

Obligatoire

WS_2.3

Doit être fixée à CR_WS_2.20

intermediateServiceProviderId

Facultatif

WS_2.12

s10TransactionReference

Conditionnel

WS_2.6

Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers

transactionReference

Facultatif

WS_2.6

paymentMeanData

Facultatif

WS_2.5

Voir la partie Containers.

seal

Obligatoire

WS_2.0

sealAlgorithm

Facultatif

WS_2.11

shoppingCartDetail

Facultatif

WS_2.11

Voir la partie Containers.

customerContact

Facultatif

WS_2.20

Voir la partie Containers.

  • Exemple de requête refund
  • {"currencyCode":"978","interfaceVersion":"CR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","operationAmount":50,"operationOrigin":"BATCH","transactionReference":"W18013134CN","seal":"cbb302b2cb3cd605c7729d0aaee8af24941e4f0bace6daede3bd5423080e2251"}
    
    Format de la réponse à la requête refund
    </td> </tr>

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    newAmount

    WS_2.3

    newStatus

    WS_2.3

    operationDateTime

    WS_2.3

    responseCode

    WS_2.3

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête refund
    {"authorisationId":"742560","newAmount":550,"newStatus":"TO_CREDIT","operationDateTime":"2018-03-14T14:05:35+01:00","responseCode":"00","seal":"d8fd13df5703e723f9392e66642fc24bb745f7f649164ea2a10d87bd48835cb9"}
    

    Fonction «validate» du service «cashManagement»

    Cette fonction permet de déclencher la remise en paiement d’une transaction. Elle vous permet de faire du paiement différé en débitant votre client à l’expédition des produits achetés.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/validate


    Format de la requête validate

    Champ

    Présence

    A partir de la version

    Commentaires

    operationAmount

    Obligatoire

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    keyVersion

    Obligatoire

    WS_2.3

    subMerchantAddress

    Facultatif

    WS_2.14

    Voir la partie Containers.

    subMerchantCategoryCode

    Facultatif

    WS_2.14

    merchantId

    Obligatoire

    WS_2.3

    subMerchantLegalId

    Facultatif

    WS_2.14

    subMerchantShortName

    Facultatif

    WS_2.14

    operationOrigin

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    La valeur préconisée est CR_WS_2.26 afin de bénéficier des dernières fonctionnalités

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    s10TransactionReference

    Facultatif

    WS_2.6

    Obligatoire si vous n'utilisez pas le transactionReference, dépend de votre configuration commerçant. Voir la partie Containers

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    subMerchantId

    Facultatif

    WS_2.14

    transactionReference

    Conditionnel

    WS_2.6

    Obligatoire si vous n'utilisez pas le s10TransactionReference, dépend de votre configuration commerçant

    lastRecoveryIndicator

    Facultatif

    WS_2.16

    • Exemple de requête validate
    {"currencyCode":"978","interfaceVersion":"CR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","operationAmount":100,"operationOrigin":"BATCH","transactionReference":"test187386","seal":"f296f496b8df93a2ab8d3e0b3a92ae66d54ed55af19c96afc75d2b2d178f5546"}
    
    Format de la réponse validate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    newAmount

    WS_2.3

    newStatus

    WS_2.3

    operationDateTime

    WS_2.3

    responseCode

    WS_2.3

    seal

    WS_2.0

    captureLimitDate

    WS_2.0

    errorFieldName

    WS_2.21


    • Exemple de réponse à une requête validate
    {"authorisationId":"873542","newAmount":100,"newStatus":"TO_CAPTURE","operationDateTime":"2018-03-14T14:32:54+01:00","responseCode":"00","captureLimitDate":"20180314","seal":"5f7aead97f0b7c5785496cfeda47bcca4f42b52d3af76ef91b13e2d60a981d29"}
    

    Fonction «duplicate» du service «cashManagement»

    Cette fonction permet de créer une nouvelle transaction à partir des données d'une transaction précédente À titre d'exemple, si une transaction n'a – par erreur ou omission – pu être validée dans le délai de capture que vous avez renseigné, elle a expiré et ne sera donc pas envoyée en remise en paiement. Vous pouvez alors rattraper cette transaction en la dupliquant.

    L’URL est: https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/duplicate

    Format de la requête duplicate

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.3

    authenticationData

    Facultatif

    WS_2.17

    Voir la partie Containers.

    captureDay

    Obligatoire

    WS_2.3

    captureMode

    Obligatoire

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    customerEmail

    Facultatif

    WS_2.3

    customerId

    Facultatif

    WS_2.3

    customerIpAddress

    Facultatif

    WS_2.3

    deliveryAddress

    Facultatif

    WS_2.1

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.1

    Voir la partie Containers.

    deliveryData

    Facultatif

    WS_2.5

    Voir la partie Containers.

    fromMerchantId

    Facultatif

    WS_2.3

    fromTransactionReference

    Obligatoire

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    subMerchantAddress

    Facultatif

    WS_2.14

    Voir la partie Containers.

    subMerchantCategoryCode

    Facultatif

    WS_2.14

    merchantId

    Obligatoire

    WS_2.3

    subMerchantLegalId

    Facultatif

    WS_2.14

    subMerchantShortName

    Facultatif

    WS_2.14

    merchantTransactionDateTime

    Facultatif

    WS_2.3

    orderChannel

    Facultatif

    WS_2.3

    orderId

    Facultatif

    WS_2.3

    returnContext

    Facultatif

    WS_2.3

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    s10FromTransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.17

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    shoppingCartDetail

    Facultatif

    WS_2.5

    Voir la partie Containers.

    statementReference

    Facultatif

    WS_2.2

    subMerchantId

    Facultatif

    WS_2.14

    transactionOrigin

    Facultatif

    WS_2.3

    transactionReference

    Facultatif

    WS_2.3

    fraudData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    paymentMeanData

    Facultatif

    WS_2.12

    Voir la partie Containers.

    orderContext

    Facultatif

    WS_2.19

    Voir la partie Containers

    travelContext

    Facultatif

    WS_2.19

    Voir la partie Containers

    • Exemple de requête duplicate
    {"amount":100,"captureDay":"0","captureMode":"AUTHOR_CAPTURE","currencyCode":"978","fromMerchantId":"211000021310001","fromTransactionReference":"MercanetWS708824507","interfaceVersion":"CR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","orderChannel":"INTERNET","returnContext":"return","transactionReference":"dupli375402","seal":"4ce1bf695f982fb59344c9d5d85f5e6a131e33ab85c2b991fbd506fba12cf9b2"}
    
    Format de la réponse duplicate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    scoreColor*

    WS_2.3

    cardData*

    WS_2.9

    Voir la partie Containers.

    complementaryCode

    WS_2.3

    complementaryInfo

    WS_2.3

    maskedPan*

    WS_2.1

    panExpiryDate*

    WS_2.1

    paymentMeanBrand

    WS_2.1

    paymentMeanBrandSelectionStatus

    WS_2.13

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult, Voir la partie Containers.

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreInfo*

    WS_2.3

    scoreProfile*

    WS_2.3

    scoreThreshold*

    WS_2.3

    scoreValue*

    WS_2.3

    seal

    WS_2.0

    responseCode

    WS_2.3

    transactionDateTime

    WS_2.3

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.6

    avsPostcodeResponseCode

    WS_2.17

    avsAddressResponseCode

    WS_2.17

    errorFieldName

    WS_2.21

    * : ces champs sont fournis lorsqu’ils sont disponibles, ce qui est fonction de l’état de la transaction et du moyen de paiement choisi.

    • Exemple de réponse à une requête duplicate
    {"acquirerResponseCode":"00","authorisationId":"280163","complementaryCode":"00","complementaryInfo":"","maskedPan":"5017##########02","panExpiryDate":"201912","paymentMeanBrand":"VISA","scoreProfile":"11_GONOGO_PRE_AUTHORISATION","responseCode":"00","transactionDateTime":"2018-03-14T14:36:24+01:00","s10TransactionReference":{"s10TransactionId":"112","s10TransactionIdDate":"20180314"},"transactionReference":"dupli375402","cardData":{"cardScheme":"VISA","cardProductCode":"F","cardProductName":"VISA CLASSIC","issuerCode":"20041","issuerCountryCode":"FRA"},"seal":"0f83be1ab9efcb39158e134cca871cec77d43b9c1839d275ba80fc62ac796003","preAuthorisationProfile":"11_GONOGO_PRE_AUTHORISATION","preAuthorisationProfileValue":"unknown","transactionPlatform":"PROD"}
    

    Fonction «cancel» du service «cashManagement»

    Cette fonction permet d’annuler une transaction avant l’envoi en banque ou de modifier son montant. Une opération d’annulation ne peut pas être annulée et on ne peut pas annuler un montant supérieur au montant d’origine de la transaction.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/cancel

    i

    Toute opération CANCEL traitée entre 22h et 23h (heure locale française) retourne automatiquement un code réponse 24. L’opération n’est pas traitée.

    Format de la requête cancel

    Champ

    Présence

    A partir de la version

    Commentaires

    operationAmount

    Obligatoire

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    operationOrigin

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.6

    customerContact

    Facultatif

    WS_2.20

    Voir la partie Containers.

    • Exemple de requête cancel
    {"currencyCode":"978","interfaceVersion":"CR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","operationAmount":100,"operationOrigin":"BATCH","transactionReference":"test115907","seal":"d1660287e488aa2cc0ea59171c66f56bddd0310562101a29c4bac7fe5db0d754"}
    
    Format de la réponse cancel

    Champ

    A partir de la version

    Commentaires

    newAmount

    WS_2.3

    newStatus

    WS_2.3

    operationDateTime

    WS_2.3

    responseCode

    WS_2.3

    seal

    WS_2.0

    acquirerResponseCode

    WS_2.20

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête cancel
    {"newAmount":0,"operationDateTime":"2018-03-14T14:41:11+01:00","responseCode":"00","newStatus":"CANCELLED","seal":"b05b9327c8f77b0bc9ff4b3c3d031af5843e53c525f4914600efb8ea828825be"}
    

    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 Mercanet et stockée dans la base de données Mercanet.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/diagnostic/getTransactionData

    Format de la requête getTransactionData

    Champ

    Présence

    A partir de la version

    Commentaires

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à DR_WS_2.26

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.6

    • Exemple de requête getTransactionData
    {"interfaceVersion":"DR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","transactionReference":"test831585","seal":"b50c76105561d4a2d23313ee5a6654dfbefec34ac6908d7d35e48fdc8ebe4828"}
    
    Format de la réponse getTransactionData

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.19

    acquirerResponseMessage

    WS_2.9

    authorisationId

    WS_2.3

    automaticResponseStatus

    WS_2.3

    avsAddressResponseCode*

    WS_2.17

    avsPostcodeResponseCode*

    WS_2.17

    cardCSCResultCode

    WS_2.17

    captureLimitDate

    WS_2.3

    cardData

    WS_2.9

    Voir la partie Containers.

    complementaryCode

    WS_2.13

    currencyCode

    WS_2.3

    currentAmount

    WS_2.3

    customerId

    WS_2.3

    customerIpAddress

    WS_2.3

    dccStatus

    WS_2.3

    fromTransactionReference

    WS_2.3

    getTransDataResponseCode

    WS_2.19

    Code réponse de l’opération réalisée

    holderAuthentMethod

    WS_2.3

    holderAuthentProgram

    WS_2.3

    holderAuthentStatus

    WS_2.3

    lastOperationDateTime

    WS_2.3

    lastOperationName

    WS_2.3

    maskedPan

    WS_2.3

    merchantId

    WS_2.3

    orderChannel

    WS_2.3

    orderId

    WS_2.3

    originAmount

    WS_2.3

    panEntryMode

    WS_2.3

    panExpiryDate

    WS_2.3

    paymentAttemptNumber

    WS_2.19

    paymentMeanBrand

    WS_2.3

    paymentMeanType

    WS_2.3

    paymentPattern

    WS_2.3

    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

    remainingAmount

    WS_2.3

    responseCode

    WS_2.3

    Code réponse Mercanet associé à la transaction

    s10FromTransactionReference

    WS_2.6

    Voir la partie Containers.

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreColor

    WS_2.13

    scoreProfile

    WS_2.13

    scoreThreshold

    WS_2.13

    scoreValue

    WS_2.13

    seal

    WS_2.0

    tokenPan

    WS_2.3

    transactionDateTime

    WS_2.3

    transactionReference

    WS_2.6

    transactionStatus

    WS_2.3

    walletType

    WS_2.3

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête getTransactionData
    {"automaticResponseStatus":"FAILED","authorisationId":"660656","captureLimitDate":"20180314","paymentMeanType":"CARD","paymentMeanBrand":"VISA","currencyCode":"978","currentAmount":100,"customerIpAddress":"159.50.16.167","lastOperationDateTime":"2018-03-14T14:51:07+01:00","lastOperationName":"CREATE_DEBIT","originAmount":100,"transactionDateTime":"2018-03-14T14:51:07+01:00","responseCode":"00","transactionStatus":"TO_CAPTURE","orderChannel":"INTERNET","paymentPattern":"ONE_SHOT","merchantId":"211000021310001","panEntryMode":"MANUAL","holderAuthentMethod":"NOT_SPECIFIED","holderAuthentStatus":"NOT_ENROLLED","holderAuthentProgram":"3DS","remainingAmount":0,"maskedPan":"5017##########01","panExpiryDate":"201901","s10TransactionReference":{"s10TransactionId":"118","s10TransactionIdDate":"20180314"},"transactionReference":"test831585","cardData":{"cardScheme":"VISA","cardProductCode":"F","cardProductName":"VISA NON 3D FR","issuerCode":"20041","issuerCountryCode":"FRA"},"seal":"6040722a6df2b8ff180c7eb95b9be11cb4124ce8484dde02e87eee1a76726e61","complementaryCode":"00","preAuthorisationProfile":"11_GONOGO_PRE_AUTHORISATION","preAuthorisationProfileValue":"unknown","scoreProfile":"11_GONOGO_PRE_AUTHORISATION","getTransDataResponseCode":"00","acquirerResponseCode":"00","paymentAttemptNumber":1}
    

    Fonction «getFraudData» du service «diagnostic»

    Cette opération permet de récupérer des informations relatives au contrôle anti-fraude d'une transaction créée préalablement à l'aide de Mercanet et stockée dans la base de données Mercanet.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/diagnostic/getFraudData

    Format de la requête getFraudData

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.13

    Doit être fixée à DR_WS_2.26

    intermediateServiceProviderId

    Facultatif

    WS_2.13

    keyVersion

    Obligatoire

    WS_2.13

    merchantId

    Obligatoire

    WS_2.13

    s10TransactionReference

    Facultatif

    WS_2.13

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.13

    sealAlgorithm

    Facultatif

    WS_2.13

    transactionReference

    Facultatif

    WS_2.13

    • Exemple de requête getFraudData
    {"interfaceVersion":"DR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","transactionReference":"test831585","seal":"b50c76105561d4a2d23313ee5a6654dfbefec34ac6908d7d35e48fdc8ebe4828"}
    
    Format de la réponse getFraudData

    Champ

    A partir de la version

    Commentaires

    complementaryCode

    WS_2.13

    fraudResponseCode

    WS_2.13

    preAuthenticationColor

    WS_2.13

    preAuthenticationProfile

    WS_2.13

    preAuthenticationProfileValue

    WS_2.13

    preAuthenticationRuleResultList

    WS_2.13

    Voir la partie Containers.

    preAuthenticationThreshold

    WS_2.13

    preAuthenticationValue

    WS_2.13

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    scoreColor

    WS_2.13

    scoreProfile

    WS_2.13

    scoreThreshold

    WS_2.13

    scoreValue

    WS_2.13

    seal

    WS_2.13

    seal

    WS_2.21

    • Exemple de réponse à une requête getFraudData
    {"fraudResponseCode":"00","preAuthorisationProfile":"MP0050","preAuthorisationRuleResultList":[{"ruleCode":"CA","ruleType":"N","ruleWeight":"4","ruleSetting":"S","ruleResultIndicator":"-4","ruleDetailedInfo":"MIN=1000:2000;MAX=1000:100000"},{"ruleCode":"PE","ruleType":"N","ruleWeight":"4","ruleSetting":"S","ruleResultIndicator":"0","ruleDetailedInfo":"EXPIRY=1216:0616"},{"ruleCode":"EC","ruleType":"N","ruleWeight":"2","ruleSetting":"N","ruleResultIndicator":"U"}],"scoreColor":"BLACK","scoreProfile":"MP0050","scoreThreshold":"-17;-8","scoreValue":"-4.0","seal":"0c67850db20d23c8efd5f186c8f03104b697f1b4f49ef18af18cddf74b01bcbb"}
    

    Fonction «cardCheckEnrollment» du service «checkout»

    Cette opération permet d’initialiser un paiement par carte avec processus3D-Secure. Sauf mention contraire, toute référence à 3D 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 Mercanet et contrôle l'inscription de la carte. Si la carte est inscrite à 3D-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 le chapitre "Formulaire POST vers l’ACS".

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/cardCheckEnrollment

    Format de la requête cardCheckEnrollment

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.9

    captureDay

    Facultatif

    WS_2.9

    captureMode

    Facultatif

    WS_2.9

    cardCSCValue

    Facultatif

    WS_2.9

    cardExpiryDate

    Facultatif

    WS_2.9

    cardNumber

    Obligatoire

    WS_2.9

    currencyCode

    Obligatoire

    WS_2.9

    customerId

    Facultatif

    WS_2.9

    customerIpAddress

    Facultatif

    WS_2.9

    customerLanguage

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    invoiceReference

    Facultatif

    WS_2.9

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    merchantName

    Facultatif

    WS_2.9

    merchantReturnUrl

    Facultatif

    WS_2.9

    merchantTransactionDateTime

    Facultatif

    WS_2.9

    merchantUrl

    Facultatif

    WS_2.9

    orderChannel

    Obligatoire

    WS_2.9

    orderId

    Facultatif

    WS_2.9

    panType

    Facultatif

    WS_2.11

    paymentMeanBrand

    Facultatif

    WS_2.13

    paymentMeanBrandSelectionStatus

    Facultatif

    WS_2.13

    Si ce champ est spécifié en entrée, paymentMeanBrand est obligatoire.

    paymentPattern

    Facultatif

    WS_2.9

    returnContext

    Facultatif

    WS_2.9

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.9

    transactionOrigin

    Facultatif

    WS_2.9

    transactionReference

    Facultatif

    WS_2.9

    authenticationData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    billingAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryData

    Facultatif

    WS_2.19

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    paymentMeanData

    Facultatif

    WS_2.19

    Voir la partie Containers.

    orderContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    travelContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    shoppingCartDetail

    Facultatif

    WS_2.19

    Voir la partie Containers.

    customerAccountHistoric

    Facultatif

    WS_2.23

    Voir la partie Containers.

    • Exemple de requête cardCheckEnrollment
    {"amount":100,"cardCSCValue":"123","cardExpiryDate":"202001","cardNumber":"5017674000000002","currencyCode":"978","interfaceVersion":"IR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","orderChannel":"INTERNET","transactionReference":"MercanetWS479020370","seal":"4642d246d11b96ed1fe078d404b7e4089f96c3b53bfbaddbc586778b761485cf"}
    
    Format de la réponse cardCheckEnrollment

    Champ

    A partir de la version

    Commentaires

    errorFieldName

    WS_2.9

    messageVersion

    WS_2.9

    paReqMessage

    WS_2.9

    paymentMeanBrandSelectionStatus

    WS_2.13

    redirectionData

    WS_2.9

    redirectionStatusCode

    WS_2.9

    redirectionUrl

    WS_2.9

    seal

    WS_2.0

    responseCode

    WS_2.23

    • Exemple de réponse à une requête cardCheckEnrollment
    {"redirectionUrl":"https://acqsim.test.sips-atos.com/acs-simu/acsservlet;jsessionid=wRjPkEVSA5p1eiUqvN9kJcEA.26v?Network=visa&uid=0c11fedbc68148dda0ca46a000d67782","paReqMessage":"eJxVUdtygjAQ/RWG50oSLoLOEoeWduoDai0+d5iQUToCGqCgj/2eflW/pAlibfOye/ZysnsWZl2+1z64qLKy8HViYF3jBSvTrNj6+iZ+Gnn6jEK8E5yHr5w1glOIeFUlW65lqa8HdVmNliLbZsUbcYg19iYudsamqVNYBWt+pDCwU0lumICuUNIItkuKmkLCjvfzBbUnro0xoAFCzsU8pCYhWD6TWMoSQJcwFEnO6doNI0C9C6xsilqcqOlIjiuARuzprq4PU4TatjVkM0tqXtWVwcockEoDuo2yapRXSbouS2n0HnTLMDhH8Uu7CCMchY9WFG/I4rzxAakKSCUbNTHxsEVsjThTy56qKfs4JLmag5I7jLXvzy+52yUAB/VPMGTV0n8DIHUW8gwnOnE9ucsVAe8OZcFlhdTx1wd0G/rhWanJainQxSg1e6h6M6VOr+EAAKkGNBwKDYeV3r+D/wAkdrQn","redirectionData":"RvB0yBbtqAE2sLanh+F1L8J16l/UIsVGZ9o3cVttIU2UsJwYSagY/azb36TBVa51lhtNc9YeYNufcIJYSYwDmQnK5Hj3pZ3OFCqlrN8R8gHrdLapUVi6AyBkhoFjag58+xPbujp8+JIXqfaVJhmyc0azj8hfi8gbBSpYqoDJZXp8VyBQo/4qOsUyySm3Euax1L5DfOSUSw4aIe29tgusv/cowv5/TAbw/Sf0jY2zzcIpt74dumkeaZwwsPGlkH1L0l6wjiKa8p8MZv1F4Npuhh9rAa7xVk7GNtwedl38+7wxPQVh8bZ/y+Af4HFkKQUc+Pov9AXUzmKlbZVw8STuMh6U8SbPrm5eOZk9BCi03SO5QtBMhDN9eTp0n5FIdc5akFDAKxXkWW7pIcTKGJ2GXpLVgvKAX49aTAqP4ueXglUFzEsNz+y17DSx5cAdVBgYmW3cdddvmPQpAtwSbdV283ewVFAixSWB+sga/S2ciAWEaV3QhfzhykWeg2RB87ccdKKnNz3IzBnVvs1QcVJznBxhllVrA5QZ0Ui+DBE10uLwYoee4SzBeuQB+N2cbI1NTFwB0Zo//OS0HVniNib13m/hxHZyrb1hOIcRQ8JsPPcudRWLNUVSPQd6h+E8wOej/cQwJnER2R6nZg3req83wM9ZeeGY7gxM6u778Xp/tCUbDQ/T1CgF4GL03qoexcXI","redirectionStatusCode":"00","messageVersion":"0.1","seal":"92873a44b42334b08ef84b2be4b58799e7b8f1622b3ff2a284629d3d9f868d8d"}
    

    Fonction «walletCheckEnrollment» du service «checkout»

    Cette opération permet d’initialiser un paiement par wallet avec le processus3D-Secure. Sauf mention contraire, toute référence à 3D 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 Mercanet et vérifie si la carte récupérée à partir du portefeuille électronique est inscrite au programme 3D-Secure. Si la carte est inscrite à 3D-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 le chapitre "Formulaire POST vers l’ACS". L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/walletCheckEnrollment

    Format de la requête walletCheckEnrollment

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.9

    captureDay

    Facultatif

    WS_2.9

    captureMode

    Facultatif

    WS_2.9

    cardCSCValue

    Facultatif

    WS_2.9

    currencyCode

    Obligatoire

    WS_2.9

    customerId

    Facultatif

    WS_2.9

    customerIpAddress

    Facultatif

    WS_2.9

    customerLanguage

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.26

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    invoiceReference

    Facultatif

    WS_2.9

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    merchantName

    Facultatif

    WS_2.9

    merchantReturnUrl

    Facultatif

    WS_2.9

    merchantTransactionDateTime

    Facultatif

    WS_2.9

    merchantUrl

    Facultatif

    WS_2.9

    merchantWalletId

    Obligatoire

    WS_2.9

    orderChannel

    Obligatoire

    WS_2.9

    orderId

    Facultatif

    WS_2.9

    paymentMeanId

    Obligatoire

    WS_2.9

    paymentPattern

    Facultatif

    WS_2.9

    returnContext

    Facultatif

    WS_2.9

    Seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.9

    transactionOrigin

    Facultatif

    WS_2.9

    transactionReference

    Facultatif

    WS_2.9

    authenticationData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    billingAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    orderContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    travelContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    shoppingCartDetail

    Facultatif

    WS_2.19

    Voir la partie Containers.

    • 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

    errorFieldName

    WS_2.9

    messageVersion

    WS_2.9

    paReqMessage

    WS_2.9

    redirectionData

    WS_2.9

    redirectionStatusCode

    WS_2.9

    redirectionUrl

    WS_2.9

    seal

    WS_2.0

    responseCode

    WS_2.23

    • Exemple de réponse à une requête walletCheckEnrollment
    {"redirectionUrl":"http://www.acssiteweb.com","paReqMessage":"eJxVUU1zgj...Rv8P/AJQjttc=","redirectionData":"uqjeV+Keg...MAwXk2jDJAe2TI=","redirectionStatusCode":"00","messageVersion":"0.1","seal":"3c40cf8c12a8eebdfc114c83db8f944b77932b03814d8bf43ea792c20d05e7a6"}
    

    Fonction «cardValidateAuthenticationAndOrder» du service «checkout»

    Cette opération permet de finaliser un ordre de paiement avec un processus 3D-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 3D-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 le chapitre sur l’envoi du formulaire POST à l’ACS).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/cardValidateAuthenticationAndOrder

    Format de la requête cardValidateAuthenticationAndOrder

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    messageVersion

    Obligatoire

    WS_2.9

    paResMessage

    Obligatoire

    WS_2.9

    L'algorithme standard «Url Encode» doit être appliqué au champ paResMessage reçu de l’ACS.

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.9

    redirectionData

    Obligatoire

    WS_2.9

    • Exemple de requête cardValidateAuthenticationAndOrder
    {"interfaceVersion":"IR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","messageVersion":"0.1","paResMessage":"eJydVV2zojgQ%2FSu33EfrDiCgMoVMBQJe1KggH%2BrLFkJElC8BBfn1G3XmXndqHraWKorOyUn36aSbiD%2BaJH674qKMsnTUYb7RnTec%2BlkQpeGoY1va%2B7DzQxKtQ4ExXGH%2FUmBJRLgsvRC%2FRcGoA6qsfF8UURilfzM8w%2FaHAssLLM10JHEJTFw%2BWA%2BL6bEcT%2BCf0SQS7FtPpH4NidvCP3hpJYmef5b1ucQJA46mRernUExwoUOpxzA0eXoMe%2F8yIvWERepr%2FfJyt0oitYkCCR1Bs4CgRZZRz6HBoBb15kedncNwJFJ3hhh4FZZ6NDOkWYZ7Y%2FjvHP%2BdZUXqgYv53R1IsgvxzdwFvQIi2ZOCbNlNEgZDkfocibjJsxQTBsnx0xapL225l0o8zQz69yyfD6HeUdFaS2IVJa%2Ba%2Bg9NJMIDF8vKqy6ltBGpn5boe9erZNCa65zmshNvoeFs3a%2FxhuT6oIjYjySaJ6LI97EKxGFWRNUhkZgn5wsQqbsU6nF%2BkriKwpQEK%2FAbqZq0HHUOVZV%2Fp6i6rr%2FV7LesCKkeyYKiBYoQgjIK%2F%2Bo8V%2BFAT%2FeZJCpemqWR78VR61Xk1BGuDlnw9hnwTy4t8%2B6VoUxVeSdu332GS9%2FvCNkYvkO9yPov3n4XWJTee3nwmLsjE%2B%2Fx%2FfTwm23qo85f%2FypbGIW4rP5PiF%2Funx4cL75gqbjimxoO0dEfX2VB%2B%2FCZ2WZqd%2BcprZKDemWK1KcsYr9u5mfeT%2BL2cmRSQO0jGZjxbDZUWTipQN0Hq2WhX8fmDvhh5U%2BoFLm9RFgE6%2FHq8lGhbXTb28nJdh1zB91ier2WcctVOwv3Zwe53CfR%2BlxHdHxJdX%2BdeMHWJ1Pz8dHdmgUE6lSHLUU7bBPwSxwc%2FJWxnFRDK9fLfDL10mvI35Syrj8mPiqm%2FdQ%2Fa%2B1aHz0TeREvTvHtmdWapwXoVd7TUnBRRXtSMaQRka4rVqsoYBcqigEHZ8%2BtZu1yfLXAXA5P58MpGgs1LQPD1gCUS2SUtWJsoGMYY7WejO2j6iAZjQFjqwqokTUWcj9i4kBhoDd2bsjgagge%2FA8IHGV3n29VG8n6c01Yz4y1efVv8tInDeC5XKNDgOVw7sgAIY3WoH2TLc8NLp7Lp7o6j%2F3UzLdJfNyszRjJ3BpaKoPgiQRX6cerZQRDBAvbF6zeQXWGwOkRVz4gxYz1RrOA9YwVIqg2V2%2BtV9u1URm9Q%2Bwf1QUC9ZNf15qR3OdRo0Gweq7JkEJr9I5FocVO8m0vvqAVqD%2FCR74QyoFMfo2h3YvTXRJftjcZbtcT2nO3%2Baan0VtLkdP2931WNQAW8tEAdbg5KeFGBZeUI1RlOpSXcXeM7PbcTKv9UW9Uiw1O3cg%2F5mUMTRqduWEPz5ep6QX6frbPtFrfZcniOFbOfirQZT5PZ8LSQUwreHZj97aY4VwzX86TtEgObnepCqbAns0xWNO8dc6y1rnIC6o%2BOKnnhNR%2BCYbW4WNg68y8WfWXYZFHcYaFhdHUGY%2BOrYZICagA%2FKl2SE6hAdg2Wk8wmwE4DTw%2FEOJ20EaWWw5lbpwoW5ZvPgQKbsyijT2495JwYRuBsejH3S7PTmD3WrDdYKcF524jW1GfvbqbveNyqKFmWrqPtXk8xQ5g1eEtt7FyobnlTYvzQWEZgzHvn6rBDYfpxwLq0zMdeo3WFJXdgNNhUVPAO8NLlz9x2OgWjm%2BMSEP93i1P5NlJ1Gd3ffXd48Z8XOT3v%2FzrBf8PxGan%2BA%3D%3D","redirectionData":"RvB0yBbtqAE2sLanh+F1L8J16l\/UIsVGZ9o3cVttIU2UsJwYSagY\/azb36TBVa51lhtNc9YeYNufcIJYSYwDmQnK5Hj3pZ3OFCqlrN8R8gHrdLapUVi6AyBkhoFjag58+xPbujp8+JIXqfaVJhmyc0azj8hfi8gbBSpYqoDJZXp8VyBQo\/4qOsUyySm3Euax1L5DfOSUSw4aIe29tgusv\/cowv5\/TAbw\/Sf0jY2zzcIpt74dumkeaZwwsPGlkH1LHr9EIhIG1x3vc5Mt\/MVF1y9Hrhel7ijKTWT8KupJuthphPlUKQFAOwCYtr\/BEwRDLtJg1pIzRdlKS5zf7bkIA\/JesQOQ\/Dhe8IZNzGIrPDRyBdK59Gf2EFe555MrCNCYoF5gkbDC9KulKS3a7BGGyeu3QJljJiVPxwZTS6CCekfW2LdWwXhIv4iZUiwuHWGUdM3b+wBL7dVr5LXSNKifVgtYC8Efoopr7oj54DWUMUbEdaLeh19a+KqcQYK9lvqfKn5XaB\/kvfnJDopibdOiqWW3pBevIusAhWa\/+bR9AxeOJqlwZ99eExR4YYSJKbiTMz8QBpX0tZ0vlQvjau4de8KcgYJzTvdmZr883lHNQSrgxJg3s9QwW5ZaaD1J8TyIc1Hpu4BKOVCkEtvITfHMeKpz6ioAn6HktR3h0mOjwtlo9748Js\/thScD4Xu5ij4S","transactionReference":"MercanetWS257620543","seal":"8c385105dc505eea4e972c6fd9212352b3329a7c6d634c7c1dc54ef2be2a9432"}
    
    Format de la réponse cardValidateAuthenticationAndOrder

    Champ

    A partir de la version

    Commentaires

    acquirerNativeResponseCode

    WS_2.14

    acquirerResponseCode

    WS_2.9

    acquirerResponseMessage

    WS_2.9

    amount

    WS_2.9

    authorisationId

    WS_2.9

    avsAddressResponseCode

    WS_2.9

    avsPostcodeResponseCode

    WS_2.9

    captureDay

    WS_2.9

    captureMode

    WS_2.9

    cardCSCResultCode

    WS_2.9

    cardExpiryDate

    WS_2.9

    complementaryCode

    WS_2.9

    complementaryInfo

    WS_2.9

    currencyCode

    WS_2.9

    customerId

    WS_2.9

    customerIpAddress

    WS_2.9

    errorFieldName

    WS_2.9

    guaranteeIndicator *

    WS_2.9

    holderAuthentMethod*

    WS_2.9

    holderAuthentProgram*

    WS_2.9

    holderAuthentRelegation*

    WS_2.9

    Non renvoyé si interfaceVersion est supérieur ou égal à 2.17, merci d’utiliser le champ holderAuthentRelegationCode

    holderAuthentRelegationCode*

    WS_2.17

    holderAuthentProgram*

    WS_2.9

    holderAuthentResponseCode*

    WS_2.9

    holderAuthentStatus*

    WS_2.9

    invoiceReference

    WS_2.9

    maskedPan

    WS_2.9

    merchantId

    WS_2.9

    merchantTransactionDateTime

    WS_2.9

    orderChannel

    WS_2.9

    orderId

    WS_2.9

    panEntryMode

    WS_2.9

    paymentMeanBrand

    WS_2.9

    paymentMeanBrandSelectionStatus

    WS_2.13

    paymentPattern

    WS_2.9

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    responseCode

    WS_2.9

    returnContext

    WS_2.9

    s10TransactionReference

    WS_2.9

    Voir la partie Containers.

    scoreColor*

    WS_2.9

    scoreInfo*

    WS_2.9

    scoreProfile*

    WS_2.9

    scoreThreshold*

    WS_2.9

    scoreValue*

    WS_2.9

    seal

    WS_2.0

    statementReference

    WS_2.9

    tokenPan

    WS_2.9

    transactionDateTime

    WS_2.9

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.9

    cardData

    WS_2.19

    Voir la partie Containers.

    authorMessageReference

    WS_2.19

    Usage futur (MPADS)

    authorisationTypeLabel

    WS_2.19

    Usage futur (MPADS)

    acceptanceSystemApplicationId

    WS_2.20

    panEntryMode

    WS_2.21

    walletType

    WS_2.21

    issuerWalletInformation

    WS_2.21

    intermediateServiceProviderOperationId

    WS_2.24

    holderAuthentType

    WS_2.24

    * : ces champs sont fournis lorsqu’ils sont disponibles, ce qui est fonction de l’état de la transaction et du moyen de paiement choisi.

    • Exemple de réponse à une requête cardValidateAuthenticationAndOrder
    {"acquirerResponseCode":"00","amount":100,"authorisationId":"526287","captureDay":0,"captureMode":"AUTHOR_CAPTURE","cardExpiryDate":"202001","complementaryCode":"00","complementaryInfo":"","currencyCode":"978","holderAuthentMethod":"NOT_SPECIFIED","holderAuthentStatus":"SUCCESS","holderAuthentProgram":"3DS","guaranteeIndicator":"Y","maskedPan":"5017##########02","merchantId":"211000021310001","orderChannel":"INTERNET","paymentMeanBrand":"VISA","responseCode":"00","transactionDateTime":"2018-03-14T16:45:38+01:00","transactionReference":"MercanetWS257620543","scoreProfile":"11_GONOGO_PRE_AUTHORISATION","s10TransactionReference":{"s10TransactionId":"133","s10TransactionIdDate":"20180314"},"seal":"6163235f8de019cb314ea5a2300107717e2ef3dbc2a1a001c3f387ae9ce572c1","preAuthorisationProfile":"11_GONOGO_PRE_AUTHORISATION","preAuthorisationProfileValue":"unknown","acquirerNativeResponseCode":"00","transactionPlatform":"PROD","holderAuthentRelegationCode":"N","cardData":{"cardScheme":"VISA","cardProductCode":"F","cardProductName":"VISA NON 3D FR","issuerCode":"20041","issuerCountryCode":"FRA"},"authorMessageReference":"338653"}
    

    Fonction «cardValidateAuthentication» du service «checkout»

    Cette opération permet de valider une authentification 3D-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 permet de vérifier l'ensemble de l'authentification 3D-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.mercanet.bnpparibas.net/rs-services/v2/checkout/cardValidateAuthentication

    Format de la requête cardValidateAuthentication

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    messageVersion

    Obligatoire

    WS_2.9

    paResMessage

    Obligatoire

    WS_2.9

    L'algorithme standard «Url Encode» doit être appliqué au champ paResMessage reçu de l’ACS.

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.9

    redirectionData

    Obligatoire

    WS_2.9

    • Exemple de requête cardValidateAuthentication
    {"interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","messageVersion" : "0.1","paResMessage" : "eJydVVuTqjgQ....7h%2FwH0CKem","redirectionData" : "uqjeV+KegCSM0POI...CjVUfxqyFq7zSYus7E=","transactionReference" : "TREFEXA2015","seal" : "9565b71cb583f025278de91940c69900dee72d91e8184ddb6547f00927597fd1"}
    
    Format de la réponse cardValidateAuthentication

    Champ

    A partir de la version

    Commentaires

    holderAuthentResponseCode

    WS_2.9

    responseCode

    WS_2.9

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête cardValidateAuthentication
    {"responseCode":"00","holderAuthentResponseCode":"00,"seal":"ef3f3cc68a39a5d1144663162a35fa6070bfe39d5abbe672b15417ff87afc431"}
    

    Fonction «creditHolder» du service «cashManagement»

    Cette fonction vous permet de créditer le compte d’un client sans transaction d’origine référencée. Il est donc nécessaire de détenir les informations du moyen de paiement de votre client ou le token associé.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/creditHolder

    Format de la requête creditHolder

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.0

    cardEffectiveDate

    Facultatif

    WS_2.0

    cardExpiryDate

    Obligatoire

    WS_2.0

    cardNumber

    Obligatoire

    WS_2.0

    cardScheme

    Facultatif

    WS_2.0

    cardSeqNumber

    Facultatif

    WS_2.0

    currencyCode

    Obligatoire

    WS_2.0

    customerEmail

    Facultatif

    WS_2.0

    customerId

    Facultatif

    WS_2.0

    customerIpAddress

    Facultatif

    WS_2.0

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à CR_WS_2.20

    subMerchantAddress

    Facultatif

    WS_2.14

    Voir la partie Containers.

    subMerchantCategoryCode

    Facultatif

    WS_2.14

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    subMerchantLegalId

    Facultatif

    WS_2.14

    subMerchantShortName

    Facultatif

    WS_2.14

    orderChannel

    Facultatif

    WS_2.0

    orderId

    Facultatif

    WS_2.0

    returnContext

    Facultatif

    WS_2.0

    panType

    Facultatif

    WS_2.1

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    subMerchantId

    Facultatif

    WS_2.14

    statementReference

    Facultatif

    WS_2.19

    transactionOrigin

    Facultatif

    WS_2.0

    transactionReference

    Facultatif

    WS_2.6

    • Exemple de requête creditHolder
    {"amount" : "1000","cardExpiryDate" : "201508","cardNumber" : "4907000000000600","currencyCode" : "978","customerEmail" : "moi@mail.com","customerId" : "customerId1","customerIpAddress" : "127.0.0.1","interfaceVersion" : "CR_WS_2.6","keyVersion" : "1","merchantId" : "211000021310001","orderChannel" : "INTERNET","orderId" : "123","panType" : "PAN","returnContext" : "my return context","transactionOrigin" : "MERCANET","transactionReference" : "TRX2014012248339","seal" : "5227610a0f14cc30872dffb60c2dae6a85c9e3f1e487ff29c307c2c05b93567d"}
    
    Format de la réponse creditHolder

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.0

    authorisationId

    WS_2.0

    maskedPan

    WS_2.0

    newStatus

    WS_2.0

    operationDateTime

    WS_2.0

    responseCode

    WS_2.0

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    seal

    WS_2.0

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.6

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête creditHolder
    {"maskedPan":"4907##########00","newStatus":"TO_CREDIT","operationDateTime":"2014-12-24T09:34:09+02:00","responseCode":"00","s10TransactionReference":{"s10TransactionId":"5","s10TransactionIdDate":"20141224"},"transactionReference":"TRX2014012248339","seal":"cca287c6f011ea942bb850fddc7eba495519a35cf0a73b7aab2b99800b5969bd","transactionPlatform":"PROD"}
    

    Fonction «walletOrder» du service «checkout»

    Cette fonction vous permet d’effectuer des paiements en utilisant un des moyens de paiement contenu dans le Wallet de vos clients.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/walletOrder

    Format de la requête walletOrder

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.3

    captureDay

    Facultatif

    WS_2.3

    captureMode

    Facultatif

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    customerId

    Facultatif

    WS_2.3

    customerIpAddress

    Facultatif

    WS_2.3

    customerLanguage

    Facultatif

    WS_2.15

    cardCSCValue

    Facultatif

    WS_2.3

    invoiceReference

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantTransactionDateTime

    Facultatif

    WS_2.3

    merchantWalletId

    Obligatoire

    WS_2.3

    orderChannel

    Facultatif

    WS_2.3

    orderId

    Facultatif

    WS_2.3

    paymentMeanId

    Obligatoire

    WS_2.3

    returnContext

    Facultatif

    WS_2.3

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.3

    transactionReference

    Facultatif

    WS_2.6

    transactionOrigin

    Facultatif

    WS_2.3

    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 de mise en œuvre du moyen de paiement concerné.

    billingAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryData

    Facultatif

    WS_2.19

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    authenticationData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    holderData

    Facultatif

    WS_2.17

    Voir la partie Containers.

    paymentMeanData

    Facultatif

    WS_2.17

    Voir la partie Containers.

    shoppingCartDetail

    Facultatif

    WS_2.19

    Voir la partie Containers.

    orderContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    travelContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    • Exemple de requête walletOrder
    {"amount":100,"captureDay":"0","captureMode":"AUTHOR_CAPTURE","currencyCode":"978","interfaceVersion":"IR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","merchantTransactionDateTime":"2018-03-14T16:01:48+02:00","merchantWalletId":"w01","orderChannel":"INTERNET","paymentMeanId":"3","returnContext":"Mon contexte de retour","shoppingCartDetail":{"shoppingCartItemList":[{"productCode":"10001","productName":"Produit1","productQuantity":1,"productSKU":"1234","productUnitAmount":50},{"productCode":"456","productName":"mango","productQuantity":1,"productSKU":"1235","productUnitAmount":50}],"shoppingCartTotalAmount":100},"transactionOrigin":"WEBTESTING","transactionReference":"MercanetWS982610341","seal":"2c4be7cf5d9be9c1c7cbe60ccfd93bff1604bebc62f112d5fddf8b094ce34502"}
    
    Format de la réponse walletOrder

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    avsAddressResponseCode*

    WS_2.17

    avsPostcodeResponseCode*

    WS_2.17

    cardCSCResultCode

    WS_2.17

    captureDay

    WS_2.15

    captureMode

    WS_2.15

    cardData

    WS_2.9

    Voir la partie Containers.

    cardScheme

    WS_2.3

    complementaryCode

    WS_2.3

    complementaryInfo

    WS_2.3

    maskedPan

    WS_2.3

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    responseCode

    WS_2.3

    returnContext

    WS_2.3

    Valeur transférée à la requête de paiement

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreColor*

    WS_2.1

    scoreInfo*

    WS_2.1

    scoreProfile*

    WS_2.1

    scoreThreshold*

    WS_2.1

    scoreValue*

    WS_2.1

    seal

    WS_2.0

    transactionDateTime

    WS_2.3

    transactionPlatform

    WS_2.17

    Usage futur (systématiquemeent valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.6

    tokenPan

    WS_2.1

    authorMessageReference

    WS_2.19

    Usage futur (MPADS)

    authorisationTypeLabel

    WS_2.19

    Usage futur (MPADS)

    acceptanceSystemApplicationId

    WS_2.20

    acquirerResponseMessage

    WS_2.20

    recurringResponseCode

    WS_2.20

    holderAuthentRelegationCode

    WS_2.20

    holderAuthentStatus

    WS_2.20

    guaranteeIndicator

    WS_2.20

    errorFieldName

    WS_2.21

    intermediateServiceProviderOperationId

    WS_2.24

    orderId

    WS_2.24

    • Exemple de réponse à une requête walletOrder
    {"acquirerResponseCode":"00","authorisationId":"031283","cardScheme":"MASTERCARD","complementaryCode":"00","complementaryInfo":",","maskedPan":"5017##########00","responseCode":"00","returnContext":"Mon contexte de retour","transactionDateTime":"2018-03-14T17:01:48+01:00","scoreProfile":"11_GONOGO_PRE_AUTHORISATION","s10TransactionReference":{"s10TransactionId":"140","s10TransactionIdDate":"20180314"},"transactionReference":"MercanetWS982610341","cardData":{"cardScheme":"MASTERCARD","cardProductCode":"MCS","cardProductName":"MASTERCARD ES NON 3D","issuerCode":"15829","issuerCountryCode":"FRA"},"seal":"eb697230733ab39b3d124c8d86dd97ff55171a3393a8d5f840cb3da5d4485a43","preAuthorisationProfile":"11_GONOGO_PRE_AUTHORISATION","preAuthorisationProfileValue":"unknown","preAuthorisationRuleResultList":[{"ruleCode":"SC","ruleType":"NG","ruleWeight":"D","ruleSetting":"I","ruleResultIndicator":"0","ruleDetailedInfo":"TRANS=3:5;CUMUL=3862:X"}],"captureDay":0,"captureMode":"AUTHOR_CAPTURE","transactionPlatform":"PROD","authorMessageReference":"308692"}
    

    Fonction «walletCreditHolder» du service «cashManagement»

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

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/walletCreditHolder

    Format de la requête walletCreditHolder

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.9

    currencyCode

    Obligatoire

    WS_2.9

    customerEmail

    Facultatif

    WS_2.9

    customerId

    Facultatif

    WS_2.9

    customerIpAddress

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.9

    merchantWalletId

    Obligatoire

    WS_2.9

    orderChannel

    Obligatoire

    WS_2.9

    orderId

    Facultatif

    WS_2.9

    paymentMeanId

    Obligatoire

    WS_2.9

    returnContext

    Facultatif

    WS_2.9

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionOrigin

    Facultatif

    WS_2.9

    transactionReference

    Facultatif

    WS_2.9

    • Exemple de requête walletCreditHolder
    {"amount" : "1000","currencyCode" : "978","customerEmail" : "toto@mail.fr","customerId" : "customerId1","customerIpAddress" : "127.0.0.1","interfaceVersion" : "CR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","merchantWalletId" : "W01","orderChannel" : "INTERNET","orderId" : "123","paymentMeanId" : "2","returnContext" : "my return context","transactionOrigin" : "MERCANET","transactionReference" : "TRX2014012248339","seal" : "d3f5f2c4c6f608e3a4940c6700ca6827c066715512be835660a8091c6ec1e098"}
    
    Format de la réponse walletCreditHolder

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.9

    authorisationId

    WS_2.9

    maskedPan

    WS_2.9

    newStatus

    WS_2.9

    operationDateTime

    WS_2.9

    paymentMeanBrand

    WS_2.9

    responseCode

    WS_2.9

    s10TransactionReference

    WS_2.9

    Voir la partie Containers.

    seal

    WS_2.0

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.9

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête walletCreditHolder
    {"maskedPan":"4907##########00","newStatus":"TO_CREDIT","operationDateTime":"2015-05-06T12:12:07+03:00","responseCode":"00","s10TransactionReference":{"s10TransactionId":"34800","s10TransactionIdDate":"20150506"},"transactionReference":"TRX2014012248339","paymentMeanBrand":"VISA","seal":"250c2a5831ae3b1a015d4d8be0e1970936e2c53b50607c8f6182556c0291ab8d"","transactionPlatform":"PROD"}
    

    Fonction «paymentProviderInitialize» du service «checkout»

    Cette opération permet d’initialiser un paiement pour les wallets externes.
    Une telle requête initie une session pour le passage d’ordre de paiement par wallet externe. S'il s'agit d'une transaction non initiée sur mobile et que l'étape d'initialisation a réussi, vous recevez en réponse une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre la procédure de paiement. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir le chapitre "Formulaire POST vers des fournisseurs exrternes".
    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.mercanet.bnpparibas.net/rs-services/v2/checkout/paymentProviderInitialize

    Format de la requête paymentProviderInitialize

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.3

    captureDay

    Facultatif

    WS_2.3

    captureMode

    Facultatif

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    customerId

    Facultatif

    WS_2.3

    customerIpAddress

    Facultatif

    WS_2.3

    customerLanguage

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    invoiceReference

    Facultatif

    WS_2.3

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantReturnUrl

    Obligatoire

    WS_2.3

    merchantTransactionDateTime

    Facultatif

    WS_2.3

    orderChannel

    Obligatoire

    WS_2.3

    orderId

    Facultatif

    WS_2.3

    paymentMeanBrand

    Obligatoire

    WS_2.3

    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 de mise en œuvre du moyen de paiement concerné.

    returnContext

    Facultatif

    WS_2.3

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.3

    transactionReference

    Facultatif

    WS_2.6

    transactionOrigin

    Facultatif

    WS_2.3

    billingAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryData

    Facultatif

    WS_2.6

    Voir la partie Containers.

    authenticationData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    paymentMeanData

    Facultatif

    WS_2.10

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.17

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.19

    Voir la partie Containers

    holderData

    Facultatif

    WS_2.19

    Voir la partie Containers

    orderContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    travelContext

    Facultatif

    WS_2.19

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    shoppingCartDetail

    Facultatif

    WS_2.6

    Voir la partie Containers.

    responseKeyVersion

    Facultatif

    WS_2.7


    • Exemple de requête paymentProviderInitialize
    {"amount" : "1000","captureMode" : "AUTHOR_CAPTURE","currencyCode" : "978","customerIpAddress" : "127.0.0.1","interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001 ","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

    acquirerNativeResponseCode

    WS_2.10

    acquirerResponseIdentifier

    WS_2.10

    acquirerResponseMessage

    WS_2.10

    messageVersion

    WS_2.3

    outerRedirectionUrl

    WS_2.9

    paymentProviderSessionId

    WS_2.3

    redirectionData

    WS_2.3

    redirectionUrl

    WS_2.3

    responseCode

    WS_2.3

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête paymentProviderInitialize
    {"responseCode":"00","redirectionUrl":"https://payment.sips.atos.fr/paymentprovider/init","redirectionData":"RSs7cZyL1DqsVso","messageVersion":"0.1","seal":"79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6"}
    

    Fonction «paymentProviderGetContext» du service «checkout»

    Cette requête est facultative et vous permet de connaître l'identité et l'adresse de livraison du payeur pour les afficher avant la confirmation de la transaction lors d’une transaction paypal.
    Cette fonction est uniquement disponible pour le moyen de paiement Paypal.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/paymentProviderGetContext

    Format de la requête paymentProviderGetContext

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.12

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.12

    merchantId

    Obligatoire

    WS_2.12

    messageVersion

    Obligatoire

    WS_2.12

    s10TransactionReference

    Facultatif

    WS_2.12

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.12

    sealAlgorithm

    Facultatif

    WS_2.12

    transactionReference

    Facultatif

    WS_2.2

    redirectionData

    Obligatoire

    WS_2.12

    • Exemple de requête paymentProviderGetContext
    {"interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","messageVersion" : "0.1","redirectionData" : "RSs7cZy...L1DqsVso","transactionReference" : "TREFEXA2012","seal" : "30218c85ca303d33d5e7b60bb48222b9826fbc30b6c2ec98fff285702e445ae1"}
    
    Format de la réponse paymentProviderGetContext

    Champ

    A partir de la version

    Commentaires

    acquirerNativeResponseCode

    WS_2.12

    acquirerResponseIdentifier

    WS_2.12

    acquirerResponseMessage

    WS_2.12

    customerAddress

    WS_2.12

    Voir la partie Containers.

    customerContact

    WS_2.12

    Voir la partie Containers.

    deliveryAddress

    WS_2.12

    Voir la partie Containers.

    deliveryContact

    WS_2.12

    Voir la partie Containers.

    holderAddress

    WS_2.12

    Voir la partie Containers.

    paymentMeanData

    WS_2.12

    Voir la partie Containers.

    responseCode

    WS_2.12

    seal

    WS_2.12

    • Exemple de réponse à une requête paymentProviderGetContext
    {"responseCode":"00","deliveryAddress":{"addressAdditional1":"devliveryAdd11","city":"Blois","country":"FR","street":"Street","zipCode":"41000"},"deliveryContact":{"email":"team@email.com","firstname":"Team","lastname":"John","phone":"0254440000"},"customerAddress":{"addressAdditional1":"devliveryAdd11","city":"Blois","country":"FR","street":"Street","zipCode":"41000"},"customerContact":{"firstname":"Team","lastname":"BO","phone":"0254440000"},"paymentMeanData":{"paypal":{"token":"EC-4S931937D5977923H","deliveryAddressStatus":"Confirmed","payerId":"H3G7GWRLLSBDY","payerStatus":"verified","paymentStatus":"PaymentActionNotInitiated"}},"acquirerResponseMessage":"Process succeeded","acquirerResponseIdentifier":"419d14fb8a5c","seal":"18509963c41e3102967ee0ebc149165032b1b53cffec29f46d29ab37d8bc1df4"}
    

    Fonction «paymentProviderFinalize» du service «checkout»

    Cette opération permet de finaliser un paiement pour les Wallet externes.
    Une telle requête est obligatoire pour connaître le résultat d'un ordre de paiement effectué par le biais d'un Wallet externe. Elle doit être appelée une fois que vous avez reçu le formulaire POST du Wallet externe via la merchantReturnUrl (voir requête paymentProviderInitialize).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/paymentProviderFinalize

    Format de la requête paymentProviderFinalize

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    messageVersion

    Obligatoire

    WS_2.3

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.12

    transactionReference

    Facultatif

    WS_2.6

    redirectionData

    Obligatoire

    WS_2.3

    • Exemple de requête paymentProviderFinalize
    {"interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","messageVersion" : "0.1","redirectionData" : " RSs7cZyL1DqsVso ","transactionReference" : "TREFEXA2012","seal" : "30218c85ca303d33d5e7b60bb48222b9826fbc30b6c2ec98fff285702e445ae1"}
    
    Format de la réponse paymentProviderFinalize

    Champ

    A partir de la version

    Commentaires

    acquirerNativeResponseCode

    WS_2.10

    acquirerResponseCode

    WS_2.3

    acquirerResponseIdentifier

    WS_2.10

    acquirerResponseMessage

    WS_2.6

    avsAddressResponseCode

    WS_2.3

    avsPostcodeResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    captureLimitDate

    WS_2.3

    cardData

    WS_2.9

    Voir la partie Containers.

    complementaryCode

    WS_2.3

    complementaryInfo

    WS_2.3

    currencyCode

    WS_2.3

    captureDay

    WS_2.3

    captureMode

    WS_2.3

    cardExpiryDate

    WS_2.3

    cardCSCResultCode

    WS_2.3

    customerId

    WS_2.3

    customerIpAddress

    WS_2.3

    guaranteeIndicator*

    WS_2.3

    holderAuthentMethod*

    WS_2.3

    holderAuthentStatus*

    WS_2.3

    holderAuthentProgram*

    WS_2.3

    invoiceReference

    WS_2.3

    issuerWalletInformation

    WS_2.6

    maskedPan

    WS_2.3

    merchantId

    WS_2.3

    merchantTransactionDateTime

    WS_2.3

    orderChannel

    WS_2.3

    orderId

    WS_2.6

    panEntryMode

    WS_2.3

    paymentMeanBrand

    WS_2.3

    paymentPattern

    WS_2.3

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult ; Voir la partie Containers.

    responseCode

    WS_2.3

    returnContext

    WS_2.3

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreColor*

    WS_2.3

    scoreInfo*

    WS_2.3

    scoreProfile*

    WS_2.3

    scoreThreshold*

    WS_2.3

    scoreValue*

    WS_2.3

    seal

    WS_2.0

    statementReference

    WS_2.3

    transactionAmount

    WS_2.3

    transactionDateTime

    WS_2.3

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.3

    transactionStatus

    WS_2.3

    walletType

    WS_2.3

    errorFieldName

    WS_2.21

    issuerWalletId

    WS_2.23

    intermediateServiceProviderOperationId

    WS_2.24

    • Exemple de réponse à une requête paymentProviderFinalize
    {"responseCode":"00","captureDay":"0","currencyCode":"978","merchantId":"211000021310001","paymentPattern":"ONE_SHOT","transactionAmount":"200","transactionDateTime":"2014-01-14T08:38:11.494+01:00","transactionReference":"TREFEXA2012","seal":"79cf30535e08b8c6c9cfdd55c343845947f8fea892ec0ea1db96378055f71de6","transactionPlatform":"PROD"}
    

    Fonction «directDebitOrder» du service «checkout»

    Cette fonction vous permet, si vous possédez les informations bancaires d'un client d'effectuer des paiements de type prélèvement (SDD et ELV).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/directDebitOrder

    Format de la requête directDebitOrder

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.3

    customerAccount

    Facultatif

    WS_2.5

    captureDay

    Facultatif

    WS_2.3

    captureMode

    Facultatif

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    customerBankAccountType

    Facultatif

    WS_2.5

    customerBankCode

    Facultatif

    WS_2.5

    customerId

    Facultatif

    WS_2.3

    customerIpAddress

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    invoiceReference

    Facultatif

    WS_2.3

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantTransactionDateTime

    Facultatif

    WS_2.3

    orderChannel

    Obligatoire

    WS_2.3

    orderId

    Facultatif

    WS_2.3

    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 de mise en œuvre du moyen de paiement concerné.

    returnContext

    Facultatif

    WS_2.3

    paymentMeanBrand

    Obligatoire

    WS_2.5

    ELV ou SEPA_DIRECT_DEBIT

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.3

    transactionReference

    Facultatif

    WS_2.6

    transactionOrigin

    Facultatif

    WS_2.3

    valueDate

    Facultatif

    WS_2.3

    JJMMAAAA

    billingAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    authenticationData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.3

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.3

    Voir la partie Containers.

    instalmentData

    Facultatif

    WS_2.3

    Voir la partie Containers.

    mandateAuthentMethod

    Obligatoire

    WS_2.3

    mandateUsage

    Obligatoire

    WS_2.3

    mandateId

    Conditionnel

    WS_2.3

    Obligatoire pour SEPA_DIRECT_DEBIT et facultatif pour ELV

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    riskManagementCustomDataList

    Facultatif

    WS_2.8

    Voir la partie Containers.

    shoppingCartDetail

    Facultatif

    WS_2.8

    Voir la partie Containers.

    • Exemple de requête directDebitOrder
    {"amount" : "2500","captureDay" : "0","captureMode" : "AUTHOR_CAPTURE","cardCSCValue" : "0000","currencyCode" : "978","customerBankAccountType":"BIC_IBAN","interfaceVersion" : " IR_WS_2.19","keyVersion" : "1","mandateId":"000000000000001999","merchantId" : "211000021310001","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

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    captureDay

    WS_2.15

    captureLimitDate

    WS_2.3

    captureMode

    WS_2.15

    complementaryCode

    WS_2.3

    complementaryInfo

    WS_2.3

    creditorId

    WS_2.5

    errorFieldName

    WS_2.3

    guaranteeIndicator *

    WS_2.3

    holderAuthentRelegationCode*

    WS_2.3

    holderAuthentStatus*

    WS_2.3

    mandateId

    WS_2.3

    maskedPan

    WS_2.5

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    responseCode

    WS_2.3

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreColor*

    WS_2.3

    scoreInfo*

    WS_2.3

    scoreProfile*

    WS_2.3

    scoreThreshold*

    WS_2.3

    scoreValue*

    WS_2.3

    seal

    WS_2.0

    transactionActors

    WS_2.3

    transactionDateTime

    WS_2.3

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.6

    valueDate

    WS_2.5

    intermediateServiceProviderOperationId

    WS_2.24

    orderId

    WS_2.24

    secureReference

    WS_2.26

    • Exemple de réponse à une requête directDebitOrder
    {"acquirerResponseCode":"00","authorisationId":"123456789102","maskedPan":"5219##########00","responseCode":"00","transactionDateTime" : "2012-10-16T23:50:44-12:00","captureLimitDate" : "2012-11-16T23:50:44-12:00","transactionActors" : "BTOB","seal":"7ca065ebba90762e3286ee16d6a2d2da0eea8bae6b46592058933881d96d0c3d","transactionPlatform":"PROD"}
    

    Fonction «creditTransfertInquire» du service «checkout»

    Cette opération permet de récupérer la liste des banques émettrices disponibles. Actuellement, ce service n’est disponible que pour le moyen de paiement iDEAL.
    Cette requête permet d'obtenir une liste des banques émettrices. Si la requête a réussi, vous recevez en retour une liste de banques avec leur nom et leur code. Ces informations doivent être utilisées pour l'étape d'initialisation (creditTransferInitialize).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/creditTransferInquire

    Format de la requête creditTransfertInquire

    Champ

    Présence

    A partir de la version

    Commentaires

    currencyCode

    Obligatoire

    WS_2.9

    customerLanguage

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    paymentMeanBrand

    Obligatoire

    WS_2.9

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.9

    • Exemple de requête creditTransfertInquire
    {"currencyCode" : "978","customerLanguage" : "fr","interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","paymentMeanBrand" : "IDEAL","transactionReference" : " TREFEXA2015","seal" : "ec7be3e2a0086a86f66f74bb6e10f244e51e4e648c7dbbf7c89ce9aa78a569cf"}
    
    Format de la réponse creditTransfertInquire

    Champ

    Présence

    A partir de la version

    Commentaires

    currencyCode

    Obligatoire

    WS_2.9

    customerLanguage

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    paymentMeanBrand

    Obligatoire

    WS_2.9

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.9

    • Exemple de réponse à une requête creditTransfertInquire
    {"customerBankList":[{"customerBankCode":"RABONL2U","customerBankName":"BANK - RABO"},{"customerBankCode":"INGBNL2A","customerBankName":"BANK - ING"}],"responseCode":"00","seal":"c46465d780517ce593b4bd5afe789fe58d2bc972937aaa35707ec8668265e6dc"}
    

    Fonction «creditTransfertInitialize» du service «checkout»

    Cette opération est actuellement disponible pour les moyens de paiement iDEAL et Sofort✔berweisung.
    Cette requête initialise une session pour un virement bancaire. Si l'étape d'initialisation a réussi, vous recevez en retour une URL sécurisée (redirectionUrl) vers laquelle le client doit être redirigé pour poursuivre le virement. Cette redirection doit être réalisée par le biais d'un formulaire POST, voir le chapitre "Formulaire POST vers des fournisseurs exrternes".
    Dans la requête, vous devez également indiquer l'URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du virement bancaire externe. Le commerçant doit ensuite appeler le service creditTransferFinalizeAndOrder afin de finaliser la transaction.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/creditTransferInitialize

    Format de la requête creditTransfertInitialize

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.9

    customerBankCode

    Conditionnel

    WS_2.9

    customerBankName

    Conditionnel

    WS_2.9

    currencyCode

    Obligatoire

    WS_2.9

    customerId

    Facultatif

    WS_2.9

    customerIpAddress

    Facultatif

    WS_2.9

    customerLanguage

    Facultatif

    WS_2.9

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    invoiceReference

    Facultatif

    WS_2.9

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    merchantReturnUrl

    Obligatoire

    WS_2.9

    merchantTransactionDateTime

    Facultatif

    WS_2.9

    orderChannel

    Obligatoire

    WS_2.9

    orderId

    Facultatif

    WS_2.9

    paymentMeanBrand

    Obligatoire

    WS_2.9

    paymentPattern

    Facultatif

    WS_2.9

    returnContext

    Facultatif

    WS_2.9

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.9

    transactionOrigin

    Facultatif

    WS_2.9

    transactionReference

    Facultatif

    WS_2.9

    billingAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    billingContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    deliveryContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    fraudData

    Facultatif

    WS_2.10

    Voir la partie Containers.

    holderAddress

    Facultatif

    WS_2.9

    Voir la partie Containers.

    holderContact

    Facultatif

    WS_2.9

    Voir la partie Containers.

    customerData

    Facultatif

    WS_2.9

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    • Exemple de requête creditTransferInitialize
    {"amount" : "1000","currencyCode" : "978","customerBankCode" : "RABONL2U","customerBankName" : "BANK - RABO","customerLanguage" : "fr","interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","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

    errorFieldName

    WS_2.9

    messageVersion

    WS_2.9

    redirectionData

    WS_2.9

    redirectionUrl

    WS_2.9

    responseCode

    WS_2.9

    seal

    WS_2.0

    • Exemple de réponse à une requête creditTransferInitialize
    {"responseCode":"00","redirectionUrl":"https://payment-web.sips-atos.com/paymentprovider/init","redirectionData":"RSs7cZyL1D...a+hZ+1ticHD/4/s=","messageVersion":"0.1","seal":"d0814427cbd5515e78cb54476c8594eb2c1d3732a9b392afd325ebae33945069"}
    

    Fonction «creditTransfertFinalizeAndOrder» du service «checkout»

    Cette opération est actuellement disponible pour les moyens de paiement iDEAL et Sofort✔berweisung.
    Cette requête est obligatoire pour connaître le résultat d'un virement bancaire. Elle doit être appelée une fois que vous avez reçu le formulaire POST du service de virement bancaire via merchantReturnUrl (voir requête creditTransferInitialize).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/checkout/creditTransferFinalizeAndOrder

    Format de la requête creditTransfertFinalizeAndOrder

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.9

    Doit être fixée à IR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.9

    merchantId

    Obligatoire

    WS_2.9

    messageVersion

    Obligatoire

    WS_2.9

    redirectionData

    Obligatoire

    WS_2.9

    seal

    Obligatoire

    WS_2.0

    s10TransactionReference

    Facultatif

    WS_2.9

    Voir la partie Containers.

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.9

    • Exemple de requête creditTransferFinalizeAndOrder
    {"interfaceVersion" : "IR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","messageVersion" : "0.1","redirectionData" : "RSs7cZyL1Dq....MzMbzqw","transactionReference" : "TREFEXA2015","seal" : "f8769766243dcb603e417556a0e1d54b29b64cb9398317af3a16eb0a19db7057"}
    
    Format de la réponse creditTransfertFinalizeAndOrder

    Champ

    A partir de la version

    Commentaires

    amount

    WS_2.9

    authorisationId

    WS_2.9

    captureDay

    WS_2.9

    captureMode

    WS_2.9

    complementaryCode

    WS_2.9

    complementaryInfo

    WS_2.9

    currencyCode

    WS_2.9

    customerBankCode

    WS_2.9

    customerBankName

    WS_2.9

    customerId

    WS_2.9

    customerIpAddress

    WS_2.9

    errorFieldName

    WS_2.9

    holderAuthentMethod*

    WS_2.9

    holderAuthentProgram*

    WS_2.9

    holderAuthentStatus*

    WS_2.9

    invoiceReference

    WS_2.9

    merchantId

    WS_2.9

    merchantTransactionDateTime

    WS_2.9

    orderChannel

    WS_2.9

    orderId

    WS_2.9

    paymentMeanBrand

    WS_2.9

    paymentPattern

    WS_2.9

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    responseCode

    WS_2.9

    returnContext

    WS_2.9

    s10TransactionReference

    WS_2.9

    Voir la partie Containers.

    scoreColor*

    WS_2.9

    scoreInfo*

    WS_2.9

    scoreProfile*

    WS_2.9

    scoreThreshold*

    WS_2.9

    scoreValue*

    WS_2.9

    seal

    WS_2.0

    statementReference

    WS_2.9

    transactionDateTime

    WS_2.9

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.9

    intermediateServiceProviderOperationId

    WS_2.24

    • Exemple de réponse à une requête creditTransferFinalizeAndOrder
    {"amount":1000,"customerBankCode":"RABONL2U","customerBankName":"BANK - RABO","captureDay":0,"captureMode":"AUTHOR_CAPTURE","currencyCode":"978","merchantTransactionDateTime":"2014-12-05T00:00:00+01:00","merchantId":"211000021310001","orderChannel":"INTERNET","orderId":"123","paymentMeanBrand":"IDEAL","paymentPattern":"ONE_SHOT","responseCode":"00","s10TransactionReference":{"s10TransactionId":"129192","s10TransactionIdDate":"20150528"},"transactionDateTime":"2015-05-28T11:18:26+02:00","transactionReference":"TREFEXA2015","seal":"85cd304554ebc24a60255dbb695b34c46665c6ad2f838966941ceb6dacd9e6ec","transactionPlatform":"PROD"}
    

    Fonction «recycle» du service «cashManagement»

    Cette fonction permet de créer une nouvelle transaction à partir des données bancaires d'une transaction précédente. Cette opération est similaire à la duplication, mais avec des limites. Elle vous permet de recycler une transaction expirée ou refusée ou capturée partiellement (le montant n'a pas été entièrement réglé) sans dépasser le montant de la transaction initiale.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/recycle

    Format de la requête recycle

    Champ

    Présence

    A partir de la version

    Commentaires

    amount

    Obligatoire

    WS_2.3

    captureDay

    Facultatif

    WS_2.3

    captureMode

    Facultatif

    WS_2.3

    currencyCode

    Obligatoire

    WS_2.3

    fromTransactionReference

    Obligatoire

    WS_2.3

    Voir la partie Containers.

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.3

    merchantTransactionDateTime

    Facultatif

    WS_2.0

    s10FromTransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    statementReference

    Facultatif

    WS_2.0

    transactionOrigin

    Facultatif

    WS_2.0

    transactionReference

    Facultatif

    WS_2.6

    lastRecoveryIndicator

    Facultatif

    WS_2.17

    • Exemple de requête recycle
    {"amount" : "1000","captureMode" : "AUTHOR_CAPTURE","currencyCode" : "978","fromTransactionReference" : "SIM2014082813176","interfaceVersion" : "CR_WS_2.19","merchantId" : "211000021310001","merchantTransactionDateTime" : "2014-08-28T13:17:16.480+02:00","transactionOrigin" : "MERCANET","transactionReference" : "SIM20140828131716","seal" : "bab5067f4fa23924cd80f35d5585519a563ff261f38dfa9b74fbb76888b00b64","keyVersion" : "1"}
    
    Format de la réponse recycle

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.3

    authorisationId

    WS_2.3

    cardData

    WS_2.9

    Voir la partie Containers.

    complementaryCode

    WS_2.3

    complementaryInfo

    WS_2.3

    maskedPan

    WS_2.3

    panExpiryDate

    WS_2.3

    paymentMeanBrand

    WS_2.3

    paymentMeanBrandSelectionStatus

    WS_2.13

    preAuthenticationColor

    WS_2.13

    preAuthenticationInfo

    WS_2.13

    preAuthenticationProfile

    WS_2.13

    preAuthenticationProfileValue

    WS_2.13

    preAuthenticationRuleResultList

    WS_2.13

    Voir la partie Containers.

    preAuthenticationThreshold

    WS_2.13

    preAuthenticationValue

    WS_2.13

    preAuthorisationProfile

    WS_2.13

    preAuthorisationProfileValue

    WS_2.13

    preAuthorisationRuleResultList

    WS_2.13

    Liste d’objets preAuthorisationRuleResult; Voir la partie Containers.

    responseCode

    WS_2.3

    s10TransactionReference

    WS_2.6

    Voir la partie Containers.

    scoreColor

    WS_2.3

    scoreInfo

    WS_2.3

    scoreProfile

    WS_2.3

    scoreThreshold

    WS_2.3

    scoreValue

    WS_2.3

    seal

    |WS_2.0

    transactionDateTime

    WS_2.3

    transactionPlatform

    WS_2.17

    Usage futur (systématiquement valorisé à ‘PROD’ pour le moment)

    transactionReference

    WS_2.6

    transactionReference

    WS_2.21

    • Exemple de réponse à une requête 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=3:2;CUMUL=3000:250000","scoreProfile":"myprofSco","scoreThreshold":"-3.0","responseCode":"00","transactionDateTime":"2014-08-28T13:20:45+02:00","seal":"df0c23e0a60a745f1f546168fafedb7ae547912473d76c93ee52d31b9d714765","transactionPlatform":"PROD"}}
    

    Fonction «acceptChallenge» du service «cashManagement»

    Cette fonction vous permet d’accepter le risque de fraude sur des transactions ayant un score de fraude orange. Une fois la transaction acceptée, elle reprend son cycle de vie normal.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/acceptChallenge

    Format de la requête acceptChallenge

    Champ

    Présence

    A partir de la version

    Commentaires

    comment

    Facultatif

    WS_2.6

    interfaceVersion

    Obligatoire

    WS_2.6

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.6

    merchantId

    Obligatoire

    WS_2.6

    operationOrigin

    Facultatif

    WS_2.6

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.6

    validationIndicator

    Facultatif

    WS_2.6

    Valeurs acceptées: «Y» et «N»

    • Exemple de requête acceptChallenge
    {"comment" : "good id","interfaceVersion" : "CR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","operationOrigin" : "MERCANET","transactionReference" : "TRX20140121510382","validationIndicator" : "Y","seal" : "e746314133f7aaabd8ac33db0daf941eda744e8ff70b700490792ffe3480087d"}
    
    Format de la réponse acceptChallenge

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.6

    authorisationId

    WS_2.6

    captureLimitDate

    WS_2.6

    newStatus

    WS_2.6

    operationDateTime

    WS_2.6

    responseCode

    WS_2.6

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête acceptChallenge
    {"acquirerResponseCode":”00”, "authorisationId":”123”, "captureLimitDate":”1”, "operationDateTime":"2014-10-16T23:51:42-12:00","responseCode":"00","newStatus" : "VALIDATED","seal":"919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"}
    

    Fonction «refuseChallenge» du service «cashManagement»

    Cette fonction vous permet de refuser le risque de fraude sur des transactions ayant un score de fraude orange.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/cashManagement/refuseChallenge

    Format de la requête refuseChallenge

    Champ

    Présence

    A partir de la version

    Commentaires

    comment

    Facultatif

    WS_2.6

    interfaceVersion

    Obligatoire

    WS_2.6

    Doit être fixée à CR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.6

    merchantId

    Obligatoire

    WS_2.6

    operationOrigin

    Facultatif

    WS_2.6

    s10TransactionReference

    Facultatif

    WS_2.6

    Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionReference

    Facultatif

    WS_2.6

    • Exemple de requête refuseChallenge
    {"comment" : "bad id","interfaceVersion" : "CR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","operationOrigin" : "MERCANET","transactionReference" : "TRX20140121510382","seal" : "c36bcfaf3c05ef257795149686c53022f212e05c6fac98d0169c5e9313941444"}
    
    Format de la réponse refuseChallenge

    Champ

    A partir de la version

    Commentaires

    newStatus

    WS_2.6

    operationDateTime

    WS_2.6

    responseCode

    WS_2.6

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête refuseChallenge
     {"operationDateTime":"2014-10-16T23:51:42-12:00","responseCode":"00","newStatus" : "REFUSED","seal":"919b544bfb60539c8979992bc469e0b4229030ee2462a51f62c9cbd3510b3647"}
    

    Fonction «panToToken» du service «token»

    Cette opération permet de «tokéniser» un numéro de carte.

    L’URL en est https://office-server.mercanet.bnpparibas.net/rs-services/v2/token/panToToken

    Format de la requête panToToken

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à TR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    panDataList

    Facultatif

    WS_2.0

    Liste de champs conteneurs panData; Voir la partie Containers.

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    userId

    Facultatif

    WS_2.0

    • Exemple de requête panToToken
    {"interfaceVersion" : "TR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","panDataList" : [{"pan" : "4907000000000600","panId" : "1"}],"userId" : "uid","seal" : "8f95bd9cc96c7723b530f0492c9fed50399b94f9b0c91c113b4f56a97fe2cb8f"}
    
    Format de la réponse panToToken

    Champ

    A partir de la version

    Commentaires

    responseCode

    WS_2.0

    responseTokenPanDataList

    WS_2.0

    Liste de champs conteneurs responseTokenPanData; Voir la partie Containers.

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête panToToken
    {"responseCode":"00","responseTokenPanDataList":[{"tokenResponseCode":"00","panId":"1","tokenPan":"490700h719850600"}],"seal":"a16689b166fa9a508341fad15563633bb83367d009d3f2507c95bc71cd9f1ad5"}
    

    Fonction «tokenToPan» du service «token»

    Cette fonction permet de transformer un token en PAN.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/token/tokenToPan

    Format de la requête tokenToPan

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à TR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    merchantId

    Obligatoire

    WS_2.0

    keyVersion

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    tokenPanDataList

    Facultatif

    WS_2.0

    Liste de champs conteneurs tokenPanData; Voir la partie Containers.

    userId

    Facultatif

    WS_2.0

    • Exemple de requête tokenToPan
    {"interfaceVersion" : "TR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","panDataList" : [{"pan" : "490700h719850600","panId" : "1"}],"userId" : "uid","seal" : "e350c058e2be7a3686682587dfac89cd192cda1ad2c2f532e10f9d59b9ca0f13"}
    
    Format de la réponse tokenToPan

    Champ

    A partir de la version

    Commentaires

    responseCode

    WS_2.0

    reponsePanDataList

    WS_2.0

    Liste de champs conteneurs responsePanData; Voir la partie Containers.

    seal

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête tokenToPan
    {"responseCode":"00","responsePanDataList":[{"tokenResponseCode":"00","tokenPanId":"1","pan":"4907000000000600"}]}
    

    Fonction «transactionToToken» du service «token»

    Cette fonction permet de transformer le PAN d’une transaction existante en token.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/token/transactionToToken

    Format de la requête transactionToToken

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à TR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    merchantId

    Obligatoire

    WS_2.0

    keyVersion

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    fromTransactionReference

    Facultatif

    WS_2.19

    Obligatoire si s10FromTransactionReference non renseigné

    s10FromTransactionReference

    Facultatif

    WS_2.6

    Obligatoire si fromTransactionReference non renseigné. Voir la partie Containers.

    fromMerchantId

    Facultatif

    WS_2.19

    Identifiant du commerçant de la transaction d’origine. Obligatoire si différent du merchantId

    merchantExternalId

    Facultatif

    WS_2.19


    • Exemple de requête transactionToToken
    {"fromMerchantId":"024729465300006","fromTransactionReference":"SIM20170613140621","interfaceVersion":"TR_WS_2.19","keyVersion":"1","merchantExternalId":"myMerchantExternalId","merchantId":"211000021310001","seal":"9f0a2e696242acdb3f966fed16bfd91d540531b9e259f41c474f52fb2c62345b"}
    
    Format de la réponse transactionToToken

    Champ

    A partir de la version

    Commentaires

    responseCode

    WS_2.3

    tokenPan

    WS_2.19

    paymentMeanBrand

    WS_2.19

    cardExpiryDate

    WS_2.19

    merchantId

    WS_2.0

    seal

    WS_2.0

    fromTransactionReference

    WS_2.19

    s10FromTransactionReference

    WS_2.6

    Voir duplicate

    fromMerchantId

    WS_2.19

    merchantExternalId

    WS_2.19

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête transactionToToken
    {"responseCode":"00","merchantId":"211000021310001","fromMerchantId":"024729465300006","fromTransactionReference":"SIM20170613140621","seal":"a8e229f12c98f5f2a1cf2a8def150691e2742410441675e308a4f9a695a14547","merchantExternalId":"myMerchantExternalId","tokenPan":"490700h719850600","paymentMeanBrand":"VISA","cardExpiryDate":"201802"}
    

    Fonction «getCardData» du service «paymentMeanInfo»

    Cette opération permet de consulter les informations associées à un numéro ou IIN de carte.
    Si le numéro ou l'IIN de la carte n'existe pas, un code de réponse05 est retourné. Si la requête a réussi, le code de réponse00 est retourné, ainsi que les informations relatives à la carte.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/paymentMeanInfo/getCardData

    Format de la requête getCardData

    Champ

    Présence

    A partir de la version

    Commentaires

    cardIIN

    Facultatif

    WS_2.5

    Doit être défini si cardNumber ne l’est pas

    cardNumber

    Facultatif

    WS_2.5

    Doit être défini si cardIIN ne l’est pas

    interfaceVersion

    Obligatoire

    WS_2.5

    Doit être fixée à PMR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.5

    merchantId

    Obligatoire

    WS_2.5

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête getCardData
    {"cardNumber" : "4975000000000000","interfaceVersion" : "PMR_WS_2.5","keyVersion" : "1","merchantId" : "211000021310001","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 champs conteneurs cardData; Voir la partie Containers.

    errorFieldName

    WS_2.5

    Disponible si la valeur de paymentMeanInfoResponseCode est 12 ou 30

    seal

    WS_2.0

    • Exemple de résponse à une requête getCardData
    {"paymentMeanInfoResponseCode":"00","cardDataList":[{"cardScheme":"CB","cardBrand":"CB","cardProductCode":"2","cardProductName":"CARTE NATIONALE DE RETRAIT ET DE PAIEMENT","issuerCode":"10107","issuerCountryCode":"FRA","panLengthMin":16,"panLengthMax":16,"panCheckAlgorithm":"L","cardProductProfile":"D"},{"cardScheme":"VISA","cardBrand":"VISA","cardProductCode":"F","cardProductName":"VISA CLASSIC","cardCorporateIndicator":"N","issuerCode":"10107","issuerCountryCode":"FRA","issuerRegionCode":"D","panLengthMin":16,"panLengthMax":16,"panCheckAlgorithm":"L"}],"seal":"c10bc66f574d22c4eb68250fe80c7d764a420a4fa22fde23f69e3a67bf60d131"}
    

    Fonction «getVelocityData» du service «fraud»

    Cette opération permet de contrôler l'activité d'un champ de données spécifique au cours d'une période déterminée.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/fraud/getVelocityData

    Format de la requête getVelocityData

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à FR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    velocityElementType

    Obligatoire

    WS_2.0

    velocityElementValue

    Obligatoire

    WS_2.0

    velocityPeriod

    Facultatif

    WS_2.0

    • Exemple de requête getVelocityData
    {"interfaceVersion" : "FR_WS_2.9","keyVersion" : "1","merchantId" : "211000021310001","velocityElementType" : "customerId","velocityElementValue" : "cust010","velocityPeriod" : "50","seal" : "fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"}
    
    Format de la réponse getVelocityData

    Champ

    A partir de la version

    Commentaires

    currencyCode

    WS_2.0

    responseCode

    WS_2.0

    seal

    WS_2.0

    velocityNbTransaction

    WS_2.0

    velocityProfileDateTime

    WS_2.0

    velocityProfileMaxNbTrans

    WS_2.0

    velocityProfileMaxTotalAmount

    WS_2.0

    velocityProfileMaxTransAmount

    WS_2.0

    velocityProfileName

    WS_2.0

    velocityProfilePeriod

    WS_2.0

    velocityTotalAmount

    WS_2.0

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête getVelocityData
    {"responseCode":"00","velocityTotalAmount":0,"velocityNbTransaction":0,"velocityProfilMaxTotalAmount":1000,"velocityProfilMaxNbTrans":10,"velocityProfilMaxTransAmount":100,"currencyCode":"978","velocityProfileName":"all_controls","velocityProfilPeriod":10,"velocityProfileDateTime":"2014-11-19T14:21:32+01:00","seal":"5a65b70f786047ef13f80a55a6642211daa52df74039c605e70ac7d752f52731"}
    

    Fonction «addToFraudList» du service «fraud»

    Cette opération permet d'ajouter un numéro de carte, de token ou de transaction (via le couple transactionIid/transactionDate ou transactionReference) à différents types de liste fraude.

    L’URL est https://office-server.mercanet.bnpparibas.net/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

    Doit être fixée à FR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.15

    fraudListType

    Obligatoire

    WS_2.15

    fraudListLevel

    Obligatoire

    WS_2.15

    fraudListElementType

    Conditionnel

    WS_2.15

    Obligatoire si fraudListType = cardList

    fraudListElementValue

    Obligatoire

    WS_2.15

    seal

    Obligatoire

    WS_2.15

    sealAlgorithm

    Facultatif

    WS_2.15

    fraudListReasonCode

    Facultatif

    WS_2.15

    secretKey

    Obligatoire

    WS_2.15

    keyVersion

    Obligatoire

    WS_2.15

    • Exemple de requête addToFraudList
    {"fraudListElementType":"PAN","fraudListElementValue":"5017674000000200","fraudListLevel":"WHITE","fraudListType":"CARD_LIST","interfaceVersion":"FR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","seal":"b3f44355e912ebb9c3fed0e3a00a5782762afd604055f3a56438971a4e9ec58f"}
    
    Format de la réponse addToFraudList

    Champ

    A partir de la version

    Commentaires

    fraudResponseCode

    WS_2.15

    seal

    WS_2.15

    errorFieldName

    WS_2.15

    • Exemple de réponse à une requête addToFraudList
    {"fraudResponseCode":"00","seal":"0a7c1ab8fa767313e0631d166843eb55b9f783426241690a2b6e23ca40087811"}
    

    Fonction «removeFromFraudList» du service «fraud»

    Cette opération permet de supprimer un numéro de carte, de token, de transaction (via le couple transactionIid/transactionDate ou transactionReference) de différents types de liste fraude.

    L’URL est https://office-server.mercanet.bnpparibas.net/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

    Doit être fixée à FR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.15

    fraudListType

    Obligatoire

    WS_2.15

    fraudListLevel

    Obligatoire

    WS_2.15

    fraudListElementType

    Conditionnel

    WS_2.15

    Obligatoire si fraudListType = cardList

    fraudListElementValue

    Obligatoire

    WS_2.15

    seal

    Obligatoire

    WS_2.15

    sealAlgorithm

    Facultatif

    WS_2.15

    fraudListReasonCode

    Facultatif

    WS_2.15

    secretKey

    Obligatoire

    WS_2.15

    keyVersion

    Obligatoire

    WS_2.15

    • Exemple de requête removeFromFraudList
    {"fraudListElementType":"PAN","fraudListElementValue":"5017674000000200","fraudListLevel":"WHITE","fraudListType":"CARD_LIST","interfaceVersion":"FR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","seal":"b3f44355e912ebb9c3fed0e3a00a5782762afd604055f3a56438971a4e9ec58f"}
    
    Format de la réponse removeFromFraudList

    Champ

    A partir de la version

    Commentaires

    fraudResponseCode

    WS_2.15

    seal

    WS_2.15

    errorFieldName

    WS_2.15

    • Exemple de réponse à une requête removeFromFraudList
    {"fraudResponseCode":"00","seal":"0a7c1ab8fa767313e0631d166843eb55b9f783426241690a2b6e23ca40087811"}
    

    Fonction«addCard» du service «wallet»

    Cette opération permet d'ajouter une carte à un wallet. Ce dernier est créé s'il n'existe pas.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/addCard


    Format de la requête addCard

    Champ

    Présence

    A partir de la version

    Commentaires

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à FR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    cardNumber

    Obligatoire

    WS_2.3

    cardExpiryDate

    Obligatoire

    WS_2.3

    merchantWalletId

    Obligatoire

    WS_2.3

    paymentMeanAlias

    Facultatif

    WS_2.3

    Exemple: «ma carte VISA »

    paymentMeanBrand

    Facultatif

    WS_2.20

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête addCard
    {"cardExpiryDate" : "201905","cardNumber" : "5219000000000000","interfaceVersion" : "FR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","merchantWalletId" : "iDWal1","paymentMeanAlias" : "myvisacard","seal" : "4b7beed20ff443b3c05cc904bcd793ba6cace54b9ff669cf26d8576e267dc03c"}
    
    Format de la réponse addCard

    Champ

    A partir de la version

    Commentaires

    errorFieldName

    WS_2.0

    Disponible si la valeur de walletResponseCode est 12 ou 30

    maskedPan

    WS_2.0

    Disponible si le code de réponse est 00

    paymentMeanId

    WS_2.0

    Disponible si le code de réponse est 00

    seal

    WS_2.0

    walletActionDateTime

    WS_2.0

    Disponible si le code de réponse est 00

    walletResponseCode

    WS_2.0

    • Exemple de réponse à une requête addCard
    {"walletActionDateTime":"2014-03-19T23:15:03-12:00","paymentMeanId":"13","maskedPan":"4977##########55","walletResponseCode":"00","seal":"a6671feade95c57085939fe973e8455a5c7a81d465f78f1b94c22f8b29a2b751"}
    

    Fonction «addDirectDebit» du service «wallet»

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

    Si la création a réussi, un code de réponse00 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
    • le 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.mercanet.bnpparibas.net/rs-services/v2/wallet/addDirectDebit

    Format de la requête addDirectDebit

    Champ

    Présence

    A partir de la version

    Commentaires

    customerAccount

    Facultatif

    WS_2.3

    customerBankCode

    Facultatif

    WS_2.3

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    mandateId

    Facultatif

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantWalletId

    Obligatoire

    WS_2.3

    paymentMeanAlias

    Facultatif

    WS_2.3

    Exemple: «mon mandat»

    paymentMeanBrand

    Obligatoire

    WS_2.3

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    transactionActors

    Facultatif

    WS_2.17

    • Exemple de requête addDirectDebit
    {"customerAccount" : "FR76300460012900297215195464","customerBankCode" : "CEPAFRPP118","interfaceVersion" : "WR_WS_2.19","keyVersion" : "1","mandateId" : "MANDATE0001","merchantId" : "211000021310001","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

    errorFieldName

    WS_2.0

    Disponible si la valeur de walletResponseCode est 12 ou 30

    maskedPan

    WS_2.0

    Disponible si le code de réponse est 00

    paymentMeanId

    WS_2.0

    Disponible si le code de réponse est 00

    seal

    WS_2.0

    transactionActors

    WS_2.0

    Disponible si le code de réponse est 00

    walletActionDateTime

    WS_2.0

    Disponible si le code de réponse est 00

    walletResponseCode

    WS_2.0


    • Exemple de réponse à une requête addDirectDebit
    {"walletActionDateTime":"2014-07-28T21:14:13-12:00","paymentMeanId":"8","maskedPan":"MAND#####01","transactionActors":"BtoB","walletResponseCode":"00","seal":"75cc0bd5f72a15fb38b0f609393437db61866f867fa7befeef9b3f496a9e449f"}
    

    Fonction «deletePaymentMean» du service «wallet»

    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éponse01 est retourné. Si la suppression a fonctionné, le code de réponse00 est retourné avec la date de suppression.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/deletePaymentMean

    Format de la requête deletePaymentMean

    Champ

    Présence

    A partir de la version

    Commentaires

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    merchantWalletId

    Obligatoire

    WS_2.0

    paymentMeanId

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête deletePaymentMean
    {"interfaceVersion" : "WR_WS_2.19","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

    Disponible si le code de réponse est 00

    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 à une requête deletePaymentMean
    {"walletActionDateTime":"2014-05-19T23:22:08-12:00","walletResponseCode":"00","seal":"e721a45f7decf017ba079dd0c25b1e7916c6c9e6c7e86d6cef37bec2cf42ba04"}
    


    Fonction «updatePaymentMean» du service «wallet»

    Cette opération vous permet de mettre à jour l'un des moyens de paiement de son wallet. Si le compte ou la carte n'existe pas, un code de réponse01 est retourné. Si la mise à jour a fonctionné, le code de réponse00 est retourné avec la date de la mise à jour.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/updatePaymentMean

    Format de la requête updatePaymentMean

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantWalletId

    Obligatoire

    WS_2.3

    paymentMeanAlias

    Facultatif

    WS_2.3

    paymentMeanId

    Obligatoire

    WS_2.3

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête updatePaymentMean
    {"interfaceVersion" : " WR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","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

    Disponible si le code de réponse est 00

    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 à une requête updatePaymentMean
    {"walletActionDateTime":"2014-05-19T23:19:54-12:00","walletResponseCode":"00","seal":"4d40a4af0fe8ceaf1370ab5e434c6ba939973bcacf33f202c72c47a8ab622c19"}
    

    Fonction «signOff» du service «wallet»

    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éponse01 est retourné. Si la suppression a fonctionné, le code de réponse00 est retourné avec la date de suppression.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/signOff

    Format de la requête signOff

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.3

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.3

    merchantId

    Obligatoire

    WS_2.3

    merchantWalletId

    Obligatoire

    WS_2.3

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête signOff
    {"interfaceVersion" : "WR_WS_2.3","keyVersion" : "1","merchantId" : "211000021310001","merchantWalletId" : "SIM01","seal" : "8217a6163368bee3b5baebc47a822d40327344ce578411055f95d6e5752d00f4"}
    
    Format de la réponse signOff

    Champ

    A partir de la version

    Commentaires

    walletActionDateTime

    WS_2.0

    Disponible si le code de réponse est 00

    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 à une requête signOff
    
    

    Fonction «getWalletData» du service «wallet»

    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éponse01 est retourné. Si la requête a réussi, le code de réponse00 est retourné, ainsi que avec les informations relatives aux moyens de paiement.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/getWalletData

    Format de la requête getWalletData

    Champ

    Présence

    A partir de la version

    Commentaires

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    merchantWalletId

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête getWalletData
    {"interfaceVersion" : "WR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","merchantWalletId" : "wallet235","seal" : "646cceb753f4a39231b30c60edc6e2250816315ef89ca945a601eef0aaabc86a"}
    
    Format de la réponse getWalletData

    Champ

    A partir de la version

    Commentaires

    walletCreationDateTime

    WS_2.0

    Disponible si le code de réponse est 00

    walletLastActionDateTime

    WS_2.0

    Disponible si le code de réponse est 00

    walletResponseCode

    WS_2.0

    walletPaymentMeanDataList

    WS_2.0

    Liste de champs conteneurs walletPaymentMeanDataVoir 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 à une requête getWalletData
    {"walletCreationDateTime":"2017-09-20T09:40:33+02:00","walletLastActionDateTime":"2018-01-16T16:58:37+01:00","walletResponseCode":"00","walletPaymentMeanDataList":[{"paymentMeanId":"1","maskedPan":"5017##########02","paymentMeanAlias":"VISA1","panExpiryDate":"201912","paymentMeanBrand":"VISA"}],"seal":"9da157d603b6bd8e383641d20fe4c017acf9cff26c2d24e2ae3da4db2e0c383f"}
    

    Fonction «getPaymentMeanData» du service «wallet»

    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éponse01 est retourné. Si la requête a réussi, le code de réponse00 est retourné, ainsi que les informations relatives au moyen de paiement.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/wallet/getPaymentMean

    Format de la requête getPaymentMeanData

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.0

    Doit être fixée à WR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.12

    keyVersion

    Obligatoire

    WS_2.0

    merchantId

    Obligatoire

    WS_2.0

    merchantWalletId

    Obligatoire

    WS_2.0

    paymentMeanId

    Obligatoire

    WS_2.0

    seal

    Obligatoire

    WS_2.0

    sealAlgorithm

    Facultatif

    WS_2.11

    • Exemple de requête getPaymentMeanData
    {"interfaceVersion" : "WR_WS_2.19","keyVersion" : "1","merchantId" : "211000021310001","merchantWalletId" : "wallet235","paymentMeanId" : "1","seal" : "3f51c676141ee573d0b5531f26d265560d0e5ebbd57517be537842a06a1de290"}
    
    Format de la réponse getPaymentMeanData

    Champ

    A partir de la version

    Commentaires

    errorFieldName

    WS_2.0

    Disponible si la valeur de walletResponseCode est 12 ou 30

    seal

    WS_2.0

    walletPaymentMeanData

    WS_2.0

    Voir la partie Containers.

    walletResponseCode

    WS_2.0

    • Exemple de réponse à une requête getPaymentMeanData
    {"walletResponseCode":"00","walletPaymentMeanData":{"paymentMeanId":"1","maskedPan":"5017##########02","paymentMeanAlias":"VISA1","panExpiryDate":"201912","paymentMeanBrand":"VISA"},"seal":"809b37bdbdc4d8cd5fa3c94962c327cbaf4454146530da2aef68d0f5a741c1f4"}
    

    Fonction «initializeMandate» du service «mandate»

    Cette opération permet d’initialiser un processus de signature de mandat. Si l’étape d’initialisation réussit, le marchand reçoit en réponse une URL sécurisée (redirectionUrl) vers laquelle le client doît être redirigé pour continuer le processus de signature. La redirection doit être faite via un formulaire POST, voir le chapitre "Formulaire POST vers des fournisseurs exrternes".
    Parmi les paramètres de la requête, le marchand doit également renseigner l’URL (merchantReturnUrl) vers laquelle le client sera redirigé à la fin du processus de signature du mandat. Le marchand doit alors appeler le service finalizeMandate pour obtenir le résultat du processus de signature.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/mandate/initializeMandate

    Format de la requête initializeMandate

    Champ

    Présence

    A partir de la version

    Commentaires

    customerId

    Facultatif

    WS_2.18

    customerLanguage

    Facultatif

    WS_2.18

    iban

    Obligatoire

    WS_2.18

    interfaceVersion

    Obligatoire

    WS_2.18

    Doit être fixée à MR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.18

    keyVersion

    Obligatoire

    WS_2.18

    mandateId

    Facultatif

    WS_2.18

    merchantId

    Obligatoire

    WS_2.18

    merchantReturnUrl

    Obligatoire

    WS_2.18

    paymentMeanAlias

    Obligatoire

    WS_2.18

    returnContext

    Facultatif

    WS_2.18

    seal

    Obligatoire

    WS_2.18

    sealAlgorithm

    Facultatif

    WS_2.18

    transactionActors

    Facultatif

    WS_2.18

    customerAddress

    Obligatoire

    WS_2.18

    Voir la partie Containers.

    customerContact

    Obligatoire

    WS_2.18

    Voir la partie Containers.

    paymentMeanData

    Facultatif

    WS_2.18

    Voir la partie Containers.

    • Exemple de requête initializeMandate
    {"customerAddress":{"city":"City","country":"FRA","street":"street name","streetNumber":"123","zipCode":"12345"},"customerContact":{"email":"test@moi.com","firstname":"Firstname","gender":"M","lastname":"Lastname"},"iban":"FR123456456546546546546546","interfaceVersion":"MR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","merchantReturnUrl":"https://mywebsite/return.jsp","paymentMeanAlias":"alias","seal":"fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"}
    
    Format de la réponse initializeMandate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.18

    mandateId

    WS_2.18

    mandateResponseCode

    WS_2.18

    messageVersion

    WS_2.18

    redirectionData

    WS_2.18

    redirectionUrl

    WS_2.18

    seal

    WS_2.18

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête initializeMandate
    {"mandateResponseCode":"00","acquirerResponseCode":"00","redirectionUrl":"https://payment-web.sips.priv.atos.fr/paymentprovider/initsps","redirectionData":"bt1QVw4zgOYphloN0S7DMHpIAJfrMks9H/…j3MFRNbExX","mandateId":"000000000000000826","messageVersion":"0.1","seal":"9019f36306c3c5de4ff8ea9bc4fcc9ebca236cb350c348c6951a81f86d0c6c60"}
    

    Fonction «finalizeMandate» du service «mandate»

    Cette opération permet de finaliser le processus de signature de mandat.
    Le processus de signature de mandat se termine en appellant cette function pour connnaître le résultat. Elle doit être appellé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.mercanet.bnpparibas.net/rs-services/v2/mandate/finalizeMandate

    Format de la requête finalizeMandate

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.18

    Doit être fixée à MR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.18

    keyVersion

    Obligatoire

    WS_2.18

    merchantId

    Obligatoire

    WS_2.18

    messageVersion

    Obligatoire

    WS_2.18

    redirectionData

    Obligatoire

    WS_2.18

    seal

    Obligatoire

    WS_2.18

    sealAlgorithm

    Facultatif

    WS_2.18

    • Exemple de requête finalizeMandate
    {"interfaceVersion":"MR_WS_2.19","keyVersion":"1","merchantId":"211000021310001","messageVersion":"0.1","redirectionData":"O4ytL5JBCPDNASyhleIA57zt3cZJxQ29E6F8F8AZvGUcNUCY/9EL+civ/GzRc/QF4ckCZKon2EWkWmutsRfR+rV+krgyhrT5m0DMAtpvoJxP/qhocm4VrxObsNG56qGczk8Skd0HpAQC/2eW4Lg44fNS3oyYPjgjxK4gCbkGhz59dB8hoNvhfFE9u1na2m6wDoNaTKI9Drj4CMJOr1ttF/ATqVLDg5iEnJiBomWsQd0qmO76pOSEnAIhwO/ghyhxMTT8iBHu6/+6ZnJx8yiyS4ERzTAHcnkzBKOG+/veZSJ0h5wH3a86bBaU7fD0gmPTXnNz1hqhSIg==","seal":"fb5ecb0b96d1af93cf5728deab65ae75299218e291910d05d0a2c62e00…86aea7"}
    
    Format de la réponse finalizeMandate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.18

    bic

    WS_2.18

    iban

    WS_2.18

    mandateId

    WS_2.18

    mandateResponseCode

    WS_2.18

    merchantId

    WS_2.18

    paymentMeanAlias

    WS_2.18

    seal

    WS_2.18

    transactionActors

    WS_2.18

    paymentMeanData

    WS_2.18

    Voir la partie Containers.

    customerContact

    WS_2.18

    Voir la partie Containers.

    customerAddress

    WS_2.18

    Voir la partie Containers.

    errorFieldName

    WS_2.21

    mandateSecureReference

    WS_2.26

    risky

    WS_2.26

    • Exemple de réponse à une requête finalizeMandate
    {"mandateResponseCode":"00","bic":"AGRIFRPP879","iban":"FR1233321114456666","transactionActors":"BTOC","paymentMeanData":{"sdd":{"mandateAuthentMethod":"MAIL_OTP","mandateUsage":"RECURRENT","mandateCertificationType":"E_BASIC"}},"customerContact":{"email":"test@moi.com","firstname":"Firstname","lastname":"Lastname"},"customerAddress":{"city":"City","street":"street name","streetNumber":"123","zipCode":"12345"},"mandateId":"000000000000000827","seal":"eecf79584ac1acb2d91949940dbebb856061c8dab7f6ed655b8a624742df7adc"}
    

    Fonction «getPDFMandate» du service «mandate»

    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 du PDF.

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/mandate/getPDFMandate

    Format de la requête getPDFMandate

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.18

    Doit être fixée à MR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.18

    keyVersion

    Obligatoire

    WS_2.18

    merchantId

    Obligatoire

    WS_2.18

    mandateId

    Obligatoire

    WS_2.18

    seal

    Obligatoire

    WS_2.18

    sealAlgorithm

    Facultatif

    WS_2.18

    • Exemple de requête getPDFMandate
    {"interfaceVersion":"MR_WS_2.20","keyVersion":"1","mandateId":"000000000000000677","merchantId":"211000021310001","seal":"fc24b9e6bd7a433d258a1df1a8af2698b917d1632aaa1bc12c5c8f45adbeba11"}
    
    Format de la réponse getPDFMandate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.18

    mandateResponseCode

    WS_2.18

    mandatePdf

    WS_2.18

    seal

    WS_2.18

    errorFieldName

    WS_2.21

    • Exemple de réponse à une requête getPDFMandate
    {"mandateResponseCode":"00","acquirerResponseCode":"00","mandatePdf":"JVBERi0xLjQdqzdzqdqzdqzhcnR4cmVmCjIxNzA2CiUlRU9GCg==","seal":"df97074b81e534d70cccbff5446b71d36c4d4de6d995fe630c8077d6fa85c0a3"}
    

    Fonction «searchMandate» du service «mandate»

    Cette opération permet de rechercher les mandats existants d’un client particulier. 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.mercanet.bnpparibas.net/rs-services/v2/mandate/searchMandate

    Format de la requête searchMandate

    Champ

    Présence

    A partir de la version

    Commentaires

    customerId

    Obligatoire

    WS_2.18

    interfaceVersion

    Obligatoire

    WS_2.18

    Doit être fixée à MR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.18

    keyVersion

    Obligatoire

    WS_2.18

    merchantId

    Obligatoire

    WS_2.18

    seal

    Obligatoire

    WS_2.18

    sealAlgorithm

    Facultatif

    WS_2.18

    errorFieldName

    WS_2.21

    • Exemple de requête searchMandate
    {"customerId":"test123","interfaceVersion":"MR_WS_2.20","keyVersion":"1","merchantId":"211000021310001","seal":"df97074b81e534d70cccbff5446b71d36c4d4de6d995fe630c8077d6fa85c0a3"}
    
    Format de la réponse searchMandate

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.18

    mandateResponseCode

    WS_2.18

    mandateList

    WS_2.18

    Champs conteneur, liste de mandats trouvés. Voir la partie Containers.

    seal

    WS_2.18


    • Exemple de réponse à une requête 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"}
    

    Fonction «getMandateData» du service «mandate»

    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 «direct debit» associées aux mandats (s’il y en a).

    L’URL est https://office-server.mercanet.bnpparibas.net/rs-services/v2/mandate/getMandateData

    Format de la requête getMandateData

    Champ

    Présence

    A partir de la version

    Commentaires

    interfaceVersion

    Obligatoire

    WS_2.18

    Doit être fixée à MR_WS_2.20

    intermediateServiceProviderId

    Facultatif

    WS_2.18

    keyVersion

    Obligatoire

    WS_2.18

    mandateId

    Obligatoire

    WS_2.18

    merchantId

    Obligatoire

    WS_2.18

    seal

    Obligatoire

    WS_2.18

    sealAlgorithm

    Facultatif

    WS_2.18

    • Exemple de requête getMandateData
    {"interfaceVersion":"MR_WS_2.20","keyVersion":"1","mandateId":"000000000000000677","merchantId":"211000021310001","seal":"39b46a6656d6647b20ffc0d1351d863b7627d7838f7ded02f34a690d9a2d2b8c"}
    
    Format de la réponse getMandateData

    Champ

    A partir de la version

    Commentaires

    acquirerResponseCode

    WS_2.18

    bic

    WS_2.18

    iban

    WS_2.18

    mandateId

    WS_2.18

    mandateLastUpdateDate

    WS_2.18

    mandateResponseCode

    WS_2.18

    mandateSignatureDate

    WS_2.18

    mandateStatus

    WS_2.18

    mandateUsage

    WS_2.18

    seal

    WS_2.18

    transactionActors

    WS_2.18

    customerAddress

    WS_2.18

    Voir chapitre containers.

    customerContact

    WS_2.18

    Voir chapitre containers. NB: sur cette méthode uniquement, le champ customerContact.lastname contient la concaténation du prénom et du nom du débiteur.

    directDebitList

    WS_2.18

    Champs conteneurs, liste de transactions DirectDebit (Voir chapitre containers).

    • Exemple de réponse à une requête 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"}
    

    Containers

    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.

    s10TransactionReference

    Champs

    Commentaires

    s10TransactionId

    s10TransactionIdDate

    s10FromTransactionReference

    Champ

    Commentaires

    s10FromTransactionId

    s10FromTransactionIdDate

    billingAddress

    Champ

    Commentaires

    addressAdditional1

    addressAdditional2

    addressAdditional3

    city

    company

    country

    postBox

    state

    street

    streetNumber

    zipCode

    billingContact

    Champ

    Commentaires

    email

    firstname

    gender

    lastname

    mobile

    phone

    title

    customerAddress

    Champ

    Commentaires

    addressAdditional1

    addressAdditional2

    addressAdditional3

    city

    company

    country

    postBox

    state

    street

    streetNumber

    zipCode

    customerContact

    Champ

    Commentaires

    email

    firstname

    gender

    lastname

    mobile

    phone

    title

    deliveryAddress

    Champ

    Commentaires

    addressAdditional1

    addressAdditional2

    addressAdditional3

    city

    company

    country

    postBox

    state

    street

    streetNumber

    zipCode

    deliveryContact

    Champ

    Commentaires

    email

    firstname

    gender

    lastname

    mobile

    phone

    title

    fraudData

    Champ

    Commentaires

    allowedCardArea

    Pour usage futur

    allowedCardCountryList

    allowedIpArea

    Pour usage futur

    allowedIpCountryList

    bypass3DS

    Pour usage futur

    bypassCtrlList

    bypassInfoList

    deniedCardArea

    Pour usage futur

    deniedCardCountryList

    deniedIpArea

    Pour usage futur

    deniedIpCountryList

    riskManagementDynamicSettingList

    Liste d’objets riskManagementDynamicSetting

    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

    holderData

    Champ

    Commentaires

    birthCity

    Pour usage futur

    birthCountry

    Pour usage futur

    birthDate

    birthZipCode

    Pour usage futur

    nationalityCountry

    Pour usage futur

    newPwd

    Pour usage futur

    pwd

    Pour usage future

    maidenName

    Pour usage future

    customerData

    Champ

    Commentaires

    birthCity

    Pour usage futur

    birthCountry

    Pour usage futur

    birthDate

    birthZipCode

    Pour usage futur

    nationalityCountry

    Pour usage futur

    newPwd

    Pour usage futur

    pwd

    Pour usage future

    maidenName

    Pour usage futur

    authenticationData/cardAuthPolicy

    Champ

    Commentaires

    ignoreCSCCheckResult

    ignorePostcodeCheckResult

    ignoreAddressCheckResult

    automaticReverse

    checkAVS


    authenticationData/threeD

    Champ

    Commentaires

    cavv

    cavvAlgorithm

    eci

    securityIndicator

    txStatus

    xid

    paymentMeanData

    Champ

    Commentaires

    accord

    Voir plus bas

    accordkdo

    Voir plus bas

    bcacup

    Voir plus bas

    cofinoga

    Voir plus bas

    paypal

    Voir plus bas

    facilypay

    Voir plus bas

    paymentMeanData/accord

    Champ

    Commentaires

    settlementMode

    additionalAuthorisationNumber

    paymentMeanData/accordkdo

    Champ

    Commentaires

    settlementMode

    paymentMeanData/bcacup

    Champ

    Commentaires

    settlementMode

    paymentMeanData/cofinoga

    Champ

    Commentaires

    settlementMode

    paymentMeanData/paypal

    Champ

    Commentaires

    landingPage

    addrOverride

    invoiceId

    dupFlag

    dupDesc

    dupCustom

    dupType

    token

    deliveryAddressStatus

    payerBusiness

    payerId

    payerStatus

    payerSuffix

    payementStatus

    orderDescription

    paymentMeanData/facilypay

    Champ

    Commentaires

    depositRefundIndicator

    shoppingCartDetail

    Champ

    Commentaires

    shoppingCartTotalAmount

    shoppingCartTotalQuantity

    shoppingCartTotalTaxAmount

    mainProduct

    shoppingCartItemList

    Liste d’objets shoppingCartItem

    shoppingCartItem

    Champ

    Commentaires

    productName

    productDescription

    productCode

    productSKU

    productUnitAmount

    productQuantity

    productTaxRate

    productUnitTaxAmount

    productCategory

    riskManagementCustomData

    Champ

    Commentaires

    riskManagementCustomSequence

    riskManagementCustomValue

    subMerchantAddress

    Champ

    Commentaires

    addressAdditional1

    addressAdditional2

    addressAdditional3

    city

    company

    country

    postBox

    state

    street

    streetNumber

    zipCode

    cardData

    Champ

    Commentaires

    cardProductCode

    cardProductName

    cardProductProfile

    cardScheme

    issuerCode

    issuerCountryCode

    cardProductUsageLabel

    Usage futur (MPADS)

    preAuthorisationRuleResult

    Champ

    Commentaires

    ruleCode

    ruleType

    ruleWeight

    ruleSetting

    ruleResultIndicator

    ruleDetailedInfo

    instalmentData

    Champ

    Commentaires

    number

    datesList

    transactionReferencesList

    s10TransactionIdsList

    amountsList

    customerBank

    Champ

    Commentaires

    customerBankCode

    customerBankName

    seal

    deliveryData

    Champ

    Commentaires

    deliveryChargeAmount

    deliveryMethod

    deliveryMode

    deliveryOperator

    estimatedDeliveryDate

    estimatedDeliveryDelay

    authenticationData

    Champ

    Commentaires

    ignorePostcodeCheckResult

    ignoreAddressCheckResult

    automaticReverse

    checkAVS

    preAuthenticationRuleResult

    Champ

    Commentaires

    ruleCode

    ruleType

    ruleWeight

    ruleSetting

    ruleResultIndicator

    ruleDetailedInfo

    orderContext

    Champ

    Commentaires

    customerHostName

    customerBrowserType

    customerANI

    customerANIInformationIdentifier

    travelContext

    Champ

    Commentaires

    departureDate

    passengerName

    originAirport

    numberOfRoutingCities

    routingCityList

    Ce champ est une liste JSON

    numberOfAirlineCarriers

    airlineCarrierList

    Ce champ est une liste JSON

    fareBasis

    numberOfPassengers

    destinationAirport

    reservationCode

    walletPaymentMeanData

    Champ

    Commentaires

    paymentMeanId

    mandateId

    maskedPan

    paymentMeanAlias

    panExpiryDate

    paymentMeanBrand

    transactionActors

    pspData

    Pour usage futur ; voir conteneur pspData

    walletPaymentMeanData/pspData

    Champ

    Commentaires

    pspData1

    Pour usage futur

    mandate

    Champ

    Commentaires

    bic

    iban

    mandateCreationDate

    mandateId

    mandateLastUpdateDate

    mandateSignatureDate

    mandateStatus

    mandateUsage

    transactionActors

    directDebit

    Champ

    Commentaires

    amount

    directDebitCreationDate

    directDebitStatus

    dueDate

    panData

    Champ

    Commentaires

    panId

    pan

    responseTokenPanData

    Champ

    Commentaires

    tokenResponseCode

    tokenPan

    panId

    tokenPanData

    Champ

    Commentaires

    tokenPanId

    tokenPan

    responsePanData

    Champ

    Commentaires

    tokenResponseCode

    tokenPanId

    pan

    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 3DSecure édictées par VISA et Mastercard, cette action doit être réalisée en réduisant au minimum les interventions du porteur de carte.

    Construction du formulaire de redirection

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

    • le message PAReq: 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.

    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="BASE-64 ENCODED 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>
    
    Authentification de l’utilisateur final

    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.

    Redirection de l'utilisateur final vers votre site

    À 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 navigateuirs 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

    messageVersion

    redirectionData

    Analyser les erreurs causées par une fonction

    Le tableau ci-dessous vous donne les codes réponses génériques pour toutes les opérations.

    Il faut se reporter au [Guide de configuration des fonctionnalités] pour le détail des codes réponse par fonction.
    

    Etat

    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 bonjour un remboursement avec la fonctionr efund).

    Refus suite problème technique

    responseCode = 90, 99

    Problème technique temporaire lors du traitement de la fonction. Essayer ultérieurement d’exécuter de nouveau la fonction.

    Fonction non autorisée

    responseCode = 40

    Vous n’avez pas les droits d’exécuter cette fonction. Consulter le centre sd’assistance technique pour demander l’activation de cee droit 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. Consulter le guide d’implémentation des fonctionnalités pour connaitre le détail de chaque code erreur et le dictionnaire des données pour le format de chaque paramètre.


    Tester sur l’environnement de recette client

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

    Remarque

    Veillez à bien remplacer le début de l’url de production fourni dans chaque fonction par celle de recette indiqué 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é: Carte de test 5017674000000002 Cryptogramme 123 Date de validité doit être supérieure au mois en cours

    Etape 4: Valider le passage en production

    Une fois la connexion de votre site et/ou application à Mercanet Gestion Plus testée, vous êtes à présent en mesure de valider la connexion à Mercanet Gestion Plus 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 Mercanet de production en utilisant les identifiants reçus lors l’inscription merchantId, secretKey et keyVersion).

    URL Mercanet https://office-server.mercanet.bnpparibas.net

    merchantId Identifiant de la boutique reçu par mail

    SecretKey: Clé secrète que vous récupérez via Mercanet Téléchargement

    KeyVersion: Version clé secrète récupérée sur Mercanet Téléchargement (logiquement 1 pour la 1ère clé)

    Remarque

    Une erreur fréquente est d’oublier un de ces 4 paramètres ce qui conduit systématiquement à une erreur.

    Comment valider le bon fonctionnement d’un paiement en production

    Immédiatement

    • Faîtes 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érifier que vos pages de paiement intègrent vos paramètres de personnalisation
    • Consultez la transaction via le Back Office Mercanet à 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 le Back Office Mercanet (optionnel)

    Le surlendemain

    • Vérifiez que l’opération de remboursement apparait dans le journal des opérations
    • Vérifiez sur votre compte commerçant le débit suite au remboursement

    Etape 6: Démarrer en production

    Une fois la validation du passage en production effectuée, ouvrez votre site et/ou application 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 (option du journal)