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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

Name

String

O

The holder’s full name (as described on the payment method).

mail

String

O

The user’s email.

Extraparameters

PropertyTypeMandatoryDescription

ProfilName

String

O

Value “3DSV2” to
call 3D-Secure 2.0
By default,
without profil, 3DS V1 will be called

Billing

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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

PropertyTypeMandatoryDescription

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.

ExtraResults

PropertyTypeMandatoryDescription

threedsecure

Boolean

/

True / False

threedsecureauthstatus

Int

/

0 = Yes
1 = No
2 = unavaible
3 = Attempted

threedsecuresignaturestatus

Int

/

0 = Yes
1 = No

threedsecureglobalstatus

Int

/

0 = Yes
1 = Not_enrolled
2 = unavaible
3 = Not_required

ThreeDsCardEnrolled

Int

/

0 = Yes
1 = No
2 = unavaible

ExecCode

String
(4)

/

The operation result code

ExecMessage

String

/

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.