Dalenys Hosted Forms - Enregistrement carte bancaire
Intégration du formulaire d’enregistrement
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 :
Enregistrement carte avec authentification 3DSecure
Selon la carte enregistrée et son enrôlement 3DSecure, 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ée en contenu de la réponse accompagnée 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.
Dans le cas contraire, une réponse 302 (redirect) est directement faite et redirige le navigateur de l’utilisateur vers l’url renseignée dans le champ urlReturn de la requête initiale.
Ressources
1.CardRegistration
Property
Type
Mandatory
Description
ThreeDSecurePreference
Int
Yes
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
availableCards
String
Yes
List of cards to be displayed on the registration page.
Possible values ( to separate with ’ ;’ ) :
CB
MASTERCARD
MAESTRO
VISA
VISA_ELECTRON
AuthorizationAmount
Int
N
Deux valeurs possibles (en centimes) :
• 0
• 100 (1€)
urlReturn
String
Yes
Url of callback client requested at the end of a card registration
urlCallback
String
Yes
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
Yes
Status of the card registration
0 = Waiting
1 = Completed
2 = Failed
ErrorCode
Int
Yes
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
Yes
The "href" parameter includes the url, to which the third-party application should redirect the client’s browser to complete a card registration.
2.Card
Property
Type
Mandatory
Description
Id
Long
/
Card ID
AppCardId
String
Yes
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
Yes
Card name
Country
String
/
ISO country code of the card
ExpiryDate
Date
/
Card expiration date
3.Holder
Property
Type
Mandatory
Description
Name
String
Yes
The holder’s full name (as described on the payment method).
mail
String
Yes
The user’s email.
4.Extraparameters
Property
Type
Mandatory
Description
ProfilName
String
Yes
Value “3DSV2” to call 3D-Secure 2.0
By default, without profil, 3DS V1 will be called
5.Billing
Property
Type
Mandatory
Description
City
String
Yes
The billing city.
Country
String
Yes
The country code (ISO_3166-1_alpha-2).
Address
String
Yes
The billing address. Be careful not to integrate any line breaks.
PostalCode
String
Yes
The billing postal code.
Billingaddressstate
String
No
The billing address state.
6.ShipTo
Property
Type
Mandatory
Description
City
String
Yes*
The shipping city.
Mandatory if AdresseType is not EDELIVERY
Country
String
Yes*
The country code (ISO_3166-1_alpha-2 format)
Mandatory if AdresseType is not EDELIVERY
Address
String
Yes*
The shipping address.
Mandatory if AdresseType is not EDELIVERY
PostalCode
String
Yes*
The shipping postal code.
Mandatory if AdresseType is not EDELIVERY
AddressType
Int
Yes
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
No
The shipping address state.
AddressDate
String
No
Date when the shipping address used for this transaction was first used with the 3DS Requestor.
7.Delivery
Property
Type
Mandatory
Description
email
String
Yes*
Mandatory if ShipToAddressType value is eDelivery
For Electronic delivery, the email address to which the merchandise was delivered.
timeframe
String
No
Possible values : electronic, sameday, overnight, longer
8.ClientScreen
Property
Type
Mandatory
Description
ColorDepth
Int
Yes
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
Yes
Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property.
Ex : 1280
ScreenWidth
Int
Yes
Total width of the cardholder’s screen in pixels. Value is returned from the screen.width property.
Ex : 1024
9.ThreeDsOptData
Property
Type
Mandatory
Description
ClientAuthMethod
String
No
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
No
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
No
Date that the cardholder opened the account with the 3DS Requestor.
Passwordchangedate
Date
No
Date that cardholder’s account with the 3DS Requestor had a password change or account reset.
Last6MonthsPurchaseCount
Int
No
Number of purchases with this cardholder account during the previous six months.
Last24hoursaddcardattempts
Int
No
Number of “Add Card” attempts in the last 24 hours.
Last24hourstransactioncount
Int
No
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
No
Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year.
Cardenrolldate
date
No
Date that the payment account was enrolled in the cardholder’s account with the 3DS Requestor.
Suspiciousaccountactivity
Boolean
No
Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account.
Homephone
string(max 32)
No
The home phone number provided by the Cardholder in international (E.164) format.
Mobilephone
string(max 32)
No
The mobile phone number provided by the Cardholder in international (E.164) format.
Workphone
string(max 32)
No
The work phone number provided by the Cardholder in international (E.164) format.
Preorderdate
date
No
For a pre-ordered purchase, the expected date that the merchandise will be available.
Itemavailability
Boolean
No
Indicates whether Cardholder is placing an order for merchandise with a future availability or release date.
Reorderingitem
Boolean
No
Indicates whether the cardholder is reordering previously purchased merchandise.
Recurringexpiry
date
No
Date after which no further authorisations shall be performed in a recurring payment workwlow.
recurringfrequency
Int
No
Indicates the minimum number of days between authorisations.
Ex : 10
10.GiftCard
Property
Type
Mandatory
Description
Amount
Int
No
For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in minor units (cents).
Count
Int
No
For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.
Currency
String
No
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
Enregistrer une carte bancaire
Par rapport à Systempay, la création de la requête d’enregistrement de carte est modifiée avec l’ajout des balises obligatoires « holder » (name et mail).
Le champ HREF renvoyé dans la réponse Json pointe alors sur une url renvoyant vers le formulaire de création de cartes Dalenys.
Le champ body Holder est obligatoire.
Les valeurs du champ ErrorCode sont complétées de nouvelles valeurs correspondantes aux erreurs spécifiques Dalenys
0 = succès (correspond à l’ExecCode 0000)
10 = erreur requête Dalenys (correspond aux ExecCodes de type 1XXX)
11 = erreur de référence Dalenys (correspond aux ExecCodes de type 2XXX)
12 = erreur configuration boutique Dalenys (correspond aux ExecCodes de type 3XXX)
13 = erreur banque porteur carte (correspond aux ExecCodes de type 4XXX)
14 = erreur système Dalenys (correspond aux ExecCodes de type 5XXX)
15 = erreur moteur anti-fraude Dalenys (correspond aux ExecCodes de type 6XXX)
Le champ AuthorizationAmount permet de paramétrer le montant de la transaction lors de l’enregistrement de carte. Il peut prendre les valeurs 0 (montant nul), 100 (montant 1€) ou null. Ce champ est facultatif (par défaut à 100).
Le champ ExtraResults est valorisé à NULL, les informations 3DS et exec code n’étant pas valorisables à ce moment de la transaction.
Ainsi le champ HREF renvoyé permet de récupérer les informations de formulaire nécessaires à l’affichage du formulaire de création carte. Ce formulaire se submit automatiquement à son chargement et redirige l’utilisateur final vers le formulaire de saisie des données cartes remonté par Dalenys.