Dalenys Hosted Forms - Paiement simple par carte bancaire
Intégration du formulaire de paiement
A la réception de la page de formulaire il n’y a aucune action particulière à effectuer. La page contient tous les éléments nécessaires (Numéro de carte, date d’expiration, CCV, hidden fields).
Affichage côté client :
Paiement avec authentification 3DSecure
Selon la carte utilisée lors du paiement, à la soumission du formulaire de paiement, une authentification 3DSecure peut être nécessaire.
Dans ce cas, en réponse à l’action du formulaire, la page HTML du formulaire 3DSecure est envoyé en contenu de la réponse accompagné d’un http status code 200 (OK). La soumission du formulaire 3DSecure se terminera par une redirection 302 vers l’url renseignée dans le champ urlReturn de la requête initiale.
Ressources
CardPayment
Property
Type
Mandatory
Description
Amount
Long
O
Payment amount (in cents)
Fee
Long
N
Fee amount (the amount value does not include the fee amount)
ThreeDSecurePreference
Int
O
0 = ask for a strong authentication 1 = ask for a frictionless authentication 2 = ask for no preference, the decision will be made by issuer ; 3 = ask for no authentication
OrderId
String
O
Payment identifier in the third-party application
Id
Long
/
Payment ID
availableCards
String
O
List of cards to be displayed on the payment page. Possible values ( to separate with ’ ;’ ) : CB MASTERCARD MAESTRO VISA VISA_ELECTRON
IsMine
Bool
O
True, if the account holder is also the bank card holder (it refers to an account top-up and not a payment), False if the bank card holder is not the owner of the account holder
Message
String
O
Payment message
urlReturn
String
O
Url of callback client requested at the end of a card payment
urlCallback
String
O
Specify url of callback server requested at the end of adding card (the domain must be the same as the one of the callback URL provided initially)
Status
Int
O
Sub operation status -1 = unknow 0 = waiting 1 = completed 2 = refunded 3 = refused 4 = Waiting for validation 5 = Cancelled 6 = Waiting to be sent
ErrorCode
Int
O
0 = 0XXX operation succeeded or still processing 10 = 1XXX operation rejected because of bad request configuration 11 = 2XXX operation rejected because of bad reference usage 12 = 3XXX operation rejected because of bad account configuration 13 = 4XXX operation rejected because of the bank or the supplier 14 = 5XXX operation rejected because of a system error 15 = 6XXX operation rejected because of anti-fraud engine
Href
String
O
The "href" parameter includes the url, to which the third-party application should redirect the client’s browser to complete a card payment .
PaymentDate
DateTime
Payment date Ex : 2013-09-10 T15:49:58 .791121+02:00
Type
Int
/
Payment types : 0 = Payment 1 = Refund
Card
Property
Type
Mandatory
Description
Id
Long
/
Card ID
AppCardId
String
O
Card identifier in the third-party application
Network
Long
/
UNKNOWN = -1, CB = 1, MASTERCARD = 2, VISA = 3,
Hint
String
/
Hide the card number. 6XXXX4 format
Name
String
O
Card name
Country
String
/
ISO country code of the card
ExpiryDate
Date
/
Card expiration date
Beneficiary
Property
Type
Mandatory
Description
Id
Long
/
Account identifier.
AppAccountId
String
O
Account identifier provided by the third-party application.
DisplayName
Long
/
Account display name
Email
String
/
Account email
Phonenumber
String
/
Account phone number
Href
Uri
/
Uri for the account details
PayerInfo
Property
Type
Mandatory
Description
Name
String
O
The holder’s full name (as described on the payment method).
mail
String
O
The user’s email.
Extraparameters
Property
Type
Mandatory
Description
ProfilName
String
O
Value “3DSV2” to call 3D-Secure 2.0 By default, without profil, 3DS V1 will be called
Billing
Property
Type
Mandatory
Description
City
String
O
The billing city.
Country
String
O
The country code (ISO_3166-1_alpha-2).
Address
String
O
The billing address. Be careful not to integrate any line breaks.
PostalCode
String
O
The billing postal code.
Billingaddressstate
String
N
The billing address state.
ShipTo
Property
Type
Mandatory
Description
City
String
O*
The shipping city. Mandatory if AdresseType is not EDELIVERY
Country
String
O*
The country code (ISO_3166-1_alpha-2 format) Mandatory if AdresseType is not EDELIVERY
Address
String
O*
The shipping address. Mandatory if AdresseType is not EDELIVERY
PostalCode
String
O*
The shipping postal code. Mandatory if AdresseType is not EDELIVERY
AddressType
Int
O
Shipping indicator. 0 = eDelivery 1 = Verified 2 = New 3 = Billing 4 = Store Pickup 5 = Travel Pickup 6 = Other The parameter DELIVERYEMAIL is mandatory when EDELIVERY mode is set. The other ship to address fields are optional when ‘storepickup’, travelpickup or other is set.
AddressState
String
N
The shipping address state.
AddressDate
String
N
Date when the shipping address used for this transaction was first used with the 3DS Requestor.
Delivery
Property
Type
Mandatory
Description
email
String
O*
Mandatory if ShipToAddressType value is eDelivery For Electronic delivery, the email address to which the merchandise was delivered.
timeframe
String
N
Possible values : electronic, sameday, overnight, longer
ClientScreen
Property
Type
Mandatory
Description
ColorDepth
Int
N
Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property. Ex : 32
ScreenHeight
Int
N
Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property. Ex : 1280
ScreenWidth
Int
N
Total width of the cardholder’s screen in pixels. Value is returned from the screen.width property. Ex : 1024
ThreeDsOptData
Property
Type
Mandatory
Description
ClientAuthMethod
String
N
guest : No merchant authentication occurred (i.e. cardholder “logged in” as guest) ; credentials : Login to the cardholder account at the merchant system using merchant’s own credentials ; federated : Login to the cardholder account at the merchant system using federated ID ; issuer : Login to the cardholder account at the merchant system using issuer credentials ; thirdparty : Login to the cardholder account at the merchant system using third-party authentication ; fido : Login to the cardholder account at the merchant system using FIDO Authenticator ;
AccountChangeDate
Date
N
Date that the cardholder’s account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added.
AccountCreationDate
Date
N
Date that the cardholder opened the account with the 3DS Requestor.
Passwordchangedate
Date
N
Date that cardholder’s account with the 3DS Requestor had a password change or account reset.
Last6MonthsPurchaseCount
Int
N
Number of purchases with this cardholder account during the previous six months.
Last24hoursaddcardattempts
Int
N
Number of “Add Card” attempts in the last 24 hours.
Last24hourstransactioncount
Int
N
Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours.
Last12Monthstransactioncount
Int
N
Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year.
Cardenrolldate
date
N
Date that the payment account was enrolled in the cardholder’s account with the 3DS Requestor.
Suspiciousaccountactivity
Boolean
N
Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account.
Homephone
string(max 32)
N
The home phone number provided by the Cardholder in international (E.164) format.
Mobilephone
string(max 32)
N
The mobile phone number provided by the Cardholder in international (E.164) format.
Workphone
string(max 32)
N
The work phone number provided by the Cardholder in international (E.164) format.
Preorderdate
date
N
For a pre-ordered purchase, the expected date that the merchandise will be available.
Itemavailability
Boolean
N
Indicates whether Cardholder is placing an order for merchandise with a future availability or release date.
Reorderingitem
Boolean
N
Indicates whether the cardholder is reordering previously purchased merchandise.
Recurringexpiry
date
N
Date after which no further authorisations shall be performed in a recurring payment workwlow.
recurringfrequency
Int
N
Indicates the minimum number of days between authorisations. Ex : 10
GiftCard
Property
Type
Mandatory
Description
Amount
Int
N
For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in minor units (cents).
Count
Int
N
For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.
Currency
String
N
For prepaid or gift card purchase, the currency code of the card as defined in ISO 4217.
The operation result description linked to EXECCODE
warrantyresult
String
/
Yes / no
3dsecureversion
Int
/
The kind of 3-D Secure protocol version. Ex : 1
3dsecuremode
Int
/
Applied authentification mode : 0 = ask for a strong authentication 1 = ask for a frictionless authentication
bankauthresult
Int
/
Return code of the authorisation request returned by the issuing bank
Create a card payment with 3DS V1
La création de la requête d’enregistrement de carte est modifiée, les balises « payerInfo » (name et mail) deviennent obligatoires.
Le champ HREF renvoyé dans la réponse Json pointe alors sur une url renvoyant vers le formulaire de création de cartes Dalenys.
Envoi des données de la requête de paiement carte au serveur S-money
Pour créer un paiement par carte bancaire veuillez vous référer à l’exemple présent en marge de droite de cette page.
Envoi des données du paiement réalisé 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
string
OrderId de l’opération
error
Int
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
type
Int
Type de l’opération
1 = paiement carte
status
Int
Statut de l’opération -1 = inconnu
0 = en attente
1 = complété
2 = remboursé
3 = refusé
4 = en attente de validation
5 = Annulé
6 = en attente de remise
sequencenumber
Int
Numéro de séquence du paiement multiple (si paiement multiple)
userid
String
Identifiant de l’utilisateur chez l’application tierce
userstatus
Int
Statut de l’utilisateur
0 = Non confirmé
1 = OK
2 = Gelé
3 = A la volée
4 = En cours de fermeture
5 = Fermé
6 = En attente de KYC (virements bloqués)
Redirection en fin de paiement 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.
Les informations renvoyées le sont à titre purement informatif et ne doivent en aucun cas être utilisées pour la validation du paiement par le serveur tiers.
Les paramètres de la requête HTTP sont :
Paramètre
Type
Description
Id
String
OrderId du paiement
type
Int
Type de l’opération
1 = paiement carte
Result
Int
Statut de la transaction
0 : Aucune erreur.
2 : Le commerçant doit contacter la banque du porteur.
5 : Paiement refusé.
17 : Annulation client.
30 : Erreur de format de la requête. A mettre en rapport avec la
valorisation du champ vads_extra_result.
96 : Erreur technique lors du paiement.
Créer un paiement par carte bancaire avec 3DS V1
La création de la requête d’enregistrement de carte est modifiée, les balises « payerInfo » (name et mail) deviennent obligatoires.
Le champ HREF renvoyé dans la réponse Json pointe alors sur une url renvoyant vers le formulaire de création de cartes Dalenys.
Envoi des données de la requête de paiement carte au serveur S-money
Pour créer un paiement par carte bancaire veuillez vous référer à l’exemple présent en marge de droite de cette page.
Envoi des données du paiement réalisé 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
string
OrderId de l’opération
error
Int
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
type
Int
Type de l’opération
1 = paiement carte
status
Int
Statut de l’opération -1 = inconnu
0 = en attente
1 = complété
2 = remboursé
3 = refusé
4 = en attente de validation
5 = Annulé
6 = en attente de remise
sequencenumber
Int
Numéro de séquence du paiement multiple (si paiement multiple)
userid
String
Identifiant de l’utilisateur chez l’application tierce
userstatus
Int
Statut de l’utilisateur
0 = Non confirmé
1 = OK
2 = Gelé
3 = A la volée
4 = En cours de fermeture
5 = Fermé
6 = En attente de KYC (virements bloqués)
Redirection en fin de paiement 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.
Les informations renvoyées le sont à titre purement informatif et ne doivent en aucun cas être utilisées pour la validation du paiement par le serveur tiers.
Les paramètres de la requête HTTP sont :
Paramètre
Type
Description
Id
String
OrderId du paiement
type
Int
Type de l’opération
1 = paiement carte
Result
Int
Statut de la transaction
0 : Aucune erreur.
2 : Le commerçant doit contacter la banque du porteur.
5 : Paiement refusé.
17 : Annulation client.
30 : Erreur de format de la requête. A mettre en rapport avec la
valorisation du champ vads_extra_result.
96 : Erreur technique lors du paiement.
Create a card payment with 3DS V2
Créer un paiement par carte bancaire avec 3DS V2
Récupérer un paiement entrant
Dans les ExtraResults :
• le champ riskcontrolresult n’est plus disponible
• threedsresult est remplacé par threedsecure, threedsecureauthstatus, threedsecuresignaturestatus, threedsecureglobalstatus alimentés par les valeurs suivantes :
threedsecure
True
False
threedsecureauthstatus
0 = yes
1 = no
2 = unavailable
3 = attempted
threedsecuresignaturestatus
0 = yes
1 = no
threedsecureglobalstatus
0 = ok
1 = not_enrolled
2 = unavailable
3 = not_required
Les champs ExecCode et ExecMessage sont ajoutés. Ils correspondent aux codes d’exécution retour retournés par la banque émettrice.