V1

Ressources

L’accès aux paiements carte peut se faire via :

- Accès aux paiements par carte d’un utilisateur connecté
/api/[domaine_partenaire]/payins/cardpayments

- Accès aux paiements par carte d’un utilisateur appartenant à l’application tierce connectée
/api/[domaine_partenaire]/users/appUserId/payins/cardpayments

1.CardPayment v2

Contient les informations d’un paiement par carte bancaire

Propriété Type Exemple Description
Id Long 123 Id du paiement
OrderId String 456 Identifiant du paiement chez l’application tierce
PaymentDate DateTime 2013-09-10 T15:49:58 .791121+02:00 Date du paiement
Amount Long 2350 Montant du paiement (en centimes)
Fee Long Montant de la commission (la propriété "amount" ne comprend pas le montant de la commission)
Status Int 1 Statut du paiement
0 = En attente
1 = Réalisé
2 = Remboursé
3 = Echoué
4 = En attente de validation
5 = Annulé
6 = En attente de remise
Beneficiary SubAccountRef Objet contenant le détail de receveur
Si non précisé, c’est le sous-compte principal de l’utilisateur connecté qui est utilisé
Message String "Déjeuner au restaurant" Message du paiement
IsMine Bool true Vrai si le titulaire du compte est également le titulaire de la carte bancaire (il s’agit d’un chargement du compte et non pas d’un paiement)
ErrorCode Int 0 Code d’erreur pour les paiements é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
UrlReturn String Url de retour client appelée en fin de paiement
UrlCallback String Spécifie l’url de callback serveur appelée en fin de paiement
AvailableCards String "CB ;VISA" Liste des cartes à afficher sur la page d’enregistrement.
Valeurs possibles (à séparer par des ‘ ;’) :
CB
MASTERCARD
MAESTRO
VISA
VISA_ELECTRON
PAYPAL (activé sur demande uniquement)
ECV
SOFORT
Type Int 0 Type du paiement :
0 = Paiement
1 = Remboursement
Card Card Détails de la carte associée au paiement.
A renseigner à la création du paiement si la carte doit être enregistrée. Elle sera liée automatiquement à l’utilisateur si le paramètre « IsMine » est à true.
(option à souscrire auprès de S-money)
PaymentSchedule PaymentSchedule Tableau des échéances de paiement
(option à souscrire auprès de S-money)
Payments Payments Tableau des paiements dans le cas d’un paiement vers plusieurs destinataires
PayerInfo PayerInfo Informations concernant le payeur
Require3DS Bool true Permet d’activer ou désactiver le 3DS, si le paramètre n’est pas transmis, alors le 3DS sera toujours demandé.
(option à souscrire auprès de S-money)
Extraparameters Extraparameters Liste des paramètres permettant d’appliquer un profil prédéfini à la transaction.

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

3. SubaccountRef

Cet objet permet d’identifier les comptes entre lesquels les opérations s’effectuent.

Propriété Type Exemple Description
Id Long 98 Identifiant du compte.
AppAccountId String "123" Identifiant du compte fournit par l’appli tierce.
DisplayName String "Jean Dupont" Nom d’affichage du compte
Href Uri "/api/[domainePartenaire]
/accounts/123"
Uri vers le détail du compte
Propriété Type Exemple Description
Id Long 1 Id de la carte
AppCardId String "card123" Nom de la carte
Name String "Carte bancaire" Nom de la carte
Hint String "597010XXXXXX0009" Masque du numéro de la carte
Network Long 1 UNKNOWN = -1,
AMEX = 0,
CB = 1,
MASTERCARD = 2,
VISA = 3,
MAESTRO = 4,
ECARTEBLEUE = 5,
AUROREMULTI = 6,
BUYSTER = 7,
COFINOGA = 8,
JCB = 9,
ONEY = 10,
ONEY_SANDBOX = 11,
PAYPAL = 12,
PAYPAL_SB = 13,
PAYSAFECARD = 14,
VISA_ELECTRON = 15,
COF3XCB = 16,
COF3XCB_SB = 17,
SOFORT_BANKING = 19,
BANCONTACT = 20,
IDEAL = 21,
POSTFINANCE = 22,
POSTFINANCE_EFIN = 23
Country String "FR" Code ISO du pays de la carte utilisée pour le paiement

4.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 utilisée pour le paiement
ExpiryDate DateTime 2017-07-01T00:00:00 Date d’expiration de la carte (date à partir de laquelle un paiement ne sera plus possible avec cette carte)

5. PaymentSchedule

Le tableau PaymentSchedule permet de gérer des paiements en plusieurs fois.

Propriété Type Exemple Description
SequenceNumber Int 1 Numéro du paiement.
Pour un paiement en 3 fois, la valeur peut être 1, 2 ou 3.
Amount long 150 Montant du paiement de l’échéance
Date DateTime 2013-09-10T
00:00:00.000000
+02:00
Date à laquelle le paiement sera remis
Status Int 1 Statut du paiement
0 = En attente
1 = Réalisé
2 = Remboursée
3 = Echoué
4 = En attente de validation
5 = Annulé
6 = En attente de remise
Fee long Montant de la commission
(la propriété "amount" ne comprend pas le montant de la commission)

Il est possible de passer à la création d’un paiement soit directement le tableau des échéances, soit l’objet ci-dessous qui calcule automatiquement les montants et dates d’échéance :

Propriété Type Exemple Description
FirstAmount Long 10000 Montant de la première échéance
Count Int 3 Nombre d’échéances
Period Int 30 Nombre de jour entre chaque échéance
FirstFee long Montant de la commission de la première échéance
(la propriété "FirstAmount" ne comprend pas le montant de la commission)

Le calcul des échéances (montant et commission) se fait à l’aide de la règle suivante :

N° d’échéance Montant de l’échéance
1 Montant de la 1ère échéance
2 Valeur entière de [(montant total - montant de la 1ère échéance) / (nombre d’échéance - 1)]
N (=nbre d’échéances) Valeur entière de [(montant total - montant de la 1ère échéance) / (nombre d’échéance - 1)] + reste de la division

6. Payerinfo

Propriété Type Exemple Description
Name String "Jean Dupont" Nom et prénom du payeur
Mail String "jean@dupont.fr e-mail du payer

7. Payments

Le tableau Payments permet de gérer la liste des paiements créés lors d’un paiement vers plusieurs destinataires

Propriété Type Exemple Description
OrderId Sring "paiement123" Identifiant du paiement chez l’application tierce
Amount long 1500 Montant du paiement
Status Int 1 Statut du paiement
0 = En attente
1 = Réalisé
2 = Remboursée
3 = Echoué
4 = En attente de validation
5 = Annulé
6 = En attente de remise
Beneficiary SubAccountRef Objet contenant les informations du compte destinataire du paiement.
Fee long 100 Montant de la commission
(la propriété "Amount" ne comprend pas le montant de la commission)

8. Extraparameters

Propriété Type Exemple Description
ProfileName String "directpayment" Un profil est un ensemble de paramètres prédéfinis qui seront appliqués à la transaction si celui-ci est renseigné.
SystempayLanguage String "fr" Paramètre permettant la traduction de la page du formulaire de paiement.
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