Traiter les données spécifiques à la réponse d'un paiement e-Chèque-Vacances
Spécificités d'un paiement fractionné :
- Toutes les transactions d’un paiement fractionné sont regroupées au sein d’une séquence de paiement.
- Toutes les transactions d’une séquence de paiement possèdent le même identifiant de transaction, mais un numéro de séquence différent.
- La première transaction de la séquence possède le numéro 1, la deuxième le numéro 2 et ainsi de suite.
Contexte :
Lors du paiement, l’acheteur règle une partie de son achat avec des e-Chèque-Vacances, puis le solde au moyen d'une carte bancaire.
Le paiement sera composé de N séquences détaillées par le champ vads_payment_seq.
Remarque : il y a autant de transactions E_CV que de chèques saisis, plus une pour la carte bancaire.
L'URL de notification instantanée contiendra notamment les informations ci-dessous :
Nom du champ | Description | Valeur |
---|---|---|
vads_page_action | Opération réalisée |
PAYMENT Paiement réalisé sans alias |
vads_trans_status | Statut du paiement |
Le statut retourné est en fonction des modalités du paiement.
|
vads_card_brand | Type de paiement | Cas d'un paiement réalisé uniquement avec "e-Chèques-Vacances"
Cas d'un paiement fractionné (une carte "e-Chèques-Vacances" et un moyen de paiement complémentaire):
|
vads_payment_seq | Détails de la séquence de paiements fractionnés | Voir explications et tableau ci-après. |
Détails du champ vads_payment_seq
Toutes les transactions d’un paiement fractionné sont regroupées au sein d’une séquence de paiement.
Toutes les transactions d’une séquence de paiement possèdent le même identifiant de transaction, mais un numéro de séquence différent. La première transaction de la séquence possède le numéro 1, la deuxième le numéro 2 et ainsi de suite.
Le champ vads_payment_seq (format json) décrit la séquence de paiement fractionné. Il contient les éléments :
- "trans_id" : identifiant de la transaction reçu dans le champ vads_trans_id du formulaire de paiement.
- "transaction" : tableau des transactions de la séquence.
Remarque : les transactions annulées sont également présentes dans le tableau.
Chaque transaction de la séquence contient les éléments suivants :
Nom du paramètre | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
amount |
Montant de la séquence de paiement. |
||||||||||||||||||||||||||||||
operation_type |
Opération de débit. |
||||||||||||||||||||||||||||||
auth_number |
Numéro d'autorisation. Exemple : 949478 Ce paramètre est retourné vide pour un paiement par "e-Chèque-Vacances". Le serveur de titres de l'ANCV ne le fournit pas. Numéro d'autorisation retourné par le serveur d'autorisation, si disponible (sinon vide). |
||||||||||||||||||||||||||||||
auth_result | Code retour de la demande d'autorisation. | ||||||||||||||||||||||||||||||
capture_delay | Délai avant remise (en jours).
|
||||||||||||||||||||||||||||||
card_brand |
Moyen de paiement utilisé. Pour un paiement par "e-Chèques-Vacances", ce paramètre est valorisé à "E_CV". Pour un paiement par carte bancaire (exemple CB ou cartes CB cobadgées Visa ou Mastercard), ce paramètre est valorisé à "CB". Se référer au guide d'intégration du formulaire de paiement disponible sur notre site documentaire pour visualiser la liste complète des types de carte. |
||||||||||||||||||||||||||||||
card_number |
Numéro du moyen de paiement.
|
||||||||||||||||||||||||||||||
expiry_month |
Mois d'expiration du moyen de paiement. Paramètre absent pour le paiement par e-Chèque-Vacances. |
||||||||||||||||||||||||||||||
expiry_year |
Année d'expiration du moyen de paiement. Paramètre absent pour le paiement par e-Chèque-Vacances. |
||||||||||||||||||||||||||||||
payment_certificate | Certificat de paiement. | ||||||||||||||||||||||||||||||
contract_used | Contrat utilisé pour le paiement. | ||||||||||||||||||||||||||||||
identifier | Identifiant unique (token/alias) associé à un moyen de paiement. | ||||||||||||||||||||||||||||||
identifier_status | Présent uniquement si l’action demandée correspond à
la création ou à la mise à jour d'un alias. Valeurs
possibles:
|
||||||||||||||||||||||||||||||
presentation_date |
Pour un paiement par carte bancaire, ce paramètre correspond à la date de remise en banque souhaitée (au format ISO 8601). Pour un paiement par e-Chèques-Vacances, ce paramètre correspond à la date du jour de la commande. Les e-Chèques-Vacances sont validés en temps réel auprès du serveur de titres de l'ANCV. |
||||||||||||||||||||||||||||||
trans_id | Numéro de transaction. | ||||||||||||||||||||||||||||||
ext_trans_id |
Paramètre absent pour le paiement par carte bancaire. Pour un paiement par e-Chèques-Vacances, ce paramètre est un identifiant technique généré par la plateforme de paiement (référence de transaction). |
||||||||||||||||||||||||||||||
trans_uuid | Référence unique générée par la plateforme de
paiement suite à la création d'une transaction de paiement. Offre une garantie d'unicité pour chaque transaction |
||||||||||||||||||||||||||||||
extra_result | Code numérique du résultat des contrôles de risques.
|
||||||||||||||||||||||||||||||
sequence_number | Numéro de séquence. | ||||||||||||||||||||||||||||||
trans_status | Statut de la transaction. |
Exemple de valeur pour le champ vads_payment_seq
- Cas 1 : tous les e-Chèques-Vacances saisis sont ajoutés et validés
vads_payment_seq :{ "trans_id":"913509", "transactions": [ { "amount":"6000", "operation_type":"DEBIT", "auth_number":"", "capture_delay":"0", "card_brand":"E_CV", "card_number":"2002-838861-2015", "payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f", "presentation_date":"2015-02-18T16:12:01Z", "trans_id":"913509", "ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc", "sequence_number":"1", "trans_status":"CAPTURED" }, { "amount":"6000", "operation_type":"DEBIT", "auth_number":"", "capture_delay":"0", "card_brand":"E_CV", "card_number":"2004-838861-2015", "payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f", "presentation_date":"2015-02-18T16:12:01Z", "trans_id":"913509", "ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc", "sequence_number":"2", "trans_status":"CAPTURED" }, { "amount":"5800", "operation_type":"DEBIT", "auth_number":"3fec1e", "capture_delay":"0", "card_brand":"CB", "card_number":"497010XXXXXX0000", "expiry_month":"6", "expiry_year":"2016", "payment_certificate":"010a2db1ef864d6584424c41512dd9ad678c785e", "presentation_date":"2015-02-18T16:12:13Z", "trans_id":"913509", "sequence_number":"3", "trans_status":"AUTHORISED" } ] }
- Cas 2 : l'acheteur annule un
e-Chèque-Vacance saisiA la différence du cas n°1, le champ "trans_status" est valorisé à CANCELLED pour refléter l'annulation du e-Chèque-Vacance par l'acheteur.
vads_payment_seq :"trans_id":"913509", "transactions": [ { "amount":"6000", "operation_type":"DEBIT", "auth_number":"", "capture_delay":"0", "card_brand":"E_CV", "card_number":"2002-838861-2015", "payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f", "presentation_date":"2015-02-18T16:12:01Z", "trans_id":"913509", "ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc", "sequence_number":"1", "trans_status":"CANCELLED" }, { "amount":"6000", "operation_type":"DEBIT", "auth_number":"", "capture_delay":"0", "card_brand":"E_CV", "card_number":"2004-838861-2015", "payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f", "presentation_date":"2015-02-18T16:12:01Z", "trans_id":"913509", "ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc", "sequence_number":"2", "trans_status":"CAPTURED" }, { "amount":"11800", "operation_type":"DEBIT", "auth_number":"3fec1e", "capture_delay":"0", "card_brand":"CB", "card_number":"497010XXXXXX0000", "expiry_month":"6", "expiry_year":"2016", "payment_certificate":"010a2db1ef864d6584424c41512dd9ad678c785e", "presentation_date":"2015-02-18T16:12:13Z", "trans_id":"913509", "sequence_number":"3", "trans_status":"AUTHORISED" } ] }
Précisions :
- Si le paiement par carte bancaire est refusé, le champ "trans_status" est valorisé à REFUSED.
La plateforme de paiement annule la réservation des e-Chèques-Vacances auprès du serveur de titres de l'ANCV et le paiement est annulé dans sa globalité.
- Si le paiement par carte bancaire est accepté, le champ "trans_status" est valorisé à AUTHORISED.
La plateforme de paiement valide définitivement la réservation des e-Chèques-Vacances auprès du serveur de titres de l'ANCV. Le paiement par e-Chèques-Vacances et carte bancaire est validé.