Introduction
Cette section décrit les NgaKalfani API de la passerelle de paiement.
NgaKalfani L'API est facile à implémenter dans votre logiciel d'entreprise. Notre API est composée d'URL bien formatées, accepte les requêtes cURL et renvoie des réponses JSON.
Vous pouvez utiliser l'API en mode test, ce qui n'affecte pas vos données en production. La clé API est utilisée pour authentifier la requête et détermine si c'est paiement valide ou non. Pour le mode test, utilisez simplement l'URL sandbox et en mode production, utilisez l'URL live de la section Initier le paiement .
Devises prises en charge
Cette section décrit les devises prises en charge par NgaKalfani
NgaKalfani allows to make transaction with below currencies. Any new currency may update in future.
Nom de la devise | Symbole de la devise | Code de la devise |
---|---|---|
United States Dollar | $ | USD |
FCFA | XOF | CFA |
Obtenir la clé API
Cette section décrit comment vous pouvez obtenir votre clé API.
Connectez-vous à votre compte NgaKalfani marchand. If you don't have any ? Click Here
L'étape suivante consiste à trouver le Api Key menu dans la barre latérale de votre tableau de bord. Cliquez sur le menu.
Les clés API peuvent être trouvées là-bas, c'est-à-dire Clé publique et clé secrète. Utilisez ces clés pour lancer la requête API. À chaque fois, vous pouvez générer une nouvelle clé API en cliquant sur Générer une clé API . Rappelez-vous de ne partager ces clés avec personne.
Initier le paiement
Cette section décrit le processus de lancement du paiement.
Pour initier le paiement, suivez l’exemple de code et soyez prudent avec les paramètres. Vous devrez faire une requête avec les points de terminaison d'API suivants.
Point de terminaison en mode Production : https://ngakalfani.com/payment/initiate
Point de terminaison en mode Test : https://ngakalfani.com/sandbox/payment/initiate
E-mail en mode test : test_mode@mail.com
Code de vérification du mode test : 222666
Méthode de requête : POST
Requête au point de terminaison avec les paramètres suivants ci-dessous.
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 essentiellement à identifier le paiement de votre côté |
currency | string (4) | Obligatoire Code de devise, doit être en majuscules. Par exemple, 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 la notification de paiement instantanée. |
success_url | string | Obligatoire URL de redirection de réussite du paiement. |
cancel_url | string | Obligatoire URL de redirection d'annulation de paiement. |
site_logo | string/url | Obligatoire Logo de votre site marchant. |
checkout_theme | string | Facultatif Thème du formulaire de paiement sombre/clair. Le thème par défaut est clair |
customer_name | string (30) | Obligatoire Nom du client. |
customer_email | string (30) | Obligatoire Email client valide. |
<?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://ngakalfani.com/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://ngakalfani.com/payment/initiate";
//test end point
$url = "https://ngakalfani.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 le processus pour obtenir votre notification de paiement instantanée.
Pour initier le paiement, suivez l’exemple de code et soyez prudent avec les paramètres. Vous devrez faire une requête avec les points de terminaison d'API suivants.
Point de terminaison : L'URL IPN de votre application métier.
Méthode de requête : POST
Vous obtiendrez les paramètres suivants ci-dessous.
Nom du paramètre | Description |
---|---|
status | Statut de réussite du paiement. |
identifier | L'identifiant sert essentiellement à identifier le paiement de votre côté. |
signature | Signature de hachage pour vérifier votre paiement. |
data | Les données contiennent des informations de base telles que les frais, le montant, la devise, l'identifiant de la transaction de paiement, 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
}
?>