Introduction
Cette section décrit Corena Money payment gateway API.
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
This section describes the currencies supported by 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 |
Get The Api Key
This section describes how you can get your api key.
Login to your Corena Money merchant account. If you don't have any ? Click Here
Next step is to find the Api Key menu in your dashboard sidebar. Click the menu.
The api keys can be found there which is Public key and Secret key. Use these keys to initiate the API request. Every time you can generate new API key by clicking Generate Api Key button. Remember do not share these keys with anyone.
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
Test Mode Mail: test_mode@mail.com
Test Mode Verification Code: 222666
Méthode : POST
Request to the end point with the following parameters below.
| Nom du paramètre | Param Type | Description |
|---|---|---|
| public_key | string (50) | Obligatoire Votre clé API publique |
| identifier | string (20) | Obligatoire Identifier is basically for identify payment at your end |
| currency | string (4) | Obligatoire Currency Code, Must be in Upper Case. e.g. USD,EUR |
| amount | decimal | Obligatoire Montant du paiement. |
| details | string (100) | Obligatoire Details of your payment or transaction. |
| ipn_url | string | Obligatoire The url of instant payment notification. |
| success_url | string | Obligatoire URL de redirection après succès. |
| cancel_url | string | Obligatoire Payment cancel redirect url. |
| site_logo | string/url | Obligatoire Your business site logo. |
| checkout_theme | string | Facultatif Checkout form theme dark/light. Default theme is light |
| customer_name | string (30) | Obligatoire Customer name. |
| customer_email | string (30) | Obligatoire Customer valid email. |
<?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"
}
Validate The Payment and IPN
This section describes the process to get your instant payment notification.
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.
End Point: Your business application ipn url.
Méthode : POST
You will get following parameters below.
| Nom du paramètre | Description |
|---|---|
| status | Payment success status. |
| identifier | Identifier is basically for identify payment at your end. |
| signature | A hash signature to verify your payment at your end. |
| data | Data contains some basic information with charges, amount, currency, payment transaction id 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
}
?>