Search Overlay

Transactions par carte de crédit et de débit

Cette page décrit comment traiter les transactions par carte de crédit et de débit via le service Web Paysafe. Les opérations suivantes sont prises en charge :

OpérationDescriptionType de requête

Autorisation

Permet d’autoriser un montant sur la carte de crédit/débit d’un client. Le montant autorisé doit être réglé lors d’une opération de règlement ultérieure.

Voir Créer des requêtes d’achat/autorisation/vérification.

Achat

Permet d’autoriser et de régler un montant sur la carte de crédit/débit d’un client en une seule transaction.

Vérification

Permet d’effectuer une vérification SVA et/ou CVD sur la carte de crédit d’un client sans effectuer de débit sur cette carte.

Renversement d’autorisation

Permet de renverser la totalité ou une partie d’une autorisation existante, à condition qu’aucun règlement (total ou partiel) n’ait été traité par rapport à cette autorisation. Ce type de transaction ne fonctionne pas avec les transactions d’achat, mais uniquement avec les autorisations.

Voir Créer des requêtes de renversement d’autorisation.

Crédit

Permet de créditer à nouveau la carte de crédit/débit d’un client d’un montant qui a déjà été réglé. Vous pouvez créditer la totalité ou une partie d’un règlement existant.

Voir Créer des requêtes de règlement/crédit.

Règlement

Permet de régler un montant précédemment autorisé sur la carte de crédit/débit d’un client. Vous pouvez régler la totalité ou une partie d’une autorisation existante.

Autorisation avec données stockées

Permet d’autoriser un montant sur la carte de crédit/débit d’un client en utilisant les données du client qui sont stockées dans notre base de données. Vous ne fournissez qu’un minimum d’informations, ce qui vous permet d’économiser du temps et des efforts.

Voir Créer des requêtes de données stockées.

Données d’achat stockées

Permet d’autoriser et de régler un montant sur la carte de crédit/débit d’un client en utilisant les données du client qui sont stockées dans notre base de données. Vous ne fournissez qu’un minimum d’informations, ce qui vous permet d’économiser du temps et des efforts.

Annuler

Permet d’annuler une transaction de crédit, de règlement, de paiement ou de crédit autonome. Vous pouvez annuler l’une de ces transactions tant qu’elle est en attente, c’est-à-dire généralement avant minuit le jour où elle est demandée. Dans certains cas, vous pouvez trouver d’anciennes transactions de crédit en attente.

Voir Créer des requêtes d’annulation.

Paiement

Permet de créditer un montant sur la carte de crédit d’un client. La transaction de paiement n’est pas associée à une autorisation existante, de sorte que le montant de la transaction n’est pas limité de cette manière.

Voir Créer des requêtes de paiement/crédit autonome.

Crédit autonome

Permet de créditer un montant sur la carte de crédit d’un client. La transaction de crédit autonome n’est pas associée à une autorisation existante, de sorte que le montant de la transaction n’est pas limité de cette manière.

Recherche d’informations

Permet d’exécuter un rapport via l’API sur une plage de dates que vous spécifiez afin de renvoyer des données sur les transactions par carte de crédit traitées par votre compte marchand.

Voir Créer des requêtes de recherche de transaction.

Recherches d’affiliations

Permet de déterminer si la carte de crédit d’un client est inscrite au programme 3D Secure.

REMARQUE: Cette opération n’est prise en charge que pour 3D Secure 1.0.2.

Voir Créer des requêtes de recherche d’inscription.

Authentification

Permet d’envoyer une requête d’authentification afin de valider le mot de passe du titulaire d’une carte de crédit inscrite au programme 3D Secure.

REMARQUE: Cette opération n’est prise en charge que pour 3D Secure 1.0.2.

Voir Créer des requêtes d’authentification.

La disponibilité des types d’opérations par carte de crédit est attribuée en fonction du marchand, étant donné que toutes les banques des marchands ne prennent pas en charge toutes les opérations. Si vous avez des questions, veuillez communiquer avec votre gestionnaire de compte.

  • Les opérations d’autorisation, d’achat et de vérification acceptent un objet de document ccAuthRequestV1.
  • L’opération de renversement d’autorisation accepte un objet de document ccAuthReversalRequestV1.
  • Les opérations de règlement et de crédit acceptent un objet de document ccPostAuthRequestV1.
  • Les opérations de données stockées acceptent un objet de document ccStoredDataRequestV1.
  • Les opérations d’annulation de règlement, d’annulation de crédit et d’annulation de paiement acceptent un objet de document ccCancelRequestV1.
  • Les opérations de paiement et de crédit autonome acceptent un objet de document ccPaymentRequestV1.
  • L’opération de recherche d’informations accepte un objet de document ccTxnLookupRequestV1.
  • L’opération de recherche d’inscription accepte un objet de document ccEnrollmentLookupRequestV1.
  • L’opération d’authentification accepte un objet de document ccAuthenticateRequestV1.
  • Toutes les opérations renvoient une réponse ccTxnResponseV1.

Exemple .NET

Pour créer l’exemple .NET :

  1.  Créez un nouveau projet.

  2. Ajoutez une référence Web.

  3. Saisissez l’URL du WSDL et cliquez sur le bouton Ajouter une référence.

  4. Le client Web est maintenant créé.

  5. Créez la requête et traitez la réponse.

Créer des requêtes d’achat/autorisation/vérification.

Les requêtes d’achat, d’autorisation et de vérification nécessitent l’objet de document ccAuthRequestV1. Cette section décrit la structure d’une ccAuthRequestV1 et la manière d’en créer une.

Exemple d’achat – C#

Tous les éléments facultatifs qui prennent des types de données non annulables (p. ex. int ou enum) doivent avoir leur attribut spécifié fixé sur « true » lors de la définition des valeurs pour ces éléments. Voir l’élément cardType dans l’exemple ci-dessous.

Voici un exemple d’achat en C#.

Pour en faire une requête d’autorisation ou de vérification, modifiez la valeur “ccPurchase” – dans la ligne “CCTxnResponseV1 ccTxnResponse = ccService.ccPurchase(ccAuthRequest);” ci-dessous – à “ccAuthorize” ou “ccVerification”, respectivement.

//Prepare the call to the Credit Card Web Service
CCAuthRequestV1 ccAuthRequest = new CCAuthRequestV1();
MerchantAccountV1 merchantAccount = new MerchantAccountV1();
merchantAccount.accountNum = "12345678";
merchantAccount.storeID = "myStoreID";
merchantAccount.storePwd = "myStorePWD";
ccAuthRequest.merchantAccount = merchantAccount;
ccAuthRequest.merchantRefNum = "Ref-12345";
ccAuthRequest.amount = "10.00";
CardV1 card = new CardV1();
card.cardNum = "4653111111111111";
CardExpiryV1 cardExpiry = new CardExpiryV1();
cardExpiry.month = 11;
cardExpiry.year = 2006;
card.cardExpiry = cardExpiry;
card.cardType = CardTypeV1.VI;
card.cardTypeSpecified = true;
card.cvdIndicator = 1;
card.cvdIndicatorSpecified = true;
card.cvd = "111";
ccAuthRequest.card = card;
BillingDetailsV1 billingDetails = new BillingDetailsV1();
billingDetails.cardPayMethod = CardPayMethodV1.WEB; //WEB = Card Number Provided
billingDetails.cardPayMethodSpecified = true;
billingDetails.firstName = "Jane";
billingDetails.lastName = "Jones";
billingDetails.street = "123 Main Street";
billingDetails.city = "LA";
billingDetails.Item = (object) StateV1.CA; // California
billingDetails.country = CountryV1.US; // United States
billingDetails.countrySpecified = true;
billingDetails.zip = "90210";
billingDetails.phone = "555-555-5555";
billingDetails.email = "janejones@emailserver.com";
ccAuthRequest.billingDetails = billingDetails;
ccAuthRequest.customerIP = "127.0.0.1";
ccAuthRequest.productType = ProductTypeV1.M;
//M = Both Digital and Physical(e.g., software downloaded followed by media
shipment)
ccAuthRequest.productTypeSpecified = true;
// Perform the Web Services call for the purchase
CreditCardServiceV1 ccService = new CreditCardServiceV1();
CCTxnResponseV1 ccTxnResponse = ccService.ccPurchase(ccAuthRequest);
// Print out the result
String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision + " - "
+ ccTxnResponse.description + Environment.NewLine;
if (ccTxnResponse.detail != null)
{
for (int i = 0; i < ccTxnResponse.detail.Length; i++)
{
responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +
ccTxnResponse.detail[i].value + Environment.NewLine;
}
}
responseTxt = responseTxt.Replace("\n", Environment.NewLine);
System.Console.WriteLine(responseTxt);
if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))
{
System.Console.WriteLine("Transaction Successful.");
}
else
{
System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);
}

Schéma ccAuthRequestV1

L’élément ccAuthRequestV1 a la structure suivante :

Éléments ccAuthRequestV1

L’objet de document ccAuthRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 80

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

merchantRefNum

 

Oui

string

Max = 255

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

customerTokenId

   

Pour usage interne seulement

montant

 

Oui

string

Max=
999999999.99

Il s’agit du montant de la requête de transaction.

REMARQUE : Bien qu’elle soit obligatoire, cette valeur sera ignorée pour la transaction ccVerification.

carte

cardNum

Oui

string

Min = 8

Max = 20

Il s’agit du numéro de carte utilisé pour la transaction.

 

cardExpiry

Oui

 

L’élément enfant cardExpiry comporte deux autres éléments enfants – month et year.

  

Élément enfant de cardExpiry

 
 

month

Oui

Int

Max = 2

Il s’agit du mois d’expiration de la carte.

 

year

Oui

Int

Longueur = 4

Il s’agit de l’année d’expiration de la carte.

  
 

cardType

Facultatif

enumeration

Il s’agit du type de carte utilisé pour la transaction. Les valeurs éventuelles sont :

•    AM – American Express

•    DC – Diners Club

•    DI – Discover

•    JC – JCB

•    MC – Mastercard

•    MD – Maestro

•    SF – Swiff

•    SO – Solo

•    VD – Visa Debit

•    VE – Visa Electron

•    VI – Visa

 

issueNum

Facultatif

nombre entier

Max = 2

Numéro à 1 ou 2 chiffres situé au recto de la carte, après le numéro de la carte.

REMARQUE : L’élément issueNum peut être utilisé uniquement lorsque le cardType est MD (Maestro) ou SO (Solo).

 

cvdIndicator

Facultatif

nombre entier

Longueur = 1

Il s’agit de l’état de l’information sur la valeur du CVD.
Les valeurs éventuelles sont :

•    0 – Le client n’a pas fourni de valeur.

•    1 – Le client a fourni une valeur.

•    2 – La valeur est illisible.

•    3 – La valeur ne figure pas sur la carte.

REMARQUE : L’élément cvdIndicator est obligatoire pour la transaction ccVerification. Notez également que même si cet élément est facultatif, il est requis pour plusieurs vérifications liées au risque, et nous vous conseillons vivement de l’inclure afin d’éviter que des transactions échouent.

 

cvd

Conditional

string

Longueur = 3 ou 4

Il s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte. Ce code n’apparaît pas sur les impressions.

REMARQUE : L’élément cvd est obligatoire lorsque la valeur de l’élément cvdIndicator = 1.

authentification

REMARQUE : Utilisez cet élément uniquement avec les requêtes ccAuthorize ou ccPurchase.

indicator

Facultatif

nombre entier

Valeur = 1

Il s’agit du code de l’indicateur de commerce électronique, une valeur à deux chiffres renvoyée par l’émetteur de la carte indiquant si le titulaire de la carte a été authentifié avec succès. Les valeurs éventuelles sont :

Visa / Amex / JCB

05 – Identifie une transaction authentifiée avec succès.

06 – Identifie une tentative de transaction authentifiée.

07 – Identifie une transaction non authentifiée.

Mastercard

•    01 – Identifie une transaction non authentifiée.

02 – Identifie une transaction authentifiée avec succès.

Cette valeur est renvoyée dans l’élément enfant eci de l’élément tdsAuthenticateResponse dans la ccTxnResponseV1 à votre requête ccAuthenticateRequestV1.

 

cavv

Facultatif

string

Max = 80

Il s’agit de la valeur de vérification de l’authentification du titulaire de la carte. Cette valeur est renvoyée dans l’élément enfant cavv de l’élément tdsAuthenticateResponse dans la ccTxnResponseV1 à votre requête ccAuthenticateRequestV1.

 

xid

Facultatif

string

Max = 80

Il s’agit de l’identificateur de transaction renvoyé par l’émetteur de la carte. Cette valeur est renvoyée dans l’élément enfant xid de l’élément tdsAuthenticateResponse dans la ccTxnResponseV1 à votre requête ccAuthenticateRequestV1.

Remarque : Existe seulement pour 3D Secure 1.0.2.

 

enrollmentStatus

Facultatif

enumeration

Indique si l’authentification 3D Secure est possible pour le titulaire de la carte. Les valeurs éventuelles sont :

•    Y – Authentification possible

•    N – Titulaire de la carte non inscrit

•    U – Authentification non disponible

•    E – Erreur

Remarque : Existe seulement pour 3D Secure 1.0.2.

 

authenticationStatus

Facultatif

enumeration

Indique le résultat de l’authentification. Les valeurs éventuelles sont :

•    Y – Le titulaire de la carte s’est authentifié avec succès auprès de l’émetteur de la carte.

•    A – L’authentification du titulaire de la carte a été tentée.

•    N – Le titulaire de la carte ne s’est pas authentifié auprès de l’émetteur de sa carte.

•    U – L’authentification auprès de l’émetteur de la carte n’était pas disponible.

•    E – Erreur

•    R – Transaction refusée

REMARQUE : La valeur R n’existe que pour 3D Secure 2.|

 

directoryServerTransactionId

Facultatif

string

Max = 36

Il s’agit de l’identifiant de transaction de serveur répertoire unique requis pour Mastercard.

REMARQUE : Cela n’existe que pour 3D Secure 2 et n’est requis que pour la marque Mastercard.

 

threeDSecureVersion

Facultatif

string

Min = 5

Max = 8

Il s’agit de la version du protocole 3D Secure.

REMARQUE : Si aucune version n’est spécifiée dans la requête, la valeur par défaut est 1.0.2. et est reprise dans la réponse.

authCode

 

Facultatif

string

Max = 50

Il s’agit du code d’autorisation attribué par la banque émettrice et renvoyé par Paysafe pour une transaction antérieure.

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe.

billingDetails

cardPayMethod

Facultatif

enumeration

C’est ainsi que la carte a été présentée pour la transaction. Les valeurs éventuelles sont :

•    WEB – Numéro de carte communiqué en ligne

•    TEL – Numéro de carte communiqué par téléphone

•    P – Avec carte

•    PD – Avec carte en différé

•    D – Différé

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe.

 

firstName

Facultatif

string

Max = 40

Il s’agit du prénom du client.

 

lastName

Facultatif

string

Max = 40

Il s’agit du nom de famille du client.

 

street

Facultatif

string

Max = 50

Il s’agit de la première ligne de l’adresse du client.

REMARQUE : L’élément street est obligatoire si vous traitez une transaction ccVerification.

 

street2

Facultatif

string

Max = 50

Il s’agit de la deuxième ligne de l’adresse du client.

 

city

Facultatif

string

Max = 40

Il s’agit de la ville de résidence du client.

 

state/region

Facultatif

Si État,
enumeration

Si région, alors chaîne
Max = 40

Il s’agit de l’État, de la province ou de la région de résidence du client.

Indiquez l’État/la province pour les États-Unis ou le Canada. Indiquez la région pour ailleurs qu’aux États-Unis ou au Canada.

 

country

Facultatif

enumeration

Il s’agit du pays de résidence du client.

 

zip

Obligatoire

string

Max = 10

Il s’agit du code ZIP du client s’il se trouve aux États-Unis; sinon, il s’agit du code postal du client.

 

phone

Facultatif

string

Max = 40

Il s’agit du numéro de téléphone du client.

 

adresse courriel

Facultatif

string

Max = 100

Il s’agit de l’adresse courriel du client.

shippingDetails

carrier

Facultatif

enumeration

Il s’agit du transporteur.
Les valeurs éventuelles sont :

•    APC – APC le lendemain

•    APS – AnPost

•    CAD = Service postal du Canada

•    DHL

•    FEX – Fedex

•    RML – Royal Mail

•    UPS = United Parcel Service

•    USPS = United States Postal Service

•    AUTRE

 

shipMethod

Facultatif

enumeration

Il s’agit du mode d’expédition.
Les valeurs éventuelles sont :

•    N = Next Day/Overnight (Le lendemain)

•    T = Two-Day Service (Service en deux jours)

•    C – Lowest Cost (Coût le plus bas)

•    O – Other (Autre)

 

firstName

Facultatif

string

Max = 40

Il s’agit du prénom du destinataire.

 

lastName

Facultatif

string

Max = 40

Il s’agit du nom de famille du destinataire.

 

street

Facultatif

string

Max = 50

Il s’agit de la première ligne de l’adresse du destinataire.

 

street2

Facultatif

string

Max = 50

Il s’agit de la deuxième ligne de l’adresse du destinataire.

 

city

Facultatif

string

Max = 40

Il s’agit de la ville de résidence du destinataire.

 

state/region

Facultatif

Si État,
enumeration

Si région, alors chaîne
Max = 40

Il s’agit de l’État, de la province ou de la région de résidence du destinataire.

Indiquez l’État/la province pour les États-Unis ou le Canada. Indiquez la région pour ailleurs qu’aux États-Unis ou au Canada.

 

country

Facultatif

enumeration

Il s’agit du pays de résidence du destinataire.

 

zip

Facultatif

string

Max = 10

Il s’agit du code ZIP du destinataire s’il se trouve aux États-Unis; sinon, il s’agit du code postal du destinataire.

 

phone

Facultatif

string

Max = 40

Il s’agit du numéro de téléphone du destinataire.

 

adresse courriel

Facultatif

string

Max = 100

Il s’agit de l’adresse courriel du destinataire.

recurring

 

Facultatif

 

REMARQUE : Vous ne pouvez pas inclure à la fois l’élément recurring et l’élément storedCredential dans la même requête d’autorisation. Paysafe recommande d’utiliser storedCredential.

 

recurringIndicator

Conditional

enumeration

Ce paramètre permet d’indiquer si une transaction est une transaction initiale ou récurrente, lorsqu’il s’agit d’un client pour lequel vous traiterez des transactions récurrentes.

En fonction de la passerelle de traitement utilisée, si la valeur pour une transaction répétée est définie sur R, la passerelle peut être plus indulgente concernant certaines exigences comme les données CVD et les informations sur l’adresse, autorisant la requête sans ces données.

Les valeurs éventuelles sont :

•    I –Initial Recurring (Récurrente initiale)

•    R – Subsequent Recurring (Récurrente ultérieure)

 

originalConfirmation
Numéro

Conditional

string

Max = 15

Pour une transaction récurrente, il s’agit du numéro de confirmation renvoyé par Paysafe pour la première transaction de la série. Si vous incluez cette valeur, Paysafe pourra identifier plus précisément une autorisation de règlement ou un règlement au crédit, si l’une ou l’autre de ces transactions s’avère nécessaire à l’avenir.

 

previousConfirmation
Numéro

Conditional

string

Max = 15

Pour une transaction récurrente, il s’agit du numéro de confirmation renvoyé par Paysafe pour la transaction la plus récente de la série. Si vous incluez cette valeur, Paysafe pourra identifier plus précisément une autorisation de règlement ou un règlement au crédit, si l’une ou l’autre de ces transactions s’avère nécessaire à l’avenir.

storedCredential

 

Facultatif

 

L’élément StoredCredential est utilisé pour identifier les requêtes d’autorisation qui utilisent des numéros de carte de crédit stockés par les marchands, afin d’améliorer les taux d’autorisation et de réduire la fraude.

REMARQUE : Vous ne pouvez pas inclure à la fois l’élément recurring et l’élément storedCredential dans la même requête d’autorisation. Paysafe recommande d’utiliser storedCredential.

Si vous n’envoyez pas cet élément et que vous envoyez l’élément recurringIndicator avec la valeur R, le paramètre type sera défini par défaut sur RECURRING et le paramètre occurrence sera défini par défaut sur SUBSEQUENT. Si recurringIndicator est envoyé avec la valeur I, le paramètre type sera défini par défaut sur RECURRING et le paramètre occurrence sera défini par défaut sur INITIAL.

 

type

Facultatif

enumeration

Ceci précise le type de requête effectuée. Les valeurs éventuelles sont :

•    ADHOC – Requête ponctuelle initiée par le consommateur

•    TOPUP – Requête non programmée, initiée par le marchand lorsque le solde d’un consommateur est inférieur à une limite fixée

•    RECURRING – Requête récurrente planifiée, initiée par le marchand

 

occurrence

Facultatif

enumeration

Indique si la requête d’authentifiant enregistrée est initiale ou récurrente. Les valeurs éventuelles sont :

•    INITIAL – Utilisé si le consommateur utilise cette carte de crédit pour la première fois

•    RECURRING – Utilisé lorsque le consommateur utilise cette carte de crédit pour des requêtes ultérieures

REMARQUE : La valeur cvd de la carte est requise lorsque le paramètre est défini sur INITIAL.

customerIp

 

Facultatif

string

Max = 50

Il s’agit de l’adresse IP du client.

productType

 

Facultatif

enumeration

Il s’agit du type de produit vendu.
Les valeurs éventuelles sont :

•    P – Physical Goods (Biens matériels)

•    D - Digital Goods (Biens numériques)

•    C - Digital Content (Contenu numérique)

•    G - Gift Certificate/Digital Cash (Certificat-cadeau/argent numérique)

•    S - Shareware (Partagiciel)

•    M - Both Digital and Physical (Numérique et matériel)

•    R - Account Replenish (Réapprovisionnement de compte)

targetVirtualAccount

 

No

 

Cet élément n’est pas applicable aux transactions par carte de crédit.

cardRiskService

   

Pour usage interne seulement

dupeCheck

 

Facultatif

Booléen

Confirme qu’il ne s’agit pas d’une requête en double. Une requête est considérée comme un doublon si le cardNum, le montant et le merchantRefNum sont identiques.

sdk

version

Conditional

string

Max = 20

Il s’agit de la version de la SDK utilisée, le cas échéant.

Requis si l’élément sdk est fourni.

 

platform

Conditional

string

Max = 10

Il s’agit du langage d’intégration de la SDK utilisée (p. ex. Java, .NET).

Requis si l’élément sdk est fourni.

 

provider

Conditional

string

Max = 20

Il s’agit de l’auteur de la SDK utilisée. La valeur “op” est attribuée lorsque la SDK est fournie par Paysafe.

Requis si l’élément sdk est fourni.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

merchantDescriptor

REMARQUE : Ce paramètre n’est pas pris en charge par toutes les passerelles de traitement. Contactez votre gestionnaire de compte pour de plus amples renseignements.

dynamicDescriptor

Facultatif

string

Max = 25

Il s’agit d’un descripteur de marchand qui sera affiché sur le relevé de carte de crédit du client.

phone

Facultatif

string

Max = 13

Il s’agit du numéro de téléphone du marchand, qui sera ajouté au descripteur du marchand sur le relevé de carte de crédit du client.

accordD

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe.

financingType

Conditional

enumeration

Il s’agit du type de financement offert. Les valeurs éventuelles sont :

•    D – Deferreed payment financing (Financement par paiement différé)

•    E – Equal payment financing (Financement à versements égaux)

 

plan

Conditional

string

Max = 3

Il s’agit du numéro de plan pour cette opération de financement.

 

gracePeriod

Facultatif

nombre entier

Max = 2

Il s’agit du délai de grâce, en mois, associé aux opérations de paiement différé.

 

term

Facultatif

nombre entier

Max = 2

Il s’agit du nombre de paiements, en mois, pour les transactions à versements égaux.

description

 

Facultatif

string

Max = 255

Il s’agit d’une description de la transaction, fournie par le marchand.

cardEntryMode

 

Facultatif

enumeration

Il s’agit de la méthode utilisée pour saisir les informations relatives à la carte. Les valeurs éventuelles sont :

•    SWIPED – Un lecteur de cartes a été utilisé.

•    MANUAL – Le numéro de la carte a été saisi manuellement.

geoLocation

 

Facultatif

 

Il s’agit de l’emplacement géographique de la transaction mobile.

 

latitude

Conditional

string

Max = 24

Il s’agit de la latitude de la transaction mobile (p. ex. 44,903889).

 

longitude

Conditional

string

Max = 24

Il s’agit de la longitude de la transaction mobile (p. ex. -77,255123).

walletTransactionId

   

Pour usage interne seulement.

profile

dateOfBirth

Conditional

 

Ce champ vous permet d’enregistrer la date de naissance du titulaire de la carte, si vous l’avez. Il peut être utilisé pour aider à authentifier l’identité du client auprès d’un service de validation tiers.

  

Élément enfant de dateOfBirth

 
 

day

Obligatoire

nombre entier

Min = 1
Max = 31

Il s’agit du jour de naissance du client.

 

month

Obligatoire

nombre entier

Min = 1
Max = 12

Il s’agit du mois de naissance du client.

 

year

Obligatoire

nombre entier

Min = 1900
Max = 9999

Il s’agit de l’année de naissance du client.

     

visaAdditionalAuthData

REMARQUE : Cet élément est pris en charge par Visa et Mastercard. Le bénéficiaire est réputé être la personne ou la partie qui a la relation contractuelle avec le marchand ou l’institution financière. Il peut être autre que le titulaire de la carte, p. ex. dans le cas d’un parent qui recharge le compte d’épargne d’un enfant. Par conséquent, les champs ne devraient pas être recueillis sur la même page que les renseignements sur le titulaire de carte, mais plutôt être transmis en arrière-plan à partir des dossiers du marchand.

Incluez cet élément si votre code de catégorie de marchand est 6012 et que votre adresse commerciale est située au Royaume-Uni. Si vous avez des questions, veuillez communiquer avec votre gestionnaire de compte. Tous les champs sont facultatifs, mais des amendes peuvent être appliquées si les données ne sont pas fournies de manière systématique et que les rétrofacturations persistent.

 

recipientDateOfBirth

Facultatif

  
  

Élément enfant de recipientdateOfBirth

 

day

Conditional

nombre entier

Min = 1
Max = 31

Il s’agit du jour de naissance du bénéficiaire.

 

month

Conditional

nombre entier

Min = 1
Max = 12

Il s’agit du mois de naissance du bénéficiaire.

 

year

Conditional

nombre entier

Min = 1900
Max = 9999

Il s’agit de l’année de naissance du bénéficiaire.

     
 

recipientZip

Facultatif

string

Max = 10

Il s’agit du code postal du bénéficiaire.

REMARQUE : Les 3 derniers caractères ne sont pas envoyés au réseau bancaire.

 

recipientLastName

Facultatif

string

Max = 40

Il s’agit du nom de famille du destinataire.

REMARQUE : Seuls les 6 premiers caractères sont envoyés au réseau bancaire.

 

recipientAccountNumber

Facultatif

string

Max = 25

Il s’agit du numéro de compte du bénéficiaire, p. ex. un numéro de contrat de prêt ou un identifiant de client. Advenant que le compte du bénéficiaire est une carte prépayée, le numéro de carte peut être envoyé en entier.

REMARQUE : Seuls les 6 premiers et 4 derniers caractères sont envoyés au réseau bancaire et seront masqués en conséquence dans le module d’administration et dans tous les autres rapports, afin de respecter les réglementations PCI.

addendumData tag/value pairs

Toutes les passerelles de traitement ne prennent pas en charge toutes les paires balise/valeur addendumData. Contactez votre gestionnaire de compte pour de plus amples renseignements.

Le tableau suivant contient les paires balise/valeur prises en charge pour l’élément AddendumData.

TagValeur

CUST_ACCT_OPEN_DATE

Il s’agit de la date d’ouverture du compte marchand.

Format = aaaammjj

CUSTOMER_ID

Il s’agit d’un identifiant utilisé par le marchand. Maximum de 64 caractères numériques.

CUSTOMER_SESSION_ID

Cette chaîne est utilisée pour lancer un appel de recherche auprès d’un profileur d’appareil. Il doit s’agir de la même chaîne que celle que vous utilisez comme identifiant de session dans le JavaScript de profilage sur la page HTML que vous présentez à votre client pour le profilage de son appareil.

Caractères acceptés :

[a-z][A-Z][_][-]

KEYWORD

Cette valeur peut être n’importe quel texte que le marchand souhaite utiliser, p. ex. à des fins de rapports dans l’arrière-guichet marchand. Par exemple, vous pouvez l’utiliser comme balise pour identifier la transaction ou le produit acheté sur votre site.

•    Maximum de 255 caractères alphanumériques.

•    Peut être spécifié plusieurs fois, avec une valeur différente à chaque fois.

•    Valide pour les objets CCAuthRequestV1 et CCStoredDataRequestV1.

MERCHANT_COUNTRY_CODE

Il s’agit d’un code de pays à deux caractères. Valeur non validée.

MERCHANT_SIC_CODE

Il s’agit du code standard ISO (SIC) du marchand. Il s’agit d’une chaîne numérique de 4 caractères.

MERCHANT_ZIP_CODE

Maximum de 10 caractères alphanumériques.

PRODUCT_TYPE

Il s’agit du type de produit acheté Les valeurs éventuelles sont :

•    P – Physical Goods (Biens matériels)

•    D - Digital Goods (Biens numériques)

•    C - Digital Content (Contenu numérique)

•    G - Gift certificate/digital cash (Certificat-cadeau/argent numérique)

•    S - Shareware (Partagiciel)

•    M - Digital and physical (Numérique et matériel)

•    R – Account replenish (Réapprovisionnement du compte, p. ex renouvellement d’un abonnement)

PRODUCT_CODE

Il s’agit du code produit de l’article acheté. Maximum de 18 caractères alphanumériques.

SERVICE_REQUEST_CURRENCY

REMARQUE : Cette paire balise/valeur peut être incluse dans l’objet document ccAuthRequestV1 uniquement (c.-à-d. pour les requêtes de transaction par carte d’autorisation, d’achat et de vérification).

Inclure cette paire balise/valeur pour que la devise du compte marchand soit renvoyée dans la réponse à la transaction.

Valeurs éventuelles :

•    on

•    off

USER_DATA_04

Il s’agit d’un champ défini par l’utilisateur. Maximum de 255 caractères alphanumériques.

USER_DATA_05

Il s’agit d’un champ défini par l’utilisateur. Maximum de 255 caractères alphanumériques.

USER_DATA_06

Il s’agit d’un champ défini par l’utilisateur. Maximum de 255 caractères alphanumériques.

Créer des requêtes d’annulation d’autorisation

Les requêtes d’annulation d’autorisation vous permettent d’annuler la totalité ou une partie d’une autorisation existante, à condition qu’aucun règlement (total ou partiel) n’ait été traité pour cette autorisation.

Vous pouvez utiliser les opérations d’annulation d’autorisation pour annuler les autorisations uniquement. Vous ne pouvez pas annuler les transactions d’achat.

Les requêtes d’annulation d’autorisation nécessitent l’objet document ccAuthReversalRequestV1. Cette section décrit la structure d’une ccAuthReversalRequestV1 et la manière d’en créer une.

Exemple d’annulation d’autorisation – C#

Voici un exemple d’annulation d’autorisation en C#.

//Prepare the call to the Credit Card Web Service

CCAuthReversalRequestV1 authReversalRequest = new CCAuthReversalRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

authReversalRequest.merchantAccount = merchantAccount;



authReversalRequest.confirmationNumber = "115147689";

authReversalRequest.merchantRefNum = "AR2";

authReversalRequest.reversalAmount = "18.00";



// Perform the Web Services call for the Auth Reversal

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccAuthorizeReversal(authReversalRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " + ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " + ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " + ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " + ccTxnResponse.decision);

}

Schéma ccAuthReversalRequestV1

Une ccAuthReversalRequestV1 a la structure suivante :

Éléments ccAuthReversalRequestV1

L’objet document ccAuthReversalRequestV1 contient les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 80

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

confirmationNumber

 

Oui

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe pour l’autorisation que vous souhaitez annuler.

merchantRefNum

 

Oui

string

Max = 255

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

reversalAmount

 

Facultatif

string

Max=
999999999.99

Il s’agit du montant de l’autorisation initiale que vous souhaitez annuler. Si vous omettez cet élément, le montant total de l’autorisation initiale sera annulé.

REMARQUE : Toutes les passerelles de traitement ne prennent pas en charge les annulations d’autorisation partielles. Contactez votre gestionnaire de compte pour de plus amples renseignements.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction. 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction. 

geoLocation

 

Facultatif

 

Il s’agit de l’emplacement géographique de la transaction mobile.

latitude

Conditional

string

Max = 24

Il s’agit de la latitude de la transaction mobile (p. ex. 44,903889).

longitude

Conditional

string

Max = 24

Il s’agit de la longitude de la transaction mobile (p. ex. -77,255123).

Créer des requêtes de règlement/crédit

Les requêtes de règlement et de crédit nécessitent l’objet document ccPostAuthRequestV1. Cette section décrit la structure d’une ccPostAuthRequestV1 et la manière d’en créer une.

Exemple de règlement – C#

Voici un exemple de règlement en C#.

Pour en faire une requête de crédit, il suffit de modifier la valeur “ccSettlement” – dans la ligne “CCTxnResponseV1 ccTxnResponse = ccService.ccSettlement(ccPostAuthRequest);” ci-dessous – à “ccCredit”.

//Prepare the call to the Credit Card Web Service

CCPostAuthRequestV1 ccPostAuthRequest = new CCPostAuthRequestV1();

ccPostAuthRequest.confirmationNumber = "123456";

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID= "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccPostAuthRequest.merchantAccount = merchantAccount;

ccPostAuthRequest.merchantRefNum = "Ref-12345";

ccPostAuthRequest.amount = "10.00";



// Perform the Web Service call for the Settlement

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccSettlement(ccPostAuthRequest);



// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
" - " + ccTxnResponse.description ;

responseTxt += "Details:" + Environment.NewLine;



if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);

}

Schéma ccPostAuthRequestV1

Un objet document ccPostAuthRequestV1 a la structure suivante :

Éléments ccPostAuthRequestV1

L’objet document ccPostAuthRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

confirmationNumber

 

Oui

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe en réponse à la requête initiale.

merchantRefNum

 

Oui

string

Max = 40

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

montant

 

Facultatif

string

Max=
999999999.99

Il s’agit du montant de la requête de transaction. Vous pouvez régler la totalité ou une partie d’une autorisation. Vous pouvez créditer la totalité ou une partie d’un règlement.

origMerchantTxn

 

Conditional

string

Max = 255

Il s’agit de l’identifiant de transaction du marchand qui a été traité via l’API Prélèvement automatique et qui est maintenant crédité via l’API Services Web.

dupeCheck

 

Facultatif

Booléen

Confirme qu’il ne s’agit pas d’une requête en double. Une requête est considérée comme un doublon si le cardNum, le montant et le merchantRefNum sont identiques.

sdk

version

Conditional

string

Max = 20

Il s’agit de la version de la SDK utilisée, le cas échéant.

Requis si l’élément sdk est fourni.

 

platform

Conditional

string

Max = 10

Il s’agit du langage d’intégration de la SDK utilisée (p. ex. Java, .NET).

Requis si l’élément sdk est fourni.

 

provider

Conditional

string

Max = 20

Il s’agit de l’auteur de la SDK utilisée. La valeur “op” est attribuée lorsque la SDK est fournie par Paysafe.

Requis si l’élément sdk est fourni.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

geoLocation

 

Facultatif

 

Il s’agit de l’emplacement géographique de la transaction mobile.

 

latitude

Conditional

string

Max = 24

Il s’agit de la latitude de la transaction mobile (p. ex. 44,903889).

 

longitude

Conditional

string

Max = 24

Il s’agit de la longitude de la transaction mobile (p. ex. -77,255123).

accordD

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe. Il ne peut pas être utilisé pour des requêtes de crédit.

 

Facultatif

Vous ne pouvez inclure l’élément accordD que si vous l’avez déjà fourni dans la requête d’autorisation que vous êtes en train de régler et que vous souhaitez modifier une ou plusieurs des conditions spécifiées dans les éléments enfants.

 

financingType

Conditional

enumeration

Il s’agit du type de financement offert. Les valeurs éventuelles sont :

•    D – Deferreed payment financing (Financement par paiement différé)

•    E – Equal payment financing (Financement à versements égaux)

 

plan

Conditional

string

Max = 3

Il s’agit du numéro de plan pour cette opération de financement.

 

gracePeriod

Facultatif

nombre entier

Max = 2

Il s’agit du délai de grâce, en mois, associé aux opérations de paiement différé.

 

term

Facultatif

nombre entier

Max = 2

Il s’agit du nombre de paiements, en mois, pour les transactions à versements égaux.

Créer des requêtes de données stockées

Les requêtes d’autorisation ou d’achat avec données stockées nécessitent l’objet document ccStoredDataRequestV1. Cette section décrit la structure d’une ccStoredDataRequestV1 et la manière d’en créer une. 

Les requêtes de données stockées vous permettent d’effectuer des autorisations et des achats par carte de crédit en fournissant un minimum d’informations sur le client. La requête de données stockées nécessite un numéro de confirmation d’une autorisation ou d’un achat antérieur.

Le numéro de confirmation peut dater de 24 mois au maximum.

Ce numéro de confirmation permet à Paysafe d’accéder à la plupart des données nécessaires à la transaction à partir de sa base de données.

Si vous traitez une requête de données stockées à l’aide d’un numéro de confirmation provenant d’une transaction qui comprenait l’élément visaAdditionalAuthData, cette information sera incluse dans la nouvelle requête. Toutefois, si vous ajoutez l’élément visaAdditionalAuthData séparément à la nouvelle requête de données stockées, il remplacera toutes les données similaires associées au numéro de confirmation, pour cette requête uniquement.

Exemple d’autorisation de données stockées – C#

Voici un exemple d’autorisation de données stockées en C#.

Pour en faire une requête d’achat avec données stockées, il suffit de modifier la valeur “ccStoredDataAuthorize” – dans la ligne “CCTxnResponseV1 ccTxnResponse = ccService.ccStoredDataAuthorize(ccStoredDataRequest);” ci-dessous – à “ccStoredDataPurchase”.

//Prepare the call to the Credit Card Web Service

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";



CCStoredDataRequestV1 ccStoredDataRequest = new CCStoredDataRequestV1();

ccStoredDataRequest.confirmationNumber = "111374429";

ccStoredDataRequest.amount = "97.97";

ccStoredDataRequest.merchantRefNum = "jim55";

ccStoredDataRequest.merchantAccount = merchantAccount;



// Perform the Web Service call for the Stored Data Transaction

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccStoredDataAuthorize(ccStoredDataRequest);

String responseTxt = "";



// Print out the result

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

Schéma ccStoredDataRequestV1

Un objet document ccStoredDataRequestV1 a la structure suivante :

Éléments ccStoredDataRequestV1

L’objet document ccStoredDataRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Requis

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Requis

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Requis

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

merchantRefNum

 

Requis

string

Max = 255

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

confirmationNumber

 

Requis

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe en réponse à la requête initiale.

REMARQUE : Le numéro de confirmation peut dater de 24 mois au maximum.

montant

 

Requis

string

Max=
999999999.99

Il s’agit du montant de la requête de transaction.

cardExpiry

month

Facultatif

Int

Max = 2

Il s’agit du mois d’expiration de la carte.

Utilisez cet élément pour inclure des informations actualisées sur la date d’expiration de la carte, si nécessaire, à inclure avec le reste des données de la transaction.

 

year

Facultatif

Int

Longueur = 4

Il s’agit de l’année d’expiration de la carte.

Utilisez cet élément pour inclure des informations actualisées sur la date d’expiration de la carte, si nécessaire, à inclure avec le reste des données de la transaction.

cvdIndicator

 

Facultatif

nombre entier

Longueur = 1

Il s’agit de l’état de l’information sur la valeur du CVD.
Les valeurs éventuelles sont :

•    0 – Le client n’a pas fourni de valeur.

•    1 – Le client a fourni une valeur.

•    2 – La valeur est illisible.

•    3 – La valeur ne figure pas sur la carte.

cvd

 

Conditional

string

Longueur = 3 ou 4

Il s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte. Ce code n’apparaît pas sur les impressions.

Lorsque vous fournissez le CVD pour une requête de données stockées, la transaction bénéficie d’une protection totale du CVD. Cependant, vous ne devez jamais stocker les informations CVD, mais demander au consommateur de les transmettre lors de la requête.

REMARQUE : L’élément cvd est obligatoire lorsque la valeur de l’élément cvdIndicator = 1.

storedCredential

 

Facultatif

 

L’élément storedCredential est utilisé pour identifier les requêtes de données stockées qui utilisent des données de carte de crédit stockées par Paysafe. Dans ce cas, il s’agit des données de la carte associées à un numéro de confirmation renvoyé dans la réponse à une autorisation précédemment réussie.

 

type

Facultatif

enumeration

Ceci précise le type de requête effectuée. Les valeurs éventuelles sont :

•    ADHOC – Requête ponctuelle initiée par le consommateur

•    TOPUP – Requête non programmée, initiée par le marchand lorsque le solde d’un consommateur est inférieur à une limite fixée

•    RECURRING – Requête récurrente planifiée, initiée par le marchand

REMARQUE : La valeur par défaut est ADHOC.

 

occurrence

Facultatif

enumeration

Indique si la requête d’authentifiant enregistrée est initiale ou récurrente. Les valeurs éventuelles sont :

•    INITIAL – Utilisé si le consommateur utilise cette carte de crédit pour la première fois

•    SUBSEQUENT – Utilisé lorsque le consommateur utilise cette carte de crédit pour des requêtes ultérieures

REMARQUE : La valeur par défaut est SUBSEQUENT. La valeur cvd de la carte est requise lorsque cette valeur est définie sur INITIAL.

merchantDescriptor

REMARQUE : Ce paramètre n’est pas pris en charge par toutes les passerelles de traitement. Contactez votre gestionnaire de compte pour de plus amples renseignements.

dynamicDescriptor

Facultatif

string

Max = 25

Il s’agit d’un descripteur de marchand qui sera affiché sur le relevé de carte de crédit du client.

phone

Facultatif

string

Max = 13

Il s’agit du numéro de téléphone du marchand, qui sera ajouté au descripteur du marchand sur le relevé de carte de crédit du client.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction. 

Créer des requêtes d’annulation de transaction

Utilisez l’objet document CCCancelRequestV1 pour annuler les opérations de règlement, de crédit, de paiement et de crédit autonome. Cette section décrit la structure d’une ccCancelRequestV1 et la façon d’en construire une.

Exemple d’annulation de règlement – C#

Voici un exemple d’annulation de règlement en C#.

Pour en faire une requête d’annulation d’un crédit, d’un paiement ou d’un crédit autonome, il suffit de modifier la valeur “ccCancelSettle” – dans la ligne “CCTxnResponseV1 ccTxnResponse = ccService.ccCancelSettle(ccCancelRequest);” ci-dessous – à “ccCancelCredit”, “ccCancelPayment” ou “ccCancelIndependentCredit”, respectivement.

//Prepare the call to the Credit Card Web Service

CCCancelRequestV1 ccCancelRequest = new CCCancelRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID= "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccCancelRequest.merchantAccount = merchantAccount;

ccCancelRequest.confirmationNumber = "123456";



// Perform the Web Services call for the cancel settle

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccCancelSettle(ccCancelRequest);



// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
" - " + ccTxnResponse.description ;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);

}

Schéma ccCancelRequestV1

Un objet document CCCancelRequestV1 a la structure suivante :

Éléments ccCancelRequestV1

L’objet document ccCancelRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

confirmationNumber

 

Oui

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe pour la requête initiale de règlement ou de crédit.

sdk

version

Conditional

string

Max = 20

Il s’agit de la version de la SDK utilisée, le cas échéant.

Requis si l’élément sdk est fourni.

 

platform

Conditional

string

Max = 10

Il s’agit du langage d’intégration de la SDK utilisée (p. ex. Java, .NET).

Requis si l’élément sdk est fourni.

 

provider

Conditional

string

Max = 20

Il s’agit de l’auteur de la SDK utilisée. La valeur “op” est attribuée lorsque la SDK est fournie par Paysafe.

Requis si l’élément sdk est fourni.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction. 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction. 

geoLocation

 

Facultatif

 

Il s’agit de l’emplacement géographique de la transaction mobile.

 

latitude

Conditional

string

Max = 24

Il s’agit de la latitude de la transaction mobile (p. ex. 44,903889).

 

longitude

Conditional

string

Max = 24

Il s’agit de la longitude de la transaction mobile (p. ex. -77,255123).

Créer des requêtes de paiement/crédit autonome

Les paiements et les crédits indépendants nécessitent l’objet document ccPaymentRequestV1. Cette section décrit la structure d’une ccPaymentRequestV1 et la façon d’en créer une.

Exemple de paiement – C#

Tous les éléments facultatifs qui prennent des types de données non annulables (p. ex. int ou enum) doivent avoir leur attribut spécifié défini sur « true » lors de la définition des valeurs pour ces éléments. Voir l’élément cardType dans l’exemple ci-dessous.

Voici un exemple de paiement en C#.

Pour en faire une requête de crédit autonome, il suffit de modifier la valeur “ccPayment” – dans la ligne “CCTxnResponseV1 ccTxnResponse = ccService.ccPayment(ccPaymentRequest);” ci-dessous – à “ccIndependentCredit”.

//Prepare the call to the Credit Card Web Service

CCPaymentRequestV1 ccPaymentRequest = new CCPaymentRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccPaymentRequest.merchantAccount = merchantAccount;

ccPaymentRequest.merchantRefNum = "Ref-12345";

ccPaymentRequest.amount = "10.00";

CardV1 card = new CardV1();

card.cardNum = "4653111111111111";

CardExpiryV1 cardExpiry = new CardExpiryV1();

cardExpiry.month = 11;

cardExpiry.year = 2006;

card.cardExpiry = cardExpiry;

card.cardType = CardTypeV1.VI;

card.cardTypeSpecified = true;

card.cvdIndicator = 1;

card.cvdIndicatorSpecified = true;

card.cvd = "111";

ccPaymentRequest.card = card;

BillingDetailsV1 billingDetails = new BillingDetailsV1();

billingDetails.cardPayMethod = CardPayMethodV1.WEB; //WEB = Card Number Provided

billingDetails.cardPayMethodSpecified = true;

billingDetails.firstName = "Jane";

billingDetails.lastName = "Jones";

billingDetails.street = "123 Main Street";

billingDetails.city = "LA";

billingDetails.Item = (object)StateV1.CA; // California

billingDetails.country = CountryV1.US; // United States

billingDetails.countrySpecified = true;

billingDetails.zip = "90210";

billingDetails.phone = "555-555-5555";

billingDetails.email = "janejones@emailserver.com";

ccPaymentRequest.billingDetails = billingDetails;



// Perform the Web Services call for the payment request

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccPayment(ccPaymentRequest);



// Print out the result

String responseTxt ccTxnResponse.code + " - " + ccTxnResponse.decision + " - "

+ ccTxnResponse.description ;



responseTxt += "Details:" + Environment.NewLine;



if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}



}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

}

catch (WebException we)

{

consoleTextBox.Text += we.Message.ToString();

consoleTextBox.Refresh();

}

Schéma ccPaymentRequestV1

Une ccPaymentRequestV1 a la structure suivante :

Éléments ccPaymentRequestV1

L’objet document ccPaymentRequestV peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 80

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

merchantRefNum

 

Oui

string

Max = 40

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

customerTokenId

   

Pour usage interne seulement

montant

 

Oui

string

Il s’agit du montant de la requête de transaction.

Le montant maximum est configuré pour chaque marchand. Il s’applique à chaque transaction et au plafond journalier par carte de crédit. Contactez votre gestionnaire de comptes pour de plus amples renseignements.

carte

cardNum

Oui

string

Min = 8

Max = 20

Il s’agit du numéro de carte utilisé pour la transaction.

 

cardExpiry

Oui

 

L’élément enfant cardExpiry comporte deux autres éléments enfants – month et year.

  

Élément enfant de cardExpiry

 
 

month

Oui

Int

Max = 2

Il s’agit du mois d’expiration de la carte.

 

year

Oui

Int

Longueur = 4

Il s’agit de l’année d’expiration de la carte.

  
 

cardType

Facultatif

enumeration

Il s’agit du type de carte utilisé pour la transaction. Les valeurs éventuelles sont :

•    AM – American Express

•    DC – Diners Club

•    DI – Discover

•    JC – JCB

•    MC – Mastercard

•    MD – Maestro

•    SO – Solo

•    VD – Visa Debit

•    VE – Visa Electron

•    VI – Visa

 

issueNum

Facultatif

nombre entier

Max = 2

Numéro à 1 ou 2 chiffres situé au recto de la carte, après le numéro de la carte.

REMARQUE : L’élément issueNum peut être utilisé uniquement lorsque le cardType est MD (Maestro) ou SO (Solo).

 

cvdIndicator

Facultatif

nombre entier

Longueur = 1

Il s’agit de l’état de l’information sur la valeur du CVD.
Les valeurs éventuelles sont :

•    0 – Le client n’a pas fourni de valeur.

•    1 – Le client a fourni une valeur.

•    2 – La valeur est illisible.

•    3 – La valeur ne figure pas sur la carte.

REMARUQUE : Même si cet élément est facultatif, il est requis pour plusieurs vérifications liées au risque, et nous vous conseillons vivement de l’inclure afin d’éviter que des transactions échouent.

 

cvd

Conditional

string

Longueur = 3 ou 4

Il s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte. Ce code n’apparaît pas sur les impressions.

REMARQUE : L’élément cvd est obligatoire lorsque la valeur de l’élément cvdIndicator = 1.

billingDetails

cardPayMethod

  

Pour usage interne seulement

 

firstName

Facultatif

string

Max = 40

Il s’agit du prénom du client.

 

lastName

Facultatif

string

Max = 40

Il s’agit du nom de famille du client.

 

street

Facultatif

string

Max = 50

Il s’agit de la première ligne de l’adresse du client.

 

street2

Facultatif

string

Max = 50

Il s’agit de la deuxième ligne de l’adresse du client.

 

city

Facultatif

string

Max = 40

Il s’agit de la ville de résidence du client.

 

state/region

Facultatif

Si État,
enumeration

Si région, alors chaîne
Max = 40

Il s’agit de l’État, de la province ou de la région de résidence du client.

Indiquez l’État/la province pour les États-Unis ou le Canada. Indiquez la région pour ailleurs qu’aux États-Unis ou au Canada.

 

country

Facultatif

enumeration

Il s’agit du pays de résidence du client. 

 

zip

Obligatoire

string

Max = 10

Il s’agit du code ZIP du client s’il se trouve aux États-Unis; sinon, il s’agit du code postal du client.

 

phone

Facultatif

string

Max = 40

Il s’agit du numéro de téléphone du client.

 

adresse courriel

Facultatif

string

Max = 100

Il s’agit de l’adresse courriel du client.

sdk

version

Conditional

string

Max = 20

Il s’agit de la version de la SDK utilisée, le cas échéant.

Requis si l’élément sdk est fourni.

 

platform

Conditional

string

Max = 10

Il s’agit du langage d’intégration de la SDK utilisée (p. ex. Java, .NET).

Requis si l’élément sdk est fourni.

 

provider

Conditional

string

Max = 20

Il s’agit de l’auteur de la SDK utilisée. La valeur “op” est attribuée lorsque la SDK est fournie par Paysafe.

Requis si l’élément sdk est fourni.

authcode

 

Facultatif

string

Max = 50

Il s’agit du code d’autorisation attribué par la banque émettrice et renvoyé par Paysafe pour une transaction antérieure.

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe.

previousConfirmationNumber

 

Facultatif

string

Max = 20

Il s’agit du numéro de confirmation d’une autorisation précédemment traitée.

REMARQUE : Incluez cet élément uniquement si vous en recevez l’instruction de la part de Paysafe.

addendumData

tag

Facultatif

string

Max = 30

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

 

value

Facultatif

string

Max = 1024

Il s’agit de données supplémentaires qui peuvent être jointes à la requête de transaction.

Créer des requêtes de recherche de transaction

La requête de recherche de transaction par carte de crédit vous permet d’exécuter un rapport, sur une plage de dates que vous spécifiez, pour obtenir des données sur les transactions par carte de crédit traitées par l’intermédiaire de votre compte marchand. Par exemple, vous pouvez vouloir déterminer le résultat d’une transaction qui s’est interrompue, sans réponse, ou le résultat d’une transaction par lot qui a été refusée à une date ultérieure.

Vous pouvez rechercher les types de transaction suivants :

  • Autorisation
  • Achat
  • Règlement
  • Crédit
  • Paiement/crédit autonome

Exemple de recherche de transaction – C#

Voici un exemple de ccTxnLookupRequest en C#.

// Prepare the call to the Credit Card Web Service

CCTxnLookupRequestV1 ccTxnLookupRequest = new CCTxnLookupRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccTxnLookupRequest.merchantAccount = merchantAccount;

ccTxnLookupRequest.merchantRefNum = "123456789";



DateV1 startDate = new DateV1();

startDate.year = "2012";

startDate.month = "08";

startDate.day = "15";

startDate.hour = "11";

startDate.minute = "00";

startDate.second = "00";

ccTxnLookupRequest.startDate = startDate;



DateV1 endDate = new DateV1();

endDate.year = "2012";

endDate.month = "08";

endDate.day = "15";

endDate.hour = "14";

endDate.minute = "00";

endDate.second = "00";

ccTxnLookupRequest.endDate = endDate;



//Perform the Web Services call to process the request

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTxnLookup(ccTxnLookupRequest);

// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision;

responseTxt += "Transactions:" + Environment.NewLine;

if (ccTxnResponse.transaction != null)

{

for (int i = 0; i < ccTxnResponse.txnLookupResult.length; i++)

{

responseTxt += " - confirmationNumber: " +

ccTxnResponse.txnLookupResult[i].confirmationNumber + Environment.NewLine;

responseTxt += " - decison: " +

ccTxnResponse.txnLookupResult[i].decision + Environment.NewLine;

responseTxt += " - code: " +

ccTxnResponse.txnLookupResult[i].code + Environment.NewLine;

responseTxt += " - transaction type: " +

ccTxnResponse.txnLookupResult[i].tranType + Environment.NewLine;

responseTxt += " - transaction time: " +

ccTxnResponse.txnLookupResult[i].txnTime + Environment.NewLine;

responseTxt += " - merchantRefNum: " +

ccTxnResponse.txnLookupResult[i].merchantRefNum + Environment.NewLine;

responseTxt += " - card ending: " +

ccTxnResponse.txnLookupResult[i].cardEnding + Environment.NewLine;

responseTxt += " - card ending: " +

ccTxnResponse.txnLookupResult[i].cardEnding + Environment.NewLine;



CardExpiryV1 expiry = ccTxnResponse.txnLookupResult[i].cardExpiry;

responseTxt += " - card expiry: " +

expiry.month + "/" + expiry.year + Environment.NewLine;



responseTxt += Environment.NewLine + Environment.NewLine;

}



System.Console.WriteLine(responseTxt);

}

Schéma ccTxnLookupRequestV1

Une ccTxnLookupRequestV1 a la structure suivante :

Éléments ccTxnLookupRequestV1

L’objet document ccTxnLookupRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

confirmationNumber

 

Facultatif

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe en réponse à la requête initiale. N’incluez cet élément que si vous souhaitez effectuer une recherche à l’aide de ce champ. Ce champ a priorité sur le champ merchantRefNum.

REMARQUE: Si vous incluez cet élément, vous n’avez pas besoin de spécifier les éléments startDate ou endDate.

netbanxReference

 

Facultatif

string

Max = 18

Il s’agit d’un identifiant de transaction utilisé pour identifier certaines transactions antérieures.

REMARQUE : Si vous incluez cet élément, vous devez spécifier les éléments startDate et endDate.

merchantRefNum

 

Facultatif

string

Max = 255

Il s’agit du numéro d’identification unique associé à la requête initiale. La valeur est créée par le marchand et soumise dans le cadre de la requête.

REMARQUE : Si vous incluez cet élément, vous devez spécifier les éléments startDate et endDate.

startDate

year

Conditional

Int

Max = 9999

Il s’agit de l’année définie pour le début de la recherche.

 

month

Conditional

Int

Min = 1

Max = 12

Il s’agit du mois défini pour le début de la recherche.

 

day

Conditional

Int

Min = 1

Max = 31

Il s’agit du jour défini pour le début de la recherche.

 

hour

Conditional

Int

Min = 0

Max = 23

Il s’agit de l’heure définie pour le début de la recherche.

 

minute

Conditional

Int

Min = 0

Max = 59

Il s’agit de la minute définie pour le début de la recherche.

 

second

Conditional

Int

Min = 0

Max = 59

Il s’agit de la seconde définie pour le début de la recherche.

endDate

year

Conditional

Int

Max = 9999

Il s’agit de l’année définie pour la fin de la recherche.

 

month

Conditional

Int

Min = 1

Max = 12

Il s’agit du mois défini pour la fin de la recherche.

 

day

Conditional

Int

Min = 1

Max = 31

Il s’agit du jour défini pour la fin de la recherche.

 

hour

Conditional

Int

Min = 0

Max = 23

Il s’agit de l’heure définie pour la fin de la recherche.

 

minute

Conditional

Int

Min = 0

Max = 59

Il s’agit de la minute définie pour la fin de la recherche.

 

second

Conditional

Int

Min = 0

Max = 59

Il s’agit de la seconde définie pour la fin de la recherche.

Créer des requêtes de recherche d’inscription

Utilisez la requête de recherche d’inscription pour déterminer si la carte de crédit d’un titulaire est inscrite au programme 3D Secure. Les requêtes de recherche d’inscription nécessitent l’objet document ccEnrollmentLookupRequestV1. Cette section décrit la structure d’une ccEnrollmentLookupRequestV1 et la façon d’en créer une. 

Cette opération n’est prise en charge que pour 3D Secure 1.0.2.
Voir ici pour des informations sur l’utilisation de 3D Secure 2.

Exemple de recherche d’inscription – C#

Voici un exemple de recherche d’inscription en C#.

Tous les éléments facultatifs qui prennent des types de données non annulables (p. ex. int ou enum) doivent avoir leur attribut spécifié défini sur « true » lors de la définition des valeurs pour ces éléments. Voir l’élément cardType dans l’exemple ci-dessous.

//Prepare the call to the Credit Card Web Service

CCEnrollmentLookupRequestV1 enrollmentLookupRequest = new CCEnrollmentLookupRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

enrollmentLookupRequest.merchantAccount = merchantAccount;



enrollmentLookupRequest.merchantRefNum = "Ref-12345";

enrollmentLookupRequest.amount = "97.97";



CardV1 card = new CardV1();

card.cardNum = "4653111111111111";

CardExpiryV1 cardExpiry = new CardExpiryV1();

cardExpiry.month = 11;

cardExpiry.year = 2013;

card.cardExpiry = cardExpiry;

card.cardType = CardTypeV1.VI;

card.cardTypeSpecified = true;

enrollmentLookupRequest.card = card;



// Perform the Web Services call for the TDS Enrollment Lookup

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTDSLookup(enrollmentLookupRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " + ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " + ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " + ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt += "TDSResponse:" + Environment.NewLine;

if (ccTxnResponse.tdsResponse != null)

{

responseTxt += " - " + ccTxnResponse.tdsResponse.acsURL + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.paymentRequest + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.enrollmentStatus + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.eci + Environment.NewLine;

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " + ccTxnResponse.decision);

}

Schéma ccEnrollmentLookupRequestV1

Une requête de recherche d’inscription ccEnrollmentLookupRequestV1 a la structure suivante :

Éléments ccEnrollmentLookupRequestV1

L’objet document ccEnrollmentLookupRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

merchantRefNum

 

Oui

string

Max = 255

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

montant

 

Oui

string

Max=
999999999.99

Il s’agit du montant de la requête de transaction.

REMARQUE: Bien que l’élément amount soit obligatoire pour l’opération de recherche d’inscription, aucun montant n’est en fait débité de la carte de crédit.

carte

cardNum

Oui

string

Min = 8

Max = 20

Il s’agit du numéro de carte utilisé pour la transaction.

 

cardExpiry

Oui

 

L’élément enfant cardExpiry comporte deux autres éléments enfants – month et year.

  

Élément enfant de cardExpiry

 
 

month

Oui

Int

Max = 2

Il s’agit du mois d’expiration de la carte.

 

year

Oui

Int

Longueur = 4

Il s’agit de l’année d’expiration de la carte.

  
 

cardType

Facultatif

enumeration

Il s’agit du type de carte utilisé pour la transaction. Les valeurs éventuelles sont :

•    JC – JCB

•    MC – Mastercard

•    VI – Visa

 

issueNum

Facultatif

nombre entier

Max = 2

Numéro à 1 ou 2 chiffres situé au recto de la carte, après le numéro de la carte.

REMARQUE : L’élément issueNum n’est pas utilisé pour ce type de requête.

 

cvdIndicator

Facultatif

nombre entier

Longueur = 1

Il s’agit de l’état de l’information sur la valeur du CVD.
Les valeurs éventuelles sont :

•    0 – Le client n’a pas fourni de valeur.

•    1 – Le client a fourni une valeur.

•    2 – La valeur est illisible.

•    3 – La valeur ne figure pas sur la carte.

REMARQUE : L’élément cvdIndicator n’est pas utilisé pour ce type de requête.

 

cvd

Conditional

string

Longueur = 3 ou 4

Il s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte. Ce code n’apparaît pas sur les impressions.

REMARQUE : L’élément cvd n’est pas utilisé pour ce type de requête.

Créer des requêtes d’authentification

Utilisez la requête d’authentification pour permettre à un titulaire de carte d’authentifier sa carte auprès de l’émetteur et pour récupérer les valeurs requises pour l’élément authentication d’une transaction ccAuthRequestV1. Les requêtes d’authentification nécessitent l’objet document ccAuthenticateRequestV1. Cette section décrit la structure d’une ccAuthenticateRequestV1 et la façon d’en créer une.

Cette opération n’est prise en charge que pour 3D Secure 1.0.2.
Voir ici pour des informations sur l’utilisation de 3D Secure 2.

Exemple d’authentification – C#

Voici un exemple d’authentification en C#.

//Prepare the call to the Credit Card Web Service

CCAuthenticateRequestV1 authenticateRequest = new CCAuthenticateRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

authenticateRequest.merchantAccount = merchantAccount;

authenticateRequest.confirmationNumber = "myConfirmationNumber";

authenticateRequest.paymentResponse = "myPaymentResponse";



// Perform the Web Services call for the authentication

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTDSAuthenticate(authenticateRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " +

ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " +

ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

Schéma ccAuthenticateRequestV1

Une ccAuthenticateRequestV1 a la structure suivante :

Éléments ccAuthenticateRequestV1

L’objet document ccAuthenticateRequestV1 peut contenir les éléments suivants :

ÉlémentÉlément enfantRequisTypeDescription

merchantAccount

accountNum

Oui

string

Max = 10

Il s’agit du numéro de compte marchand.

 

storeID

Oui

string

Max = 20

Il s’agit de l’identifiant du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

 

storePwd

Oui

string

Max = 20

Il s’agit du mot de passe du magasin Paysafe, utilisé pour authentifier la requête. Il est défini par Paysafe et fourni au marchand dans le cadre du processus d’intégration.

confirmationNumber

 

Oui

string

Max = 15

Il s’agit du numéro de confirmation dans la ccTxnResponseV1 renvoyée par Paysafe en réponse à la ccEnrollmentLookupRequestV1.

paymentResponse

 

Oui

string

Il s’agit de la réponse d’authentification de paiement qui est renvoyée par la banque émettrice via le navigateur Web de votre client une fois que ce dernier a fourni ses informations d’authentification. Il s’agit d’une réponse codée générée par le logiciel ACS de l’émetteur. Sa signature numérique sera vérifiée par Paysafe pour s’assurer qu’elle a été générée par un émetteur légitime.

merchantRefNum

 

Facultatif

string

Max = 255

Il s’agit d’un numéro d’identification unique associé à chaque requête. La valeur est créée par le marchand et soumise dans le cadre de la requête.

Traitement de la réponse

Une ccTxnResponseV1 a la structure suivante :

Les éléments suivants sont pertinents pour une ccTxnResponseV1 :

ÉlémentÉlément enfantRequisTypeDescription

confirmationNumber

 

Oui

string

Max = 15

Il s’agit du numéro de confirmation renvoyé par Paysafe.

merchantRefNum

 

Facultatif

string

Max = 255

Il s’agit d’un numéro d’identification unique créé par le marchand et soumis dans le cadre de la requête.

childAccountNum

 

Facultatif

string

Max = 10

Il s’agit du numéro de compte marchand enfant, qui n’est fourni que si la transaction a été traitée via un compte principal.

decision

 

Oui

enumeration

Il s’agit de l’état de la transaction. L’un des états suivants est renvoyé :

•    Accepted (Acceptée) – la transaction a été traitée.

•    Error (Erreur) – la transaction a été tentée, mais a échoué pour une raison quelconque.

•    Declined (Refusée) – la transaction a été refusée avant d’être envoyée pour traitement.

•    HELD – la transaction a été mise en attente pour des raisons de risque.

code

 

Oui

Int

Il s’agit d’un code numérique qui catégorise la réponse. 

actionCode

 

Facultatif

enumeration

Indique l’action que l’appelant doit entreprendre.

Les valeurs éventuelles sont :

•    C = Consumer Parameter Error (Erreur de paramètre consommateur) Le consommateur a fourni des informations incorrectes. Demandez au consommateur de corriger les informations.

•    D = Do Not Retry (Ne pas réessayer) Toute autre tentative échouera.

•    M = Merchant Parameter Error (Erreur de paramètre marchand) Votre application a fourni des informations incorrectes. Vérifiez vos informations.

•    R – Retry (Réessayer) Le problème est temporaire. La réitération de la requête sera probablement couronnée de succès.

description

 

Oui

string

Max = 1024

Il s’agit d’une description lisible par un humain de l’élément code.

authCode

 

Facultatif

string

Max = 20

Il s’agit du code d’autorisation attribué par la banque émettrice et renvoyé par Paysafe.

avsResponse

 

Facultatif

enumeration

Il s’agit de la réponse SVA de l’émetteur de la carte. Les valeurs éventuelles sont :

•    X – Exact. Le code postal à neuf chiffres et l’adresse concordent.

•    Y – Oui Le code postal à cinq chiffres et l’adresse concordent.

•    A – L’adresse concorde, mais pas le code postal.

•    W – Le code postal à neuf chiffres concorde, mais pas l’adresse.

•    Z – Le code postal à cinq chiffres concorde, mais pas l’adresse.

•    N – Aucune partie de l’adresse ne concorde.

•    U – Les informations relatives à l’adresse ne sont pas disponibles.

•    R – Retry (Réessayer) Le système est incapable de procéder au traitement.

•    S – SVA non pris en charge.

•    E – SVA non pris en charge pour ce secteur d’activité.

•    B – SVA non exécuté.

•    Q – Réponse inconnue de l’émetteur/du commutateur banknet.

cvdResponse

 

Facultatif

enumeration

Il s’agit de la réponse à la cvdValue soumise avec la requête de transaction. Les valeurs éventuelles sont :

•    M – Match (Correspondance) : la valeur CVD fournie correspond à la valeur CVD associée à la carte.

•    M – No Match (Aucune correspondance) : la valeur CVD fournie correspond à la valeur CVD associée à la carte.

•    P – Not Processed (Non traitée) : la valeur CVD n’a pas été traitée.

•    Q – Unknown Response (Réponse inconnue) : aucun résultat n’a été reçu concernant la valeur CVD.

•    S – Not Present (Absent) : le CVD doit figurer sur la carte. Cependant, le titulaire de la carte a indiqué qu’il n’était pas présent.

•    U – L’émetteur n’est pas certifié et/ou n’a pas fourni les clés de chiffrement Visa.

detail

tag

Facultatif

string

Max = 30

Il s’agit de la paire balise/valeur renvoyée dans l’élément detail. 

 

value

Facultatif

string

Max = 1024

txnTime

 

Oui

dateTime

Il s’agit de la date et de l’heure auxquelles la transaction a été traitée par Paysafe.

duplicateFound

 

Oui

Booléen

Indique si cette transaction est une transaction en double, si un chèque en double a été demandé.

duplicateTransactionResponse

 

Facultatif

CCTxnResponseV1

Si un enregistrement en double a été trouvé, cet élément contient les détails de cet enregistrement.

tdsResponse

Cet élément et ses éléments enfants ne sont renvoyés qu’en réponse à la requête de transaction ccEnrollmentLookupRequestV1.

acsURL

Facultatif

string

Max = 255

Il s’agit d’une URL entièrement qualifiée qui redirige le consommateur vers la transaction de requête d’authentification de paiement.

 

paymentRequest

Facultatif

string

Il s’agit d’une requête d’authentification de paiement encodée générée par le système de traitement de l’authentification du marchand (MAPS).

 

enrollmentStatus

Oui

enumeration

Indique si le titulaire de la carte est inscrit ou non à 3D Secure. Les valeurs éventuelles sont :

•    Y – Authentification possible

•    N – Titulaire de la carte non inscrit

•    U – Authentification non disponible

•    E – Erreur

 

eci

Facultatif

enumeration

Visa/JCB

05 – Identifie une transaction authentifiée avec succès.

06 – Identifie une tentative de transaction authentifiée.

07 – Identifie une transaction non authentifiée.

Mastercard

•    01 – Identifie une transaction non authentifiée.

02 – Identifie une transaction authentifiée avec succès.

Si le titulaire de la carte n’est pas inscrit à 3D Secure, vous pouvez utiliser cette valeur d’indicateur de commerce électronique pour l’élément enfant indicator de l’élément authentication dans votre requête ccAuthRequestV1 d’autorisation ou d’achat.

Toutefois, si le titulaire de la carte est inscrit à 3D Secure, utilisez la valeur eci dans l’élément tdsAuthenticateResponse ci-dessous.

tdsAuthenticateResponse

Cet élément et ses éléments enfants ne sont renvoyés qu’en réponse à la requête de transaction ccAuthenticateRequestV1.

status

Oui

enumeration

Indique le résultat de la requête d’authentification.
Les valeurs éventuelles sont :

•    Y – Le titulaire de la carte s’est authentifié avec succès auprès de l’émetteur de la carte.

•    A – L’authentification du titulaire de la carte a été tentée.

•    N – Le titulaire de la carte ne s’est pas authentifié auprès de l’émetteur de sa carte.

•    U – L’authentification auprès de l’émetteur de la carte n’était pas disponible.

•    E – Erreur

 

cavv

Facultatif

string

Max = 80

Il s’agit de la valeur de vérification de l’authentification du titulaire de la carte renvoyée par l’émetteur de la carte. Utilisez cette valeur pour l’élément enfant indicator de l’élément authentication dans une ccAuthRequestV1.

 

signature
Vérification

Oui

enumeration

Indique si l’élément paymentResponse qui a été soumis avec la requête d’authentification a passé les vérifications d’intégrité.
Les valeurs éventuelles sont :

Y – Toutes les vérifications de transaction et de signature sont satisfaites.

N – Au moins une vérification de transaction ou de signature a échoué.

 

xid

Facultatif

string

Max = 80

Il s’agit de l’identifiant de transaction renvoyé en réponse à une requête d’authentification ccAuthenticateRequestV1.

 

eci

Facultatif

enumeration

Utilisez cette valeur d’indicateur de commerce électronique pour l’élément enfant indicator de l’élément authentication dans votre requête ccAuthRequestV1 d’autorisation ou d’achat.

Visa/JCB

05 – Identifie une transaction authentifiée avec succès.

06 – Identifie une tentative de transaction authentifiée.

07 – Identifie une transaction non authentifiée.

Mastercard

•    01 – Identifie une transaction non authentifiée.

02 – Identifie une transaction authentifiée avec succès.

lbCascading

 

Facultatif

 

Cet élément fournit des informations sur les transactions qui ont été retentées en raison de l’équilibrage de la charge.

 

retryCount

Conditional

Int

Il s’agit du nombre de fois que Paysafe a retenté la transaction.

 

originalCode

Conditional

Int

Le code de réponse initial renvoyé par le système qui a amené Paysafe à réessayer la transaction.

addendumResponse

 

Facultatif

 

Cet élément permet à Paysafe de renvoyer au marchand certaines valeurs de réponse spécifiques à la passerelle.

 

service

Conditional

string

Max = 50

Il s’agit du prestataire de services qui fournit les valeurs pour la paire balise/valeur.

 

detail

Conditional

 

Il peut y avoir plusieurs éléments detail si nécessaire.

  

Élément enfant de detail

 
 

tag

Conditional

string

Max = 30

Il s’agit de la paire balise/valeur renvoyée dans la addendumResponse. 

 

value

Conditional

string

Max = 30

montant

 

Facultatif

string

Max=
999999999.99

Il s’agit du montant de la requête de transaction.

tranType

REMARQUE : L’élément tranType est renvoyé uniquement dans la réponse à une ccTxnLookupRequestV1.

 

Facultatif

enumeration

Il s’agit du type de transaction qui a été recherché. Les valeurs éventuelles sont les suivantes :

•    A – Authorization (Autorisation)

•    S – Settlement (Règlement)

•    P – Purchase (Achat)

•    CR – Credit (Crédit)

•    PY – Payment (Paiement)

•    N – Independant Credit (Crédit autonome)

cardEnding

REMARQUE : L’élément cardEnding est renvoyé uniquement dans la réponse à une ccTxnLookupRequestV1.

 

Facultatif

string

Max = 4

Il s’agit des quatre derniers chiffres de la carte associée à cette transaction.

cardExpiry

REMARQUE : L’élément cardExpiry est renvoyé uniquement dans la réponse à une ccTxnLookupRequestV1.

 

Facultatif

  

month

Conditional

Int

Max = 2

Il s’agit du mois d’expiration de la carte.

year

Conditional

Int

Longueur = 4

Il s’agit de l’année d’expiration de la carte.

netbanxReference

REMARQUE : L’élément netbanxReference est renvoyé uniquement dans la réponse à une ccTxnLookupRequestV1.

 

Facultatif

string

Max = 18

Il s’agit d’un identifiant de transaction qui permet d’identifier certaines transactions antérieures.

txnLookupResult

REMARQUE : L’élément txnLookupResult est renvoyé uniquement dans la réponse à une ccTxnLookupRequestV1.

 

Conditional

 

Cet élément contient tous les éléments contenus dans la ccTxnResponseV1 standard qui auraient été renvoyés pour la requête initiale, en plus des éléments de ce tableau qui sont identifiés comme étant renvoyés uniquement en réponse à une ccTxnLookupRequestV1 (p. ex. tranType).

profile

Id

Facultatif

string

Max = 50

Il s’agit d’un identifiant interne renvoyé dans la réponse à la requête de profil, utilisé pour identifier un client.

 

carte

Conditional

  
  

Élément enfant de card

 
 

Id

Conditional

string

Max = 50

Il s’agit de l’identifiant de la carte renvoyé par Paysafe pour identifier la carte de profil.

 

lastFourDigits

Conditional

nombre entier

Il s’agit des quatre derniers chiffres du numéro de carte associé au profil.

 

paymentToken

Conditional

string

Max = 50

Il s’agit d’un jeton généré par Paysafe qui représente la carte.

Pour traiter une réponse :

  1. Obtenez les données de la réponse, qui sont disponibles via les méthodes get() de la réponse.

    String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
    " - " + ccTxnResponse.description ;

    responseTxt += "Details:" + Environment.NewLine;

    if (ccTxnResponse.detail != null)

    {

    for (int i = 0; i < ccTxnResponse.detail.Length; i++)

    {

    responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

    ccTxnResponse.detail[i].value + Environment.NewLine;

    }

    }

    responseTxt = responseTxt.Replace("\n", Environment.NewLine);

    System.Console.WriteLine(responseTxt);



    if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

    {

    System.Console.WriteLine("Transaction Successful.");

    }

    else

    {

    System.Console.WriteLine("Transaction Failed with decision: " +
    ccTxnResponse.decision);

    }
  2. Traitez en fonction de l’élément decision. Vous devez insérer le code de gestion approprié à votre application. Vous pouvez également consulter l’élément code pour obtenir un contrôle plus fin de votre application.

Détail des paires balise/valeur

Toutes les passerelles de traitement ne prennent pas en charge toutes les paires balise/valeur. Contactez votre gestionnaire de compte pour de plus amples renseignements.

Le tableau suivant contient les paires balise/valeur prises en charge pour l’élément data.

TagValeur

CurrencyCode

Cette valeur est renvoyée si l’élément de balise addendumData de la transaction initiale a été défini sur SERVICE_REQUEST_CURRENCY.

BalanceResponse

Cette valeur correspond au solde restant sur une carte-cadeau, si une carte-cadeau a été utilisée pour la transaction initiale.

Notez que la décimale est implicite pour la devise, donc, par exemple,
“16500” en dollars = 165,00 $.

Paires balise/valeur pour addendumResponse

Toutes les passerelles de traitement ne prennent pas en charge toutes les paires de balise/valeur addendumResponse. Contactez votre gestionnaire de compte pour de plus amples renseignements.

Le tableau suivant contient les paires balise/valeur prises en charge pour l’élément addendumResponse.

TagServiceValeur

BATCH_NUMBER

DJN

Il s’agit de votre numéro de lot.

EFFECTIVE_DATE

DJN

Il s’agit de la date du dépôt bancaire associé à la transaction.
Format = AAMMJJ

SEQ_NUMBER

DJN

Il s’agit de votre numéro de séquence.

TERMINAL_ID

DJN

Il s’agit de l’identifiant de votre terminal.

Codes de devise

CodeDevise

ARS

Peso argentin

AUD

Dollar australien

BGN

Lev bulgare

BRL

Real brésilien

CAD

Dollar canadien

CHF

Franc suisse

CZK

Couronne tchèque

DKK

Couronne danoise

EUR

Euro

GBP

Livre sterling

HKD

Dollar de Hong Kong

HUF

Forint

ILS

Nouveau shekel d’Israël

ISK

Couronne islandaise

JPY

Yen

MXN

Peso mexicain

NOK

Couronne norvégienne

NZD

Dollar néo-zélandais

PLN

Zloty

RON

Nouveau Leu

SEK

Couronne suédoise

SGD

Dollar de Singapour

THB

Baht

TWD

Nouveau dollar taïwanais

USD

Dollar américain

ZAR

Rand