Moyens d'intégration


Vous avez le choix entre cinq moyens d'intégration simples et rapides à mettre en place.

Choississez le mode d'intégration qui vous convient

Intégrez le script

        
            
                <script type="text/javascript" src="https://sandbox-www.leetchi.com/Payment/MerchantFrame.js"></script>
                <link href="https://sandbox-www.leetchi.com/Payment/MerchantFrame.css" rel="stylesheet" type="text/css"/>
                <form id="leetchi_payment_form" action="https://sandbox-www.leetchi.com/Payment" method="post">
                    <input type="hidden" name="pay_to_email" value="boutique@leetchi.com"/>
                    <input type="hidden" name="status_url" value="http://www.yoursite.com/callbacks_url.html"/> 
                    <input type="hidden" name="return_url" value="http://www.yoursite.com/return_url.html"/> 
                    <input type="hidden" name="cancel_url" value="http://www.yoursite.com/cancel_url.com"/>  
                    <input type="hidden" name="amount" value="9995"/> 
                    <input type="hidden" name="transaction_id" value=”12345"/>
                    <input type="hidden" name="merchant_fields" value="my_tag_1,my_tag_2" />  
                    <input type="hidden" name="my_tag_1" value="My first tag"/>
                    <input type="hidden" name="my_tag_2" value="My second tag"/>
                    <input type="submit" value="Pay with Leetchi" />
                </form>

		
            
        
    
ATTRIBUTS
pay_to_email
Email requis
Identifiant du marchand
status_url
Varchar (255) optionnel
URL sur laquelle sont envoyés les callbacks de Leetchi
return_url
Varchar (255) optionnel
URL de redirection après un paiement OK (= page de confirmation de commande)
cancel_url
Varchar (255) optionnel
URL de redirection en cas de paiement KO (= page de commande non validée)
amount
Number requis
Montant TTC de la commande (obligatoirement positif)
currency
Varchar (255) optionnel
Devise de la commande : ‘EUR’ ou ‘GBP’
transaction_id
Varchar (255) requis
Id de la commande
merchant_fields
Varchar (255) optionnel
Champ libre à disposition du marchand (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’
my_tag_2
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’

Effectuez des tests en utilisant les informations suivantes :

URL de pré-production :

https://sandbox-www.leetchi.com/Payment

Compte partenaire en pré-production (pour tester le paiement) :

ID : 12
Merchant email : boutique@leetchi.com
API SecretWord : b0ut1qu3

Compte utilisateur en pré-production (pour tester le paiement)

Mail : boutique+test@leetchi.com
Password : boutique1
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4970100000000154
Date d’expiration : 10/21
CVV : 123

Recevez des callbacks

Le moyen de paiement utilise un système simple de callbacks pour vous tenir informé des achats réalisés par des utilisateurs Leetchi sur votre site. La valeur envoyée est le résultat d'une signature MD5 obtenue par la concaténation des valeurs suivantes :

• merchant_id
• lma_transaction_id
• Hash MD5 de l'API SecretWord, en majuscules
• lma_amount
• status

Il en va de votre responsabilité de vérifier que les données qui vous ont été envoyées n'ont pas été corrompues en calculant vous-même la signature MD5 et en la comparant à celle fournie par Leetchi.

La sécurité de ce processus de validation est garantie par les moyens suivants :

• le merchant_id n'est pas public
• l'API SecretWord est confidentielle
• le lma_transaction_id est unique
• l'algorithme MD5 est sécurisé

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $lma_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $lma_amount . $status));
                }
                function debug_log($message) {
                    $f = fopen("temp.log", "a");
                    fprintf($f, "%s - $message\n", @date('r'));
                    fclose($f);
                }
                if ($_SERVER["REQUEST_METHOD"] != "POST")
                $result = "This form is intended for testing the Leetchi integration. 
                It should receive and process a POST request from the Leetchi Payment server.";
                else if (calculate_md5sig($_POST["merchant_id"], 
                            $_POST["lma_transaction_id"], SECRET_WORD, $_POST["lma_amount"], 
                            $_POST["status"]) != $_POST["md5sig"])
                $result = "The request is not valid.";
                else {
                // The request is validated successfully. It is safe to process the payment.
                $amount = $_POST["amount"];
                $status = "?";
                switch ((int)$_POST["status"]) {
                case -2: $status = "failed"; break;
                case -1: $status = "cancelled"; break;
                case 0: $status = "pending"; break;
                case 2: $status = "processed"; break;
                }
                $result = "The request is validated successfully. The payment of $amount eurocents is $status.";
                // perform some custom payment processing
                // …
                }
                debug_log("$result\nRequest details:\n" . print_r($_POST, true));
                ?>
                <html>
                    <head>
                    <title>Boutique</title>
                    <link href="style.css" rel="stylesheet" type="text/css" />
                    </head>
                    <body>
                        <a href="index.htm">Boutique home page</a>
                        <h1>Boutique payment status</h1>
                        <p></p>
                        <h2>Request details</h2>
                        <pre>Array
(
)
</pre>
                    </body>
                </html>						
            
        
    

Fonctionnement :

Le marchand envoie le formulaire via un POST à Leetchi incluant les différentes informations relatives à la commande.

Une pop-in Leetchi s’affiche sur votre site sur laquelle l’utilisateur choisit la cagnotte qu’il souhaite utiliser pour sa dépense.

Leetchi retourne une notification permettant au marchand d'authentifier que les données ne sont pas corrompues grâce à la vérification de la signature du MD5.
• Aucune notification n’est envoyée en cas d’échec de la transaction
• La notification est envoyée uniquement en cas de succès de la transaction → ‘2’ : la transaction est validée

L’utilisateur est redirigé vers votre page de confirmation de commande (valeur renseignée dans le paramètre return_url)

Basculer sur l'environnement de production

Utilisez vos id propriétaires (MerchantId, PayToEmail et password) et non ceux de tests.
Si vous ne connaissez pas ou ne retrouvez pas ces identifiants, contactez-nous via partners@leetchi.com

Intégrez facilement notre module Prestashop

Module compatible 1.7

TÉLÉCHARGER

Module compatible 1.6 ou inférieur

TÉLÉCHARGER

Intégrez le script

        
            
                <script type="text/javascript" src="https://www.leetchi.com/Payment/MerchantFrame.js"></script>
                <link href="https://www.leetchi.com/Payment/MerchantFrame.css" rel="stylesheet" type="text/css"/>
                <form id="leetchi_payment_form" action="https://www-preprod.leetchi.com/Payment" method="post"><input type="hidden" name="pay_to_email" value="boutique@leetchi.com"/>
                <input type="hidden" name="status_url" value="http://www.yoursite.com/callbacks_url.html"/>
                <input type="hidden" name="return_url" value="http://www.yoursite.com/return_url.html"/>
                <input type="hidden" name="cancel_url" value="http://www.yoursite.com/cancel_url.com"/>
                <input type="hidden" name="amount" value="9995"/>
                <input type="hidden" name="transaction_id" value="12345" />
                <input type="hidden" name="merchant_fields" value="my_tag_1,my_tag_2" />
                <input type="hidden" name="my_tag_1" value="My first tag"/>
                <input type="hidden" name="my_tag_2" value="My second tag"/>
                <input type="submit" value="Pay with Leetchi" />
                </form>							
            
        
    
ATTRIBUTS
pay_to_email
Email requis
Identifiant du marchand
status_url
Varchar (255) optionnel
URL sur laquelle sont envoyés les callbacks de Leetchi
return_url
Varchar (255) optionnel
URL de redirection après un paiement OK (= page de confirmation de commande)
cancel_url
Varchar (255) optionnel
URL de redirection en cas de paiement KO (= page de commande non validée)
amount
Number requis
Montant TTC de la commande (obligatoirement positif)
currency
Varchar (255) optionnel
Devise de la commande : ‘EUR’ ou ‘GBP’
transaction_id
Varchar (255) requis
Id de la commande
merchant_fields
Varchar (255) optionnel
Champ libre à disposition du marchand (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’
my_tag_2
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’

Effectuez des tests en utilisant les informations suivantes :

URL de pré-production :

https://sandbox-www.leetchi.com/Payment

Compte partenaire en pré-production (pour tester le paiement) :

ID : 12
Merchant email : boutique@leetchi.com
API SecretWord : b0ut1qu3

Compte utilisateur en pré-production (pour tester le paiement)

Mail : boutique+test@leetchi.com
Password : boutique1
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4970100000000154
Date d’expiration : 10/21
CVV : 123

Recevez des callbacks

Le moyen de paiement utilise un système simple de callbacks pour vous tenir informé des achats réalisés par des utilisateurs Leetchi sur votre site. La valeur envoyée est le résultat d'une signature MD5 obtenue par la concaténation des valeurs suivantes :

• merchant_id
• lma_transaction_id
• Hash MD5 de l'API SecretWord, en majuscules
• lma_amount
• status

Il en va de votre responsabilité de vérifier que les données qui vous ont été envoyées n'ont pas été corrompues en calculant vous-même la signature MD5 et en la comparant à celle fournie par Leetchi.

La sécurité de ce processus de validation est garantie par les moyens suivants :

• le merchant_id n'est pas public
• l'API SecretWord est confidentielle
• le lma_transaction_id est unique
• l'algorithme MD5 est sécurisé

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $lma_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $lma_amount . $status));
                }
                function debug_log($message) {
                    $f = fopen("temp.log", "a");
                    fprintf($f, "%s - $message\n", @date('r'));
                    fclose($f);
                }
                if ($_SERVER["REQUEST_METHOD"] != "POST")
                $result = "This form is intended for testing the Leetchi integration. 
                It should receive and process a POST request from the Leetchi Payment server.";
                else if (calculate_md5sig($_POST["merchant_id"], 
                            $_POST["lma_transaction_id"], SECRET_WORD, $_POST["lma_amount"], 
                            $_POST["status"]) != $_POST["md5sig"])
                $result = "The request is not valid.";
                else {
                // The request is validated successfully. It is safe to process the payment.
                $amount = $_POST["amount"];
                $status = "?";
                switch ((int)$_POST["status"]) {
                case -2: $status = "failed"; break;
                case -1: $status = "cancelled"; break;
                case 0: $status = "pending"; break;
                case 2: $status = "processed"; break;
                }
                $result = "The request is validated successfully. The payment of $amount eurocents is $status.";
                // perform some custom payment processing
                // …
                }
                debug_log("$result\nRequest details:\n" . print_r($_POST, true));
                ?>
                <html>
                    <head>
                    <title>Boutique</title>
                    <link href="style.css" rel="stylesheet" type="text/css" />
                    </head>
                    <body>
                        <a href="index.htm">Boutique home page</a>
                        <h1>Boutique payment status</h1>
                        <p></p>
                        <h2>Request details</h2>
                        <pre>Array
(
)
</pre>
                    </body>
                </html>						
            
        
    

Fonctionnement :

Le marchand envoie le formulaire via un POST à Leetchi incluant les différentes informations relatives à la commande.

Une pop-in Leetchi s’affiche sur votre site sur laquelle l’utilisateur choisit la cagnotte qu’il souhaite utiliser pour sa dépense.

Leetchi retourne une notification permettant au marchand d'authentifier que les données ne sont pas corrompues grâce à la vérification de la signature du MD5.
• Aucune notification n’est envoyée en cas d’échec de la transaction
• La notification est envoyée uniquement en cas de succès de la transaction → ‘2’ : la transaction est validée

L’utilisateur est redirigé vers votre page de confirmation de commande (valeur renseignée dans le paramètre return_url)

Basculer sur l'environnement de production

Utilisez vos id propriétaires (MerchantId, PayToEmail et password) et non ceux de tests.
Si vous ne connaissez pas ou ne retrouvez pas ces identifiants, contactez-nous via partners@leetchi.com

Intégrez facilement notre module Magento

Module compatible 1.7

TÉLÉCHARGER

Intégrez le module

Liste et définition des paramètres du module :

ATTRIBUTS
pay_to_email
Email requis
Identifiant du marchand
status_url
Varchar (255) optionnel
URL sur laquelle sont envoyés les callbacks de Leetchi
return_url
Varchar (255) optionnel
URL de redirection après un paiement OK (= page de confirmation de commande)
cancel_url
Varchar (255) optionnel
URL de redirection en cas de paiement KO (= page de commande non validée)
amount
Number requis
Montant TTC de la commande (obligatoirement positif)
currency
Varchar (255) optionnel
Devise de la commande : ‘EUR’ ou ‘GBP’
transaction_id
Varchar (255) requis
Id de la commande
merchant_fields
Varchar (255) optionnel
Champ libre à disposition du marchand (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’
my_tag_2
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’

Effectuez des tests en utilisant les informations suivantes :

URL de pré-production :

https://sandbox-www.leetchi.com/Payment

Compte partenaire en pré-production (pour tester le paiement) :

ID : 12
Merchant email : boutique@leetchi.com
API SecretWord : b0ut1qu3

Compte utilisateur en pré-production (pour tester le paiement)

Mail : boutique+test@leetchi.com
Password : boutique1
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4970100000000154
Date d’expiration : 10/21
CVV : 123

Recevez des callbacks

Le moyen de paiement utilise un système simple de callbacks pour vous tenir informé des achats réalisés par des utilisateurs Leetchi sur votre site. La valeur envoyée est le résultat d'une signature MD5 obtenue par la concaténation des valeurs suivantes :

• merchant_id
• lma_transaction_id
• Hash MD5 de l'API SecretWord, en majuscules
• lma_amount
• status

Il en va de votre responsabilité de vérifier que les données qui vous ont été envoyées n'ont pas été corrompues en calculant vous-même la signature MD5 et en la comparant à celle fournie par Leetchi.

La sécurité de ce processus de validation est garantie par les moyens suivants :

• le merchant_id n'est pas public
• l'API SecretWord est confidentielle
• le lma_transaction_id est unique
• l'algorithme MD5 est sécurisé

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $lma_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $lma_amount . $status));
                }
                function debug_log($message) {
                    $f = fopen("temp.log", "a");
                    fprintf($f, "%s - $message\n", @date('r'));
                    fclose($f);
                }
                if ($_SERVER["REQUEST_METHOD"] != "POST")
                $result = "This form is intended for testing the Leetchi integration. 
                It should receive and process a POST request from the Leetchi Payment server.";
                else if (calculate_md5sig($_POST["merchant_id"], 
                            $_POST["lma_transaction_id"], SECRET_WORD, $_POST["lma_amount"], 
                            $_POST["status"]) != $_POST["md5sig"])
                $result = "The request is not valid.";
                else {
                // The request is validated successfully. It is safe to process the payment.
                $amount = $_POST["amount"];
                $status = "?";
                switch ((int)$_POST["status"]) {
                case -2: $status = "failed"; break;
                case -1: $status = "cancelled"; break;
                case 0: $status = "pending"; break;
                case 2: $status = "processed"; break;
                }
                $result = "The request is validated successfully. The payment of $amount eurocents is $status.";
                // perform some custom payment processing
                // …
                }
                debug_log("$result\nRequest details:\n" . print_r($_POST, true));
                ?>
                <html>
                    <head>
                    <title>Boutique</title>
                    <link href="style.css" rel="stylesheet" type="text/css" />
                    </head>
                    <body>
                        <a href="index.htm">Boutique home page</a>
                        <h1>Boutique payment status</h1>
                        <p></p>
                        <h2>Request details</h2>
                        <pre>Array
(
)
</pre>
                    </body>
                </html>						
            
        
    

Fonctionnement :

Le marchand envoie le formulaire via un POST à Leetchi incluant les différentes informations relatives à la commande.

Une pop-in Leetchi s’affiche sur votre site sur laquelle l’utilisateur choisit la cagnotte qu’il souhaite utiliser pour sa dépense.

Leetchi retourne une notification permettant au marchand d'authentifier que les données ne sont pas corrompues grâce à la vérification de la signature du MD5.
• Aucune notification n’est envoyée en cas d’échec de la transaction
• La notification est envoyée uniquement en cas de succès de la transaction → ‘2’ : la transaction est validée

L’utilisateur est redirigé vers votre page de confirmation de commande (valeur renseignée dans le paramètre return_url)

Basculer sur l'environnement de production

Utilisez vos id propriétaires (MerchantId, PayToEmail et password) et non ceux de tests.
Si vous ne connaissez pas ou ne retrouvez pas ces identifiants, contactez-nous via partners@leetchi.com

Contactez votre Account Manager

Demandez l’activation du mode de paiement Leetchi

Liste et définition des paramètres du module :

ATTRIBUTS
pay_to_email
Email requis
Identifiant du marchand
status_url
Varchar (255) optionnel
URL sur laquelle sont envoyés les callbacks de Leetchi
return_url
Varchar (255) optionnel
URL de redirection après un paiement OK (= page de confirmation de commande)
cancel_url
Varchar (255) optionnel
URL de redirection en cas de paiement KO (= page de commande non validée)
amount
Number requis
Montant TTC de la commande (obligatoirement positif)
currency
Varchar (255) optionnel
Devise de la commande : ‘EUR’ ou ‘GBP’
transaction_id
Varchar (255) requis
Id de la commande
merchant_fields
Varchar (255) optionnel
Champ libre à disposition du marchand (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’
my_tag_2
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’

Effectuez des tests en utilisant les informations suivantes :

URL de pré-production :

https://sandbox-www.leetchi.com/Payment

Compte partenaire en pré-production (pour tester le paiement) :

ID : 12
Merchant email : boutique@leetchi.com
API SecretWord : b0ut1qu3

Compte utilisateur en pré-production (pour tester le paiement)

Mail : boutique+test@leetchi.com
Password : boutique1
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4970100000000154
Date d’expiration : 10/21
CVV : 123

Recevez des callbacks

Le moyen de paiement utilise un système simple de callbacks pour vous tenir informé des achats réalisés par des utilisateurs Leetchi sur votre site. La valeur envoyée est le résultat d'une signature MD5 obtenue par la concaténation des valeurs suivantes :

• merchant_id
• lma_transaction_id
• Hash MD5 de l'API SecretWord, en majuscules
• lma_amount
• status

Il en va de votre responsabilité de vérifier que les données qui vous ont été envoyées n'ont pas été corrompues en calculant vous-même la signature MD5 et en la comparant à celle fournie par Leetchi.

La sécurité de ce processus de validation est garantie par les moyens suivants :

• le merchant_id n'est pas public
• l'API SecretWord est confidentielle
• le lma_transaction_id est unique
• l'algorithme MD5 est sécurisé

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $lma_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $lma_amount . $status));
                }
                function debug_log($message) {
                    $f = fopen("temp.log", "a");
                    fprintf($f, "%s - $message\n", @date('r'));
                    fclose($f);
                }
                if ($_SERVER["REQUEST_METHOD"] != "POST")
                $result = "This form is intended for testing the Leetchi integration. 
                It should receive and process a POST request from the Leetchi Payment server.";
                else if (calculate_md5sig($_POST["merchant_id"], 
                            $_POST["lma_transaction_id"], SECRET_WORD, $_POST["lma_amount"], 
                            $_POST["status"]) != $_POST["md5sig"])
                $result = "The request is not valid.";
                else {
                // The request is validated successfully. It is safe to process the payment.
                $amount = $_POST["amount"];
                $status = "?";
                switch ((int)$_POST["status"]) {
                case -2: $status = "failed"; break;
                case -1: $status = "cancelled"; break;
                case 0: $status = "pending"; break;
                case 2: $status = "processed"; break;
                }
                $result = "The request is validated successfully. The payment of $amount eurocents is $status.";
                // perform some custom payment processing
                // …
                }
                debug_log("$result\nRequest details:\n" . print_r($_POST, true));
                ?>
                <html>
                    <head>
                    <title>Boutique</title>
                    <link href="style.css" rel="stylesheet" type="text/css" />
                    </head>
                    <body>
                        <a href="index.htm">Boutique home page</a>
                        <h1>Boutique payment status</h1>
                        <p></p>
                        <h2>Request details</h2>
                        <pre>Array
(
)
</pre>
                    </body>
                </html>						
            
        
    

Fonctionnement :

Le marchand envoie le formulaire via un POST à Leetchi incluant les différentes informations relatives à la commande.

Une pop-in Leetchi s’affiche sur votre site sur laquelle l’utilisateur choisit la cagnotte qu’il souhaite utiliser pour sa dépense.

Leetchi retourne une notification permettant au marchand d'authentifier que les données ne sont pas corrompues grâce à la vérification de la signature du MD5.
• Aucune notification n’est envoyée en cas d’échec de la transaction
• La notification est envoyée uniquement en cas de succès de la transaction → ‘2’ : la transaction est validée

L’utilisateur est redirigé vers votre page de confirmation de commande (valeur renseignée dans le paramètre return_url)

Basculer sur l'environnement de production

Utilisez vos id propriétaires (MerchantId, PayToEmail et password) et non ceux de tests.
Si vous ne connaissez pas ou ne retrouvez pas ces identifiants, contactez-nous via partners@leetchi.com

Contactez votre Account Manager

Demandez l’activation du mode de paiement Leetchi

Liste et définition des paramètres du module :

ATTRIBUTS
pay_to_email
Email requis
Identifiant du marchand
status_url
Varchar (255) optionnel
URL sur laquelle sont envoyés les callbacks de Leetchi
return_url
Varchar (255) optionnel
URL de redirection après un paiement OK (= page de confirmation de commande)
cancel_url
Varchar (255) optionnel
URL de redirection en cas de paiement KO (= page de commande non validée)
amount
Number requis
Montant TTC de la commande (obligatoirement positif)
currency
Varchar (255) optionnel
Devise de la commande : ‘EUR’ ou ‘GBP’
transaction_id
Varchar (255) requis
Id de la commande
merchant_fields
Varchar (255) optionnel
Champ libre à disposition du marchand (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’
my_tag_2
Varchar (255) optionnel
Champ libre, lié au champ ‘merchant_fields’

Effectuez des tests en utilisant les informations suivantes :

URL de pré-production :

https://sandbox-www.leetchi.com/Payment

Compte partenaire en pré-production (pour tester le paiement) :

ID : 12
Merchant email : boutique@leetchi.com
API SecretWord : b0ut1qu3

Compte utilisateur en pré-production (pour tester le paiement)

Mail : boutique+test@leetchi.com
Password : boutique1
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4970100000000154
Date d’expiration : 10/21
CVV : 123

Recevez des callbacks

Le moyen de paiement utilise un système simple de callbacks pour vous tenir informé des achats réalisés par des utilisateurs Leetchi sur votre site. La valeur envoyée est le résultat d'une signature MD5 obtenue par la concaténation des valeurs suivantes :

• merchant_id
• lma_transaction_id
• Hash MD5 de l'API SecretWord, en majuscules
• lma_amount
• status

Il en va de votre responsabilité de vérifier que les données qui vous ont été envoyées n'ont pas été corrompues en calculant vous-même la signature MD5 et en la comparant à celle fournie par Leetchi.

La sécurité de ce processus de validation est garantie par les moyens suivants :

• le merchant_id n'est pas public
• l'API SecretWord est confidentielle
• le lma_transaction_id est unique
• l'algorithme MD5 est sécurisé

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $lma_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $lma_amount . $status));
                }
                function debug_log($message) {
                    $f = fopen("temp.log", "a");
                    fprintf($f, "%s - $message\n", @date('r'));
                    fclose($f);
                }
                if ($_SERVER["REQUEST_METHOD"] != "POST")
                $result = "This form is intended for testing the Leetchi integration. 
                It should receive and process a POST request from the Leetchi Payment server.";
                else if (calculate_md5sig($_POST["merchant_id"], 
                            $_POST["lma_transaction_id"], SECRET_WORD, $_POST["lma_amount"], 
                            $_POST["status"]) != $_POST["md5sig"])
                $result = "The request is not valid.";
                else {
                // The request is validated successfully. It is safe to process the payment.
                $amount = $_POST["amount"];
                $status = "?";
                switch ((int)$_POST["status"]) {
                case -2: $status = "failed"; break;
                case -1: $status = "cancelled"; break;
                case 0: $status = "pending"; break;
                case 2: $status = "processed"; break;
                }
                $result = "The request is validated successfully. The payment of $amount eurocents is $status.";
                // perform some custom payment processing
                // …
                }
                debug_log("$result\nRequest details:\n" . print_r($_POST, true));
                ?>
                <html>
                    <head>
                    <title>Boutique</title>
                    <link href="style.css" rel="stylesheet" type="text/css" />
                    </head>
                    <body>
                        <a href="index.htm">Boutique home page</a>
                        <h1>Boutique payment status</h1>
                        <p></p>
                        <h2>Request details</h2>
                        <pre>Array
(
)
</pre>
                    </body>
                </html>						
            
        
    

Fonctionnement :

Le marchand envoie le formulaire via un POST à Leetchi incluant les différentes informations relatives à la commande.

Une pop-in Leetchi s’affiche sur votre site sur laquelle l’utilisateur choisit la cagnotte qu’il souhaite utiliser pour sa dépense.

Leetchi retourne une notification permettant au marchand d'authentifier que les données ne sont pas corrompues grâce à la vérification de la signature du MD5.
• Aucune notification n’est envoyée en cas d’échec de la transaction
• La notification est envoyée uniquement en cas de succès de la transaction → ‘2’ : la transaction est validée

L’utilisateur est redirigé vers votre page de confirmation de commande (valeur renseignée dans le paramètre return_url)

Basculer sur l'environnement de production

Utilisez vos id propriétaires (MerchantId, PayToEmail et password) et non ceux de tests.
Si vous ne connaissez pas ou ne retrouvez pas ces identifiants, contactez-nous via partners@leetchi.com

Questions fréquentes