Enregistrement d’une carte bancaire

Ressources

L’accès aux cartes bancaires peut se faire via :

- api/cards/ pour accéder aux cartes enregistrées sur le domaine, en marque grise

- api/users/appuserid/cards , en marque blanche pour accéder aux cartes d’un utilisateur appartenant à l’application tierce connectée .

1.1 Cardregistration

Contient les informations d’une carte bancaire

Propriété Type Exemple Description
Card Card Détails de la carte
Status Int 1 Statut de l’enregistrement carte
0 = En attente
1 = Réalisé
2 = Echoué
UrlReturn String Url de retour client appelé en fin d’enregistrement carte
urlCallback String https://domainedeclare/ajoutcarte Spécifie l’url de callback serveur appelée en fin d’ajout d’une carte (le domaine doit être le même que celui de l’URL de callback déclaré en base)
AvailableCards String "CB ; VISA" Liste des cartes à afficher sur lapage d’enregistrement.
Valeurs possibles ( à séparer des ’ ;’ ) :
CB
MASTERCARD
MAESTRO
VISA
VISA_ELECTRON
ErrorCode Int 0 Code d’erreur pour les enregistrements carte échoués, 0 si aucune erreur.
1 = Le commerçant doit contacter la
banque du porteur
2 = Paiement refusé
3 = Paiement annulé par le client
4 = Porteur non enrôlé 3D-Secure
5 = Erreur authentification 3D-Secure
6 = Erreur technique Systempay
ExtraResults ExtraResults Contient les codes de retour détaillés

1.2 Card

Propriété Type Exemple Description
Id Long 1 Id de la carte
AppCardId String "card123" Identifiant de la carte chez l’application tierce
Name String "Carte bancaire" Nom de la carte
Hint String "597010XXXXXX0009" Masque du numéro de la carte
Country String "FR" Code ISO du pays de la carte
Extraparameters Extraparameters Liste des paramètres permettant d’appliquer un profil prédéfini à la transaction

1.3 ExtraResults

Propriété Type Description
BankAuthResult Int Code retour de la demande d’autorisation retournée par la banque
émettrice, si disponible.
0 = transaction approuvée ou traitée avec succès
2 = contacter l’émetteur de carte
3 = accepteur invalide
4 = conserver la carte
5 = ne pas honorer
7 = conserver la carte, conditions spéciales
8 = approuver après identification
12 = transaction invalide
13 = montant invalide
14 = numéro de porteur invalide
15 = Émetteur de carte inconnu
17 = Annulation client
19 = Répéter la transaction ultérieurement
20 = Réponse erronée (erreur dans le domaine serveur)
24 = Mise à jour de fichier non supportée
25 = Impossible de localiser l’enregistrement dans le fichier
26 = Enregistrement dupliqué, ancien enregistrement remplacé
27 = Erreur en « edit » sur champ de lise à jour fichier
28 = Accès interdit au fichier
29 = Mise à jour impossible
30 = erreur de format
31 = identifiant de l’organisme acquéreur inconnu
33 = date de validité de la carte dépassée
34 = suspicion de fraude
38 = Date de validité de la carte dépassée
41 = carte perdue
43 = carte volée
51 = provision insuffisante ou crédit dépassé
54 = date de validité de la carte dépassée
55 = Code confidentiel erroné
56 = carte absente du fichier
57 = transaction non permise à ce porteur
58 = transaction interdite au terminal
59 = suspicion de fraude
60 = l’accepteur de carte doit contacter l’acqué reur
61 = montant de retrait hors limite
63 = règles de sécurité non respectées
68 = réponse non parvenue ou reçue trop tard
75 = Nombre d’essais code confidentiel dépassé
76 = Porteur déjà en opposition, ancien enregistrement conservé
90 = arrêt momentané du système
91 = émetteur de cartes inaccessible
94 = transaction dupliquée
96 = mauvais fonctionnement du système
97 = échéance de la temporisation de surveillance globale
98 = serveur indisponible routage réseau demandé à nouveau
99 = incident domaine initiateur
RiskControlResult Int Code numérique du résultat des contrôles risques
Null = Pas de contrôle effectué
0 = Tous les contrôles se sont déroulés avec succès
2 = La carte a dépassé l’encours autorisé
3 = La carte appartient à la liste grise du commerçant
4 = Le pays d’émission de la carte appartient à la liste grise du commerçant ou
le pays d’émission de la carte n’appartient pas à la liste blanche du
commerçant.
5 = L’adresse IP appartient à la liste grise du commerçant
6 = Le code bin appartient à la liste grise du commerçant
7 = Détection d’une e-carte bleue
8 = Détection d’une carte commerciale nationale
9 = Détection d’une carte commerciale étrangère
14 = Détection d’une carte à autorisation systématique
20 = Contrôle de cohérence : aucun pays ne correspond (pays IP, pays carte,
pays client)
30 = Le pays de l’adresse IP appartient à la liste grise
99 = Problème technique rencontré par le serveur lors du traitement d’un
des contrôles locaux
ThreedsResult Int Statut final du processus 3D-Secure
0 = statut initial
1 = Statut non applicable (global, raison non détaillée)
2 = Statut non applicable (integrator disabled)
3 = Paiement non e-commerce
4 = Paiement sans 3DS (paiement par identifiant, paypal, cetelem, etc.)
5 = Marchand non enrôlé, pas de 3DS
6 = Erreur technique lors du processus 3DS, pas de 3DS
7 = Porteur non enrôlé, pas de 3DS
8 = Signature invalide
9 = Problème venant de l’ACS
10 = Le processus 3DS s’est déroulé correctement
11 = Le processus 3DS a été fait par l’intégrateur
12 = Problème venant du DS
13 = Timeout lors d’une connexion au DS
14 = Maintien pour la livraison de ce statut
15 = Statut non applicable (3DS présent mais désactivé)
16 = Canal de paiement pour lequel 3DS n’est pas disponible (paiements par
fichier...)
98 = L’initialisation du processus 3DS est OK
99 = Statut inconnu
WarrantyResult bool Garantie de paiement

1.4 ExtraParameters

Le tableau Extraparameters permet de gérer le profil à appliquer lors de la saisie des informations bancaires. Il peut représenter l’application d’un CSS particulier ou la traduction de la page de saisie par exemple.

Propriété Type Exemple Description
profilename String "directpayment" Un profil est un ensemble de paramètres prédéfinis qui seront appliqués lors de l’accès au formulaire si celui-ci est renseigné.
systempaylanguage String "fr" Paramètre permettant la traduction de la page du formulaire de saisie des informations bancaires.
Langues disponibles dans Systempay :
Allemand : de
Anglais : en
Chinois : zh
Espagnol : es
Français : fr
Italien : it
Japonais : ja
Néerlandais : nl
Polonais : pl
Portugais : pt
Russe : ru
Suédois : sv
Turc : tr

1.5 Cas d’erreurs

Code erreur Explication
195 Carte de crédit introuvable
704 Paramètre(s) d’appel manquant(s)
818 L’url de callback serveur (urlCallback) n’est pas déclarée. Merci d’en faire la demande à S-money
717 CardId déjà existant
828 L’0 contient des caractères invalides.
829 Le profil 0 n’existe pas.
830 La langue 0 n’est pas prise en charge par nos services

Enregistrer une carte bancaire

2.1 Envoi des données de la requête d’enregistrement carte au serveur S-money

Pour ajouter une carte bancaire, les paramètres obligatoires sont les suivants :
- card
- appcardid
- urlReturn

Les autres paramètres sont optionnels.

Veuillez vous référer à l’exemple présent en marge de droite de cette page, pour l’enregistrement d’une carte bancaire d’un utilisateur.

Le paramètre "href" contient l’url vers laquelle l’application tierce doit rediriger le navigateur client pour effectuer l’enregistrement de la carte.

2.2 Envoie des données de l’enregistrement carte au serveur tiers

Le serveur tiers doit mettre à disposition une url serveur permettant au serveur S-money de le notifier du résultat de l’exécution du paiement.

L’appel du serveur S-money est effectué en méthode HTTP POST.

Les paramètres de la requête HTTP sont :

Paramètre Type Description
id Long Id de la carte
error Int Code d’erreur pour les renseignements carte échoués, 0 si aucune erreur.
1 = Le commerçant doit contacter la banque du porteur
2 = Paiement refusé
3 = Paiement annulé par le client
4 = Porteur non enrôlé 3D-Secure
5 = Erreur authentification 3D-Secure
6 = Erreur technique SystemPay
type Int Type de l’opération
5 =enregistrement carte
userid String Identifiant de l’utilisateur chez l’application tierce

2.3 Redirection en fin d’enregistrement carte

Le serveur tiers doit mettre à disposition une url permettant au serveur S-money de rediriger le client vers l’environnement tiers.

L’url peut-être soit associée au scheme web (http/https) ou à un scheme privatif dans le cas où l’appel serait effectué à partir d’une application mobile tierce.

L’appel du serveur S-money est effectué en méthode HTTP POST.
Les paramètres de la requête HTTP sont :

Paramètre Type Description
Id Long Id de la carte bancaire
Type Int Type de l’opération
5 = enregistrement carte
Result Int Statut de la transaction
0 = Erreur
1 = OK

Récupérer les informations de l’enregistrement carte

Pour récupérer les informations relatives à l’enregistrement de la carte de l’utilisateur, veuillez vous référer à l’exemple en marge de droite de cette page.

Les informations sur les différents paramètres de la réponse sont disponible dans le chapitre Ressources.

Récupérer la liste des cartes bancaires enregistrées de l’utilisateur

Pour récupérer les cartes bancaires enregistrées de l’utilisateur, veuillez vous référer à l’exemple présent en marge de droite de cette page.

Précision :
Les cartes bancaires dont l’enregistrement ont échoué (statut 2 ) ne sont pas présentes dans la liste des cartes enregistrées de l’utilisateur.
Pour vérifier le statut d’une carte bancaire, veuillez vous référer au chapitre précédent.

Récupérer la liste des cartes enregistrées sur le domaine

Pour récupérer la liste des cartes bancaires enregistrées sur le domaine, veuillez vous référer à l’exemple en marge de droite de cette page.

Récupérer une carte bancaire enregistrée

Pour récupérer les informations d’une carte bancaire, veuillez vous référer à l’exemple en marge de droite de cette page.

Supprimer une carte bancaire enregistrée

Pour supprimer une carte bancaire enregistrée, veuillez vous référer à l’exemple en marge de droite de cette page.