Integration methods


You can choose between five easy integration methods

Choose the integration method that best suits your needs

INTEGRATE THE 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>

		
            
        
    
ATTRIBUTES
pay_to_email
Required email
Merchant identifiant
status_url
Optional varchar (255)
URL on which are send Leetchi callbacks
return_url
Optional varchar (255)
Redirecting URL after payment is OK (= order confirmation page)
cancel_url
Optional varchar (255)
Redirecting URL after payment is KO (= order cancellation page)
amount
Required number
Amount of the order VAT included (has to be positive)
currency
Optional varchar (255)
Currency of the order : ‘EUR’ or ‘GBP’
transaction_id
Required varchar (255)
Order ID
merchant_fields
Optional varchar (255)
Open field for the merchant (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’
my_tag_2
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’

Run some tests and access the staging mode by using the following information:

Staging URL

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

Staging Merchant account (to test payment)

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

Leetchi Staging user (to test payment)

Mail : partners@leetchi.com
Password : Testpartenaire3!
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4972485830400049
Date d’expiration : 10/22
CVV : 123

RECEIVE CALLBACKS

The mean of payment uses a simple system of callbacks to inform you when a user makes a purchase on your website. The value sent is the result of an MD5 signature computation made on the concatenation of following values :

• merchant_id
• lma_transaction_id
• MD5 hash of the API password, in capital letters
• lma_amount
• status

It is your responsibility to verify that the data sent to you has not been corrupted. You can verify this by computing the MD5 signature yourself and comparing it to the one provided.

The security of this validation process is guaranteed by the following means:

• merchant_id is not public
• API password is confidential
• lma_transaction_id is unique
• MD5 algorithm is secured

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $your_cart_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $your_cart_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, $your_cart_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>						
            
        
    

How it works :

The merchant sends the form to Leetchi via POST including all information related to the order

Leetchi pop-up window is displayed on your website, on which the user chooses the money pot he wants to use in order to complete the purchase.

Leetchi returns a notification allowing the merchant to authentify that the data is not corrupted thanks to the MD5 signature verification.
No notification is send if transaction fails
'Notification is send only if transaction has succeeded ('2' = transaction is validated) "

User is redirected to your order confirmation page (value of the parameter return_url)

SWITCH TO LIVE MODE

Use your own ID (MerchandId, PayToEmail and password) and not test environment ID. If you do not know it, please contact us on partners@leetchi.com

Integrate easily our Prestashop module

Module compatible 1.7

DOWNLOAD

Module compatible 1.6 or inferior

DOWNLOAD

INTEGRATE THE 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>							
            
        
    
ATTRIBUTES
pay_to_email
Required email
Merchant identifiant
status_url
Optional varchar (255)
URL on which are send Leetchi callbacks
return_url
Optional varchar (255)
Redirecting URL after payment is OK (= order confirmation page)
cancel_url
Optional varchar (255)
Redirecting URL after payment is KO (= order cancellation page)
amount
Required number
Amount of the order VAT included (has to be positive)
currency
Optional varchar (255)
Currency of the order : ‘EUR’ or ‘GBP’
transaction_id
Required varchar (255)
Order ID
merchant_fields
Optional varchar (255)
Open field for the merchant (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’
my_tag_2
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’

Run some tests and access the staging mode by using the following information:

Staging URL

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

Staging Merchant account (to test payment)

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

Leetchi Staging user (to test payment)

Mail : partners@leetchi.com
Password : Testpartenaire3!
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4972485830400049
Date d’expiration : 10/22
CVV : 123

RECEIVE CALLBACKS

The mean of payment uses a simple system of callbacks to inform you when a user makes a purchase on your website. The value sent is the result of an MD5 signature computation made on the concatenation of following values :

• merchant_id
• lma_transaction_id
• MD5 hash of the API password, in capital letters
• lma_amount
• status

It is your responsibility to verify that the data sent to you has not been corrupted. You can verify this by computing the MD5 signature yourself and comparing it to the one provided.

The security of this validation process is guaranteed by the following means:

• merchant_id is not public
• API password is confidential
• lma_transaction_id is unique
• MD5 algorithm is secured

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $your_cart_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $your_cart_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, $your_cart_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>						
            
        
    

How it works :

The merchant sends the form to Leetchi via POST including all information related to the order

Leetchi pop-up window is displayed on your website, on which the user chooses the money pot he wants to use in order to complete the purchase.

Leetchi returns a notification allowing the merchant to authentify that the data is not corrupted thanks to the MD5 signature verification.
No notification is send if transaction fails
'Notification is send only if transaction has succeeded ('2' = transaction is validated) "

User is redirected to your order confirmation page (value of the parameter return_url)

SWITCH TO LIVE MODE

Use your own ID (MerchandId, PayToEmail and password) and not test environment ID. If you do not know it, please contact us on partners@leetchi.com

Integrate easily our Magento module

Module compatible 1.7

DOWNLOAD

Integrate the module

List and definition of the module parameters :

ATTRIBUTES
pay_to_email
Required email
Merchant identifiant
status_url
Optional varchar (255)
URL on which are send Leetchi callbacks
return_url
Optional varchar (255)
Redirecting URL after payment is OK (= order confirmation page)
cancel_url
Optional varchar (255)
Redirecting URL after payment is KO (= order cancellation page)
amount
Required number
Amount of the order VAT included (has to be positive)
currency
Optional varchar (255)
Currency of the order : ‘EUR’ or ‘GBP’
transaction_id
Required varchar (255)
Order ID
merchant_fields
Optional varchar (255)
Open field for the merchant (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’
my_tag_2
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’

Run some tests and access the staging mode by using the following information:

Staging URL

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

Staging Merchant account (to test payment)

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

Leetchi Staging user (to test payment)

Mail : partners@leetchi.com
Password : Testpartenaire3!
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4972485830400049
Date d’expiration : 10/22
CVV : 123

RECEIVE CALLBACKS

The mean of payment uses a simple system of callbacks to inform you when a user makes a purchase on your website. The value sent is the result of an MD5 signature computation made on the concatenation of following values :

• merchant_id
• lma_transaction_id
• MD5 hash of the API password, in capital letters
• lma_amount
• status

It is your responsibility to verify that the data sent to you has not been corrupted. You can verify this by computing the MD5 signature yourself and comparing it to the one provided.

The security of this validation process is guaranteed by the following means:

• merchant_id is not public
• API password is confidential
• lma_transaction_id is unique
• MD5 algorithm is secured

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $your_cart_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $your_cart_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, $your_cart_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>						
            
        
    

How it works :

The merchant sends the form to Leetchi via POST including all information related to the order

Leetchi pop-up window is displayed on your website, on which the user chooses the money pot he wants to use in order to complete the purchase.

Leetchi returns a notification allowing the merchant to authentify that the data is not corrupted thanks to the MD5 signature verification.
No notification is send if transaction fails
'Notification is send only if transaction has succeeded ('2' = transaction is validated) "

User is redirected to your order confirmation page (value of the parameter return_url)

SWITCH TO LIVE MODE

Use your own ID (MerchandId, PayToEmail and password) and not test environment ID. If you do not know it, please contact us on partners@leetchi.com

Contact your account manager

Ask for Leetchi mean of payment activation

List and definition of the module parameters :

ATTRIBUTES
pay_to_email
Required email
Merchant identifiant
status_url
Optional varchar (255)
URL on which are send Leetchi callbacks
return_url
Optional varchar (255)
Redirecting URL after payment is OK (= order confirmation page)
cancel_url
Optional varchar (255)
Redirecting URL after payment is KO (= order cancellation page)
amount
Required number
Amount of the order VAT included (has to be positive)
currency
Optional varchar (255)
Currency of the order : ‘EUR’ or ‘GBP’
transaction_id
Required varchar (255)
Order ID
merchant_fields
Optional varchar (255)
Open field for the merchant (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’
my_tag_2
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’

Run some tests and access the staging mode by using the following information:

Staging URL

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

Staging Merchant account (to test payment)

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

Leetchi Staging user (to test payment)

Mail : partners@leetchi.com
Password : Testpartenaire3!
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4972485830400049
Date d’expiration : 10/22
CVV : 123

RECEIVE CALLBACKS

The mean of payment uses a simple system of callbacks to inform you when a user makes a purchase on your website. The value sent is the result of an MD5 signature computation made on the concatenation of following values :

• merchant_id
• lma_transaction_id
• MD5 hash of the API password, in capital letters
• lma_amount
• status

It is your responsibility to verify that the data sent to you has not been corrupted. You can verify this by computing the MD5 signature yourself and comparing it to the one provided.

The security of this validation process is guaranteed by the following means:

• merchant_id is not public
• API password is confidential
• lma_transaction_id is unique
• MD5 algorithm is secured

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $your_cart_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $your_cart_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, $your_cart_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>						
            
        
    

How it works :

The merchant sends the form to Leetchi via POST including all information related to the order

Leetchi pop-up window is displayed on your website, on which the user chooses the money pot he wants to use in order to complete the purchase.

Leetchi returns a notification allowing the merchant to authentify that the data is not corrupted thanks to the MD5 signature verification.
No notification is send if transaction fails
'Notification is send only if transaction has succeeded ('2' = transaction is validated) "

User is redirected to your order confirmation page (value of the parameter return_url)

SWITCH TO LIVE MODE

Use your own ID (MerchandId, PayToEmail and password) and not test environment ID. If you do not know it, please contact us on partners@leetchi.com

Contact your account manager

Ask for Leetchi mean of payment activation

List and definition of the module parameters :

ATTRIBUTES
pay_to_email
Required email
Merchant identifiant
status_url
Optional varchar (255)
URL on which are send Leetchi callbacks
return_url
Optional varchar (255)
Redirecting URL after payment is OK (= order confirmation page)
cancel_url
Optional varchar (255)
Redirecting URL after payment is KO (= order cancellation page)
amount
Required number
Amount of the order VAT included (has to be positive)
currency
Optional varchar (255)
Currency of the order : ‘EUR’ or ‘GBP’
transaction_id
Required varchar (255)
Order ID
merchant_fields
Optional varchar (255)
Open field for the merchant (‘my_tag_1’, ‘my_tag_2’, ...)
my_tag_1
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’
my_tag_2
Optional varchar (255)
Open field, linked to the field ‘merchant_fields’

Run some tests and access the staging mode by using the following information:

Staging URL

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

Staging Merchant account (to test payment)

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

Leetchi Staging user (to test payment)

Mail : partners@leetchi.com
Password : Testpartenaire3!
Carte de crédit en pré-production (si besoin) :
Numéro de carte : 4972485830400049
Date d’expiration : 10/22
CVV : 123

RECEIVE CALLBACKS

The mean of payment uses a simple system of callbacks to inform you when a user makes a purchase on your website. The value sent is the result of an MD5 signature computation made on the concatenation of following values :

• merchant_id
• lma_transaction_id
• MD5 hash of the API password, in capital letters
• lma_amount
• status

It is your responsibility to verify that the data sent to you has not been corrupted. You can verify this by computing the MD5 signature yourself and comparing it to the one provided.

The security of this validation process is guaranteed by the following means:

• merchant_id is not public
• API password is confidential
• lma_transaction_id is unique
• MD5 algorithm is secured

PHP Integration sample using PHP

        
            
                ?php
                define("SECRET_WORD", "b0ut1qu3");
                function calculate_md5sig($merchant_id, $lma_transaction_id, $secret_word, $your_cart_amount, $status) {
                return strtoupper(md5($merchant_id . $lma_transaction_id . 
                  strtoupper(md5($secret_word)) . $your_cart_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, $your_cart_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>						
            
        
    

How it works :

The merchant sends the form to Leetchi via POST including all information related to the order

Leetchi pop-up window is displayed on your website, on which the user chooses the money pot he wants to use in order to complete the purchase.

Leetchi returns a notification allowing the merchant to authentify that the data is not corrupted thanks to the MD5 signature verification.
No notification is send if transaction fails
'Notification is send only if transaction has succeeded ('2' = transaction is validated) "

User is redirected to your order confirmation page (value of the parameter return_url)

SWITCH TO LIVE MODE

Use your own ID (MerchandId, PayToEmail and password) and not test environment ID. If you do not know it, please contact us on partners@leetchi.com

Frequently asked questions


et, mi, ut at Lorem eleifend