Introduction
Sogenactif est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métiers liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement échelonné, …).
L’objectif du présent document est d’expliquer la mise en œuvre de la solution "Confirmation de paiement par email".
À qui s’adresse ce document
Ce document est destiné aux commerçants qui souhaitent envoyer à leurs clients un message indiquant si le paiement a été accepté ou non par mail.
C’est un guide d'implémentation qui s’adresse à votre équipe technique.
Pour avoir une vue d’ensemble de la solution Sogenactif, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle ;
- Guide de configuration des fonctionnalités.
Contacter l'assistance
Pour toute question technique ou demande d'assistance, nos services sont disponibles du lundi au vendredi, hors jours fériés, de 9 h à 19 h :
- par téléphone au : +33 (0) 825 090 095 (0,15 € TTC/min + prix d’un appel local – Tarif au 12/09/2022)
- par e-mail : supportsogenactif@worldline.com
Pour faciliter le traitement de vos demandes, veuillez communiquer votre identifiant de commerçant : merchantId (numéro à 15 chiffres).
Qu'est-ce que "Confirmation de paiement par email" ?
"Confirmation de paiement par email" est un système vous permettant d'envoyer à vos clients un message indiquant si leurs paiements ont été acceptés ou refusés par mail
Ce service est disponible avec les connecteurs Sogenactif Paypage, Sogenactif Office Serveur, Sogenactif In-App pour tous les moyens de paiement.
"Confirmation de paiement par email" vous offre la possibilité d'envoyer des messages multilingues et personnalisables.
Fonctionnement de "Confirmation de paiement par email"
1. Lorsque le client procède au paiement, une demande de paiement doit être envoyée aux pages de paiement Sogenactif.
Il existe deux notifications de réponses indépendantes :
2. Les réponses manuelles sont envoyées sous format HTTP(S) POST par le serveur de paiement à l’URL de réponse manuelle. Cette URL est précisée dans la requête de paiement et est utilisée lorsque le client clique le bouton « Continuer » de la page de paiement. Elle est la page de destination vers laquelle le client est redirigé à la fin du paiement. Comme il n’y a aucune garantie que le client clique sur ce bouton, vous n’avez aucune garantie de recevoir la réponse manuelle.
2'. Les réponses automatiques sont envoyées indépendamment des réponses manuelles. Elles utilisent également les requêtes HTTP(S) POST envoyées par les serveurs de paiement Sogenactif mais cette fois-ci moyennant l’URL de réponse automatique précisée dans la requête de paiement. Cela signifie que vous recevez la réponse dès que le paiement est effectué dans les pages de paiement Sogenactif.
3. Les confirmations de paiement par e-mail sont envoyées par notre service "Confirmation de paiement par email" au client (ainsi qu'au marchand en copie carbone) si l'option correspondante est activée.
Démarrer avec "Confirmation de paiement par email" en 3 étapes
Étape 1 : Compléter la requête de paiement
Pour qu’une confirmation de paiement soit transmise, vous devez renseigner dans votre requête de paiement le champ customerContact.email pour un message via e-mail.
Si vous voulez envoyer des messages dans différentes langues en fonction de la langue de votre client, avec les connecteurs Sogenactif Office Serveur et Sogenactif In-App, vous devez également envoyer le champ customerLanguage pour que Sogenactif sache dans quelle langue le message doit être envoyé.
Avec Sogenactif Paypage, si le champ customerLanguage n’est pas renseigné, la langue est calculée en fonction de la langue du navigateur du client.
Étape 2 : Personnaliser vos messages (facultatif)
L’étape de personnalisation des messages est facultative. Si vous ne souhaitez pas personnaliser les messages, les templates Sogenactif seront utilisés par défaut (voir les templates dans les parties « Personnaliser les messages de type email »). Vous pouvez passer directement à l’étape suivante.
Les messages sont personnalisables au travers de templates contenant le texte de votre message et des éléments contextuels à la transaction (vous trouverez l’intégralité des variables dans le dictionnaire des balises).
Par exemple, si vous voulez envoyer un message en cas de paiement accepté et un autre en cas de paiement refusé, en anglais et en français, vous devrez créer 4 templates :
- un pour le paiement accepté en français ;
- un pour le paiement accepté en anglais ;
- un pour le paiement refusé en français ;
- un pour le paiement refusé en anglais.
Personnaliser les messages de type e-mail
Les templates e-mail sont constitués de balises HTML. Par défaut, les messages e-mail envoyés sont les suivants :
- pour un paiement accepté :
- Pour un paiement refusé :
Les balises suivantes vous permettent de personnaliser votre e-mail :
Balise | Partie personnalisée |
---|---|
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags. mailSubject --> | Objet du mail |
<!-- SIPS +net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties --> | Remplace les variables avec la syntaxe « __FIELD_NAME__ » par les valeurs de votre choix |
<img src=”cid:myPicture.jpg” /> | Logo (format : jpg, png, gif, bmp) |
Exemple de code HTML pour un paiement accepté
<!DOCTYPE html>
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.mailSubject -->
Confirmation de paiement
<!-- SIPS -com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.mailSubject -->
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.language -->
en
<!-- SIPS -com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.language -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Confirmation de paiement</title>
</head>
<!-- SIPS +net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties -->
<body style="text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
<table cellspacing="0" cellpadding="0" align="center" style="width:100%; border:0px">
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:602px; border:1px solid gainsboro;">
<tr id="mail_header">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:600px; height:80px;">
<tr>
<td style="text-align:left; width:300px; height:80px;"><img src="cid:worldline.jpg" alt="Worldline"/></td>
<td style="text-align:left; width:200px; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
<div style="font-size:16px; font-weight:bold; color:#046380;margin-right:5px">Confirmation de paiement</div>
<div>Shop __MERCHANT_NAME__<br/>__PAYMENT_DATE__</div>
</td>
</tr>
</table>
</td>
</tr>
<tr id="mail_separator_1"><td><hr style="height:3px; border:0px; background-color:#9D9D9D; color:#9D9D9D;"/></td></tr>
<tr id="mail_body">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px; line-height:160%;">
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px; margin-left:30px;">
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Bonjour,
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Votre transaction a été acceptée et enregistrée.<br/>
Vous trouverez ci-dessous des informations supplémentaires concernant votre achat.
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Cordialement, l'équipe __MERCHANT_NAME__
</td>
</tr>
</table>
</td>
</tr>
<tr><td style="height:20px;"/></tr>
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:560px; border:1px solid gainsboro; border-color:#93BCDA;">
<tr>
<td style="height:60px; text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:14px; font-weight:bold; color:#046380;">
PAIEMENT<br/>PAR INTERNET SÉCURISÉ
</td>
</tr>
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:500px;">
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Nom du marchand :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__MERCHANT_NAME__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Identifiant du marchand :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__MERCHANT_ID__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Le :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__PAYMENT_DATE__ à __PAYMENT_TIME__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Numéro de transaction :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__TRANSACTION_ID__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Numéro d'autorisation :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__AUTHORISATION_ID__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Montant :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__AMOUNT__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Moyen de paiement utilisé :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__CARD_TYPE__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Numéro de carte :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__CARD_NUMBER__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Statut de la transaction :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">Approuvé</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="height:40px; text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">
VEUILLEZ CONSERVER VOTRE REÇU POUR RÉFÉRENCE
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr id="mail_separator_2"><td><hr style="height:3px; border:0px; background-color:#9D9D9D; color:#9D9D9D;"/></td></tr>
<tr id="mail_footer">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px;">
<tr>
<td style="height:30px; text-align:right; vertical-align:top; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:11px; color:#9d9d9d;">
© Worldline
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<!-- SIPS -net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties -->
</html>
Exemple de code HTML pour un paiement refusé
<!DOCTYPE html>
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.mailSubject -->
Paiement refusé
<!-- SIPS -com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.mailSubject -->
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.language -->
en
<!-- SIPS -com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.language -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Paiement refusé</title>
</head>
<!-- SIPS +net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties -->
<body style="text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
<table cellspacing="0" cellpadding="0" align="center" style="width:100%; border:0px">
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:602px; border:1px solid gainsboro;">
<tr id="mail_header">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:600px; height:80px;">
<tr>
<td style="text-align:left; width:300px; height:80px;"><img src="cid:worldline.jpg" alt="Worldline"/></td>
<td style="text-align:left; width:200px; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
<div style="font-size:16px; font-weight:bold; color:#046380;margin-right:5px">Paiement refusé</div>
<div>Shop __MERCHANT_NAME__<br/>__PAYMENT_DATE__</div>
</td>
</tr>
</table>
</td>
</tr>
<tr id="mail_separator_1"><td><hr style="height:3px; border:0px; background-color:#9D9D9D; color:#9D9D9D;"/></td></tr>
<tr id="mail_body">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px; line-height:160%;">
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px; margin-left:30px;">
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Bonjour,
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Votre transaction a échoué.<br/>
Vous trouverez ci-dessous les informations relatives à votre demande.
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr>
<td style="text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">
Cordialement, l'équipe __MERCHANT_NAME__
</td>
</tr>
</table>
</td>
</tr>
<tr><td style="height:20px;"/></tr>
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:560px; border:1px solid gainsboro; border-color:#93BCDA;">
<tr>
<td style="height:60px; text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:14px; font-weight:bold; color:#046380;">
PAIEMENT<br/>PAR INTERNET SÉCURISÉ
</td>
</tr>
<tr>
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:500px;">
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Nom du marchand :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__MERCHANT_NAME__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Identifiant du marchand :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__MERCHANT_ID__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Le :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__PAYMENT_DATE__ à __PAYMENT_TIME__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Numéro de transaction :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__TRANSACTION_ID__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Montant :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__AMOUNT__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Moyen de paiement utilisé :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__CARD_TYPE__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Numéro de carte :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">__CARD_NUMBER__</td>
</tr>
<tr><td colspan="3" style="height:5px;"/></tr>
<tr>
<td style="width:248px; text-align:right; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px;">Statut de la transaction :</td>
<td style="width:4px;"/>
<td style="width:248px; text-align:left; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">Refusé</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="height:40px; text-align:center; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:12px; font-weight:bold;">
VEUILLEZ CONSERVER VOTRE REÇU POUR RÉFÉRENCE
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr><td style="height:10px;"/></tr>
<tr id="mail_separator_2"><td><hr style="height:3px; border:0px; background-color:#9D9D9D; color:#9D9D9D;"/></td></tr>
<tr id="mail_footer">
<td align="center">
<table cellspacing="0" cellpadding="0" align="center" style="width:580px;">
<tr>
<td style="height:30px; text-align:right; vertical-align:top; font-family:'Verdana Regular','Verdana','sans-serif'; font-size:11px; color:#9d9d9d;">
© Worldline
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<!-- SIPS -net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties -->
</html>
Étape 3 : Activer "Confirmation de paiement par email" en production
Pour utiliser "Confirmation de paiement par email", vous devez demander l’activation des options qui vous intéressent et fournir à Sogenactif les informations suivantes :
Option | Action |
---|---|
Paramètres généraux | |
Envoyer une confirmation de paiement en cas de paiement accepté | Activer |
Envoyer une confirmation de paiement en cas de paiement refusé | Activer |
Paramètres pour les messages par e-mail | |
Envoyer une confirmation de paiement par e-mail | Activer |
Indiquer l'adresse e-mail de l'émetteur | Remplir |
Indiquer l'e-mail en copie carbone "cc" | Remplir |
Indiquer le nom de fichier modèle utilisé pour les e-mails | Remplir |
Indiquer l'objet de l'e-mail en cas de paiement accepté | Remplir |
Indiquer l'objet de l'e-mail en cas de paiement refusé | Remplir |
Envoyez l'ensemble de ces informations ainsi que votre(vos) template(s) personnalisé(s) à l'assistance technique Sogenactif en indiquant votre merchantId.
Les fichiers de templates doivent être nommés comme suit : nomdutemplatelangue.status.extension
Par exemple, pour un template e-mail français pour un paiement accepté, le fichier sera nommé comme suit : mytemplatefr.accepted.html
Dictionnaire des balises
Balise | Format | Description | Champ correspondant dans les connecteurs |
---|---|---|---|
__AMOUNT__ | Alphanumérique | Montant du paiement formaté avec la devise | amount |
__AUTHORISATION_ID__ | Alphanumérique | Identifiant d'autorisation | authorisationId |
__PAYMENT_TIME__ | dd/mm/yy | date de la transaction | Basé sur merchantTransactionDateTime |
__PAYMENT_DATE__ | hh:mm | heure de la transaction | Basé sur merchantTransactionDateTime |
__CARD_NUMBER__ | Alphanumérique | Numéro de carte masqué (exemple : 4955 #### #### 1234) | maskedPan |
__CARD_TYPE__ | Alphanumérique | Nom du mode de paiement utilisé par l'acheteur | cardScheme |
__MERCHANT_ID__ | Numérique | Identifiant du marchand | merchantId |
__MERCHANT_NAME__ | Alphanumérique | Nom du marchand | merchantName |
__TRANSACTION_ID__ | Alphanumérique | Identifiant de transaction | transactionId ou transactionReference |
__HOLDER_FIRSTNAME__ | Alphanumérique | Prénom de l'acheteur | holderContact.firstname |
__HOLDER_LASTNAME__ | Alphanumérique | Nom de l'acheteur | holderContact.lastname |
__TRADE_NAME__ | Alphanumérique | Nom de l'enseigne | Basé sur la configuration du marchand |
__INVOICE_REFERENCE__ | Numérique | Référence de la facture | invoiceReference |