V1

Resources

Card payments can be accessed through :

-  Access to card payments of the connected user
/api/[domaine_partenaire]/payins/cardpayments

- Access to card payments of the user belonging to the connected third-party application
/api/[domaine_partenaire]/users/appUserId/payins/cardpayments

1.CardPayment v2

Contains information about a bank card payment

Property Type Example Description
Id Long 123 Payment ID
OrderId String 456 Payment identifier in the third-party application
PaymentDate DateTime 2013-09-10 T15:49:58 .791121+02:00 Payment date
Amount Long 2350 Payment amount (in cents)
Fee Long Fee amount (the amount value does not include the fee amount)
Status Int 1 Payment status
0 = Waiting
1 = Completed
2 = Refunded
3 = Failed
4 = Waiting for validation
5 = Cancelled
6 =Waiting for transfer
Beneficiary SubAccountRef Item containg recipient’s details
If not indicated, the account used is the main sub-account of the connected user
Message String "Déjeuner au restaurant" Payment message
IsMine Bool true Correct, if the account holder is also the bank card holder (it refers to an account top-up and not a payment)
ErrorCode Int 0 Error code for failed payments, 0 if no errors.
1 = The merchant needs to contact cardholder’s bank
2 = Payment refused
3 = Payment cancelled by the client
4 = Holder not 3D-Secure enrolled
5 = 3D- Secure error authentication
6 = Systempay error technique
ExtraResults ExtraResults Contains detailed return codes
UrlReturn String Client’s callback URL invoked once the payment is done
UrlCallback String Specify the url of the callback server invoked at the end of the payment
AvailableCards String "CB ;VISA" List of cards to be displayed on the registration page.
Possible values (to be separated with ‘ ;’) :
CB
MASTERCARD
MAESTRO
VISA
VISA_ELECTRON
PAYPAL (activation exclusively on demand)
ECV
SOFORT
Type Int 0 Payment types :
0 = Payment
1 = Refund
Card Card Details of the card associated with the payment.
When creating a payment, please find out, if the card needs to be registered. It will be linked automatically to the user, if the parameter « IsMine » is true.
(contact S-money to subscribe to this option)
PaymentSchedule PaymentSchedule Payment deadlines table
(contact S-money to subscribe to this option)
Payments Payments Table of payments for payments to multiple receivers
PayerInfo PayerInfo Information concerning the payer
Require3DS Bool true Allows to activate or deactivate 3DS, if the parameter is not transmitted, the 3DS will be always asked. (contact S-money to subscribe to the option)
Extraparameters Extraparameters List of parameters allowing to apply a predefined profile to the transaction.

2.ExtraResults

Property Type Description
BankAuthResult Int Return code of the authorisation request returned by the issuing bank, if available
0 = approved or successfully resolved transaction
2 = contact the card issuer
3 = invalid merchant
4 = retain the card
5 = do not honour
7 = retain the card, special conditions
8 = approve after identification
12 = invalid transaction
13 = invalid amount
14 = invalid holder number
15 = Unknown card issuer
17 = Client cancellation
19 = Repeat the transaction later
20 = Wrong answer (error in the server domain)
24 = File update is not supported
25 = Impossible to localize the registration in the file
26 = Registration duplicated, former registration replaced
27 = Error in « edit » on file update field
28 = Access to file not allowed
29 = Update is impossible
30 = format error
31 = acquiring organization identifier is unknown
33 = card validity date is expired
34 = suspicion of fraud
38 = Card validity date is expired
41 = card lost
43 = card stolen
51 = insufficient funds or credit exceeded
54 = card validity date is expired
55 = Wrong confidential code
56 = card not presented in the file
57 = transaction is not allowed for this holder
58 = transaction not permitted to terminal
59 = suspicion of fraud
60 = card acceptor must contact acquirer
61 = withdrawal amount exceeds the limit
63 = security rules not respected
68 = response not received or received too late
75 = Maximum number of failed confidential code attempts exceeded
76 = Holder is already blocked, former record kept
90 = temporary system unavailability
91 = card issuer inaccessible
94 = transaction duplicated
96 = system is not working properly
97 = global supervision timeout expiration
98 = server unavailable, routing network requested again
99 = incident in the initiator domain
Numeric code of the risk controls result
Null = No control performed
0 = All the controls completed successfully
2 = the card exceeded amounts authorised
3 = The card belongs to the grey list of the merchant
4 = The card-issuing country belongs to the grey list of the merchant or the card-issuing country does not belong to the white list of the merchant.
5 = The IP address belongs to the grey list of the merchant
6 = The bin code belongs to the grey list of the merchant
7 = Detection of the blue e-card
8 = Detection of the national commercial card
9 = Detection of a foreign commercial card
14 = Detection of a systematic authorisation card
20 = Coherence control : no corresponding country (IP country, country card, client country)
30 = The country of the IP address belongs to the grey list
99 = Technical problem encountered by the server when processing
local controls
Final status of the 3D-Secure process
0 = initial status
1 = Status not applicable (global, reason not specified)
2 = Status not applicable (integrator disabled)
3 = Non e-commerce payment
4 = Payment without 3DS (payment per identifier, paypal, cetelem, etc.)
5 = Merchant not 3DS enrolled
6 = Technical error of the 3D process, no 3DS
7 = Holder not enrolled, no 3DS
8 = Invalid signature
9 = Problem coming from the ACS
10 = The 3DS process correctly completed
11 = The 3DS was performed by the integrator
12 = Problem coming from the DS
13 = Timeout during DS connection
14 = Maintain for the delivery of this status
15 = Status not applicable (3DS present but deactivated)
16 = Payment channel for which 3DS is not available (payments per file...)
98 = initialization of the 3DS process is OK
99 = Unknown status
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

This item allows identifying the accounts between which the operations are made.

Property Type Example Description
Id Long 98 Account identifier.
AppAccountId String "123" Account identifier provided by the third-party application.
DisplayName String "Jean Dupont" Account display name
Href Uri "/api/[domainePartenaire]
/accounts/123"
Uri for the account details
Property Type Example Description
Id Long 1 Card ID
AppCardId String "card123" Name of the card
Name String "Carte bancaire" Name of the card
Hint String "597010XXXXXX0009" Hide the card number
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" ISO country code of the card used for the payment.

4.Card

Property Type Example Description
Id Long 1 Card ID
AppCardId String "card123" Card identifier in the third-party application
Name String "Carte bancaire" Card name
Hint String "597010XXXXXX0009" Hide the card number
Country String "FR" ISO country code of the card issued for the payment
ExpiryDate DateTime 2017-07-01T00:00:00 Card expiry date (date from which a payment with this card will be no longer possible)

5. PaymentSchedule

The PaymentSchedule table allows managing payments in installments.

Property Type Example Description
SequenceNumber Int 1 Payment number.
For payments in 3 installments, the value can be 1,2 or 3.
Amount long 150 Amount of the installment payment
Date DateTime 2013-09-10T
00:00:00.000000
+02:00
The date on which the payment will be sent
Status Int 1 Payment status
0 = Waiting
1 = Completed
2 = Refunded
3 = Failed
4 = Waiting for validation
5 = Cancelled
6 = Waiting to be sent
Fee long Fee amount
(the property "amount" does not include the fee amount)

It is possible to move to the creation of a payment either directly in the installments array or the item below which calculates automatically the amounts and dates of the installment :

Property Type Example Description
FirstAmount Long 10000 Amount of the first installment
Count Int 3 Number of installments
Period Int 30 Number of days between each installment
FirstFee long Fee amount of the first installment
(the property "FirstAmount" does not include the fee amount)

The calculation of installments (amount and fee) is made with the help of the following rule :

N° d’échéance Montant de l’échéance
1 Amount of the first installment
2 The entire value of [(total amount - amount of the first installment) / (installment number - 1)]
N (=installment number) The entire value of [(total amount - amount of the first installment) / (installment number - 1)] + the rest of the division

6. Payerinfo

Property Type Exemple Description
Name String "Jean Dupont" Payer name and surname
Mail String "jean@dupont.fr Payer e-mail

7. Payments

The Payments Array allows managing the list of payments created during a payment to multiple recipients

Property Type Example Description
OrderId Sring "paiement123" Payment identifier in the third-party application
Amount long 1500 Payment amount
Status Int 1 Payment status
0 = Waiting
1 = Completed
2 = Refunded
3 = Failed
4 = Waiting for validation
5 = Cancelled
6 = Waiting to be sent
Beneficiary SubAccountRef Item containg the details of the account of the payment recipient.
Fee long 100 Fee amount
(the property "Amount" does not include the fee amount)

8. Extraparameters

Property Type Example Description
ProfileName String "directpayment" A profile is a set of predefined parameters, which will be applied to the transaction, if it such a transaction is made.
SystempayLanguage String "fr" Parameter enables the translation of the payment form page.
Languages available in Systempay :
German : de
English : en
Chinese : zh
Spanish : es
French : fr
Italian : it
Japanese : ja
Dutch : nl
Polish : pl
Portugese : pt
Russian : ru
Swedish : sv
Turkish : tr