Introduction
Mercanet is a secure multi-channel e-commerce payment solution that complies with the PCI DSS standard. It allows you to accept and manage payment transactions by taking into account business rules related to your activity (payment on despatch, deferred payment, recurring payment, payment in instalments, etc.).
The purpose of this document is to explain the usage of the Mercanet Message solution.
Who does this document target?
This document is intended for merchants who wish to send their customers a message by email indicating whether payment has been accepted or not.
It is an implementation guide for your technical team.
To get an overview of the Mercanet solution, we advise you to consult the following documents:
- Functional presentation
- Functionality set-up guide
What is Mercanet Message?
Mercanet Message is a system that allows you to send your customers a message by email indicating whether their payments have been accepted or refused.
This service is available with Paypage, Office (M2M), In-App connectors for all payment means.
Mercanet Message allows you to send multilingual and personalised messages.
Understanding how Mercanet Message works
1. When the customer proceeds to the payment stage, a payment request must be sent to the Mercanet payment pages.
Two independent response notifications are possible:
2. Manual responses are sent in HTTP(S) POST format by the payment server to the manual response URL. This URL is specified in the payment request and is used when the customer clicks "Continue" on the payment page. It is the destination page to which the customer is redirected at the end of the payment. As there is no guarantee that the customer will click this button, you have no guarantee of receiving the manual response.
2'. Automatic responses are sent independently of the manual responses. They similarly use HTTP(S) POST requests sent by Mercanet payment servers, but in this case they use the automatic response URL specified in the payment request. This means that you receive the response as soon as the payment is made in the Mercanet payment pages.
3. Email payment confirmations are sent by our Mercanet Message service to the customer (and also to the merchant in carbon copy) if the corresponding option is enabled.
Getting started with Mercanet Message in 3 steps
Step 1: complete the payment request
For a payment confirmation to be sent, you must fill in the customerContact.email field for a message via email in your payment request.
If you want to send messages in different languages depending on your customer's language with the Office (M2M) and In-App connectors, you must also complete the customerLanguage field so that Mercanet knows in which language the message should be sent.
With Paypage, if the customerLanguage field is not filled in, the language is calculated based on the customer's browser language.
Step 2: personalise your messages (optional)
The message personalisation step is optional. If you do not want to personalise the messages, the Mercanet templates will be used by default (see templates in the sections Personalising email messages ), you can skip directly to the following step.
The messages can be personalised with templates containing the text of your message and contextual elements for the transaction (you will find all the variables in the dictionary of tags).
For example, if you want to send a message for an accepted payment and another one for a declined payment both in English and in French, you will need to create 4 templates:
- one for payment accepted in French
- one for payment accepted in English
- one for payment declined in French
- one for payment declined in English
Personalising email messages
The mail templates consist of HTML tags. By default, the sent email messages are:
- For an accepted payment
- For a declined payment
The following tags let you personalise your email:
Tag | Personalised part |
---|---|
<!-- SIPS +com.worldline.sips.sipsmsg.push.sendMessage.tools.tags.SipsMsgTags.mailSubject --> | Email subject |
<!-- SIPS +net.worldline.mm.fwk.wpm.media.DefaultTags.displayProperties --> | Replaces the variables with the syntax "__FIELD_NAME__"* with your choice of values |
<img src=”cid:myPicture.jpg” /> | Logo (format: jpg, png, gif, bmp) |
Sample HTML code for an accepted payment
<!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>
Sample HTML code for a declined payment
<!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>
Step 3: activate Mercanet Message in live mode
To use Mercanet Message, you must request activation of the options that interest you and provide Mercanet with the following information:
Option | Action |
---|---|
General settings | |
send a payment confirmation for payment accepted | activate |
send a payment confirmation for payment declined | activate |
Settings for email messages | |
send a payment confirmation by email | activate |
indicate the email address of the sender | complete |
indicate the "cc" carbon copy email | complete |
indicate the template file name used for emails | complete |
indicate the email subject for payment accepted | complete |
indicate the email subject for payment declined | complete |
Send all of this information and your custom template(s) to Mercanet technical support indicating your merchantId.
The template files must be named as follows: templatenamelanguage.status.extension
For example, for a French email template for an accepted payment, the file will be named as follows: mytemplatefr.accepted.html
Dictionary of tags
Tag | Format | Description | Corresponding field in the connectors |
---|---|---|---|
__AMOUNT__ | Alphanumeric | Amount of payment formatted with the currency | amount |
__AUTHORISATION_ID__ | Alphanumeric | Authorisation ID | authorisationId |
__PAYMENT_TIME__ | dd/mm/yy | Transaction date | Based on merchantTransactionDateTime |
__PAYMENT_DATE__ | hh:mm | Transaction time | Based on merchantTransactionDateTime |
__CARD_NUMBER__ | Alphanumeric | Masked card number (example: 4955 #### #### 1234) | maskedPan |
__CARD_TYPE__ | Alphanumeric | Name of the payment method used by the buyer | cardScheme |
__MERCHANT_ID__ | Numerical | Merchant ID | merchantId |
__MERCHANT_NAME__ | Alphanumeric | Merchant name | merchantName |
__TRANSACTION_ID__ | Alphanumeric | Transaction ID | transactionId or transactionReference |
__HOLDER_FIRSTNAME__ | Alphanumeric | Card holder first name | holderContact.firstname |
__HOLDER_LASTNAME__ | Alphanumeric | Card holder last name | holderContact.lastname |
__TRADE_NAME__ | Alphanumeric | Commercial group name | Based on the merchant configuration |
__INVOICE_REFERENCE__ | Numerical | Invoice reference | invoiceReference |