Introduction
Cette section décrit Corena Money API de passerelle de paiement.
Corena Money L’API est facile à implémenter. URLs bien formatées, accepte les requêtes cURL et retourne du JSON.
You can use the API in test mode, which does not affect your live data. The API key is use to authenticate the request and determines the request is valid payment or not. For test mode just use the sandbox URL and In case of live mode use the live URL from section Initier le paiement .
Devises supportées
Cette section décrit les devises supportées par Corena Money
Corena Money allows to make transaction with below currencies. Any new currency may update in future.
| Nom de la devise | Symbole monétaire | Code de devise |
|---|---|---|
| United States Dollar | $ | USD |
Obtenir la clé API
Cette section explique comment obtenir votre clé API.
Connectez-vous à votre Corena Money compte marchand. If you don't have any ? Cliquez ici
L’étape suivante consiste à trouver Clé API menu dans la barre latérale de votre tableau de bord. Cliquez dessus.
Les clés API se trouvent ici : Clé publique et clé secrète. Utilisez ces clés pour initier les requêtes API. Vous pouvez générer une nouvelle clé en cliquant sur Générer une clé API le bouton. Ne partagez jamais ces clés.
Initier le paiement
This section describes the process of initaiing the payment.
To initiate the payment follow the example code and be careful with the perameters. You will need to make request with these following API end points.
Endpoint en production : https://www.corenamoney.com/payment/initiate
Endpoint de test : https://www.corenamoney.com/sandbox/payment/initiate
E-mail mode test : test_mode@mail.com
Code de vérification mode test : 222666
Méthode : POST
Faites une requête vers le endpoint avec les paramètres suivants.
| Nom du paramètre | Type de paramètre | Description |
|---|---|---|
| public_key | string (50) | Obligatoire Votre clé API publique |
| identifier | string (20) | Obligatoire L’identifiant sert à identifier le paiement de votre côté |
| currency | string (4) | Obligatoire Code de devise, en majuscules. ex : USD, EUR |
| amount | decimal | Obligatoire Montant du paiement. |
| details | string (100) | Obligatoire Détails de votre paiement ou transaction. |
| ipn_url | string | Obligatoire L’URL de notification instantanée de paiement. |
| success_url | string | Obligatoire URL de redirection après succès. |
| cancel_url | string | Obligatoire URL de redirection en cas d’annulation. |
| site_logo | string/url | Obligatoire Logo de votre site. |
| checkout_theme | string | Facultatif Thème du formulaire de paiement (clair/sombre). Le thème par défaut est clair. |
| customer_name | string (30) | Obligatoire Nom du client. |
| customer_email | string (30) | Obligatoire E-mail valide du client. |
<?php
$parameters = [
'identifier' => 'DFU80XZIKS',
'currency' => 'USD',
'amount' => 100.00,
'details' => 'Purchase T-shirt',
'ipn_url' => 'http://example.com/ipn_url.php',
'cancel_url' => 'http://example.com/cancel_url.php',
'success_url' => 'http://example.com/success_url.php',
'public_key' => 'your_public_key',
'site_logo' => 'https://www.corenamoney.com/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://www.corenamoney.com/payment/initiate";
//test end point
$url = "https://www.corenamoney.com/sandbox/payment/initiate";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
//$result contains the response back.
?>
//Error Response.
{
"error": "true",
"message": "Invalid api key"
}
//Success Response.
{
"success": "ok",
"message": "Payment Initiated. Redirect to url.",
"url":"http://example.com/initiate/payment/checkout?payment_id=eJSAASDxdrt4DASDASVNASJA7893232432cvmdsamnvASF"
}
Valider le paiement et l’IPN
Cette section décrit comment recevoir la notification instantanée de paiement.
To initiate the payment follow the example code and be careful with the perameters. You will need to make request with these following API end points.
Point d’accès : L’URL IPN de votre application.
Méthode : POST
Vous recevrez les paramètres suivants :
| Nom du paramètre | Description |
|---|---|
| status | Statut de succès du paiement. |
| identifier | L’identifiant sert à identifier le paiement de votre côté. |
| signature | Une signature hash pour vérifier le paiement de votre côté. |
| data | Les données contiennent les informations de base : frais, montant, devise, ID de transaction, etc. |
<?php
//Receive the response parameter
$status = $_POST['status'];
$signature = $_POST['signature'];
$identifier = $_POST['identifier'];
$data = $_POST['data'];
// Generate your signature
$customKey = $data['amount'].$identifier;
$secret = 'YOUR_SECRET_KEY';
$mySignature = strtoupper(hash_hmac('sha256', $customKey , $secret));
$myIdentifier = 'YOUR_GIVEN_IDENTIFIER';
if($status == "success" && $signature == $mySignature && $identifier == $myIdentifier){
//your operation logic
}
?>