Developer - Api Documentation

Introduction

Cette section décrit NZIMBU API de passerelle de paiement.


NZIMBU API est facile à mettre en œuvre dans votre logiciel d'entreprise. Notre API est des URL bien formatées, accepte les requêtes cURL et renvoie les réponses JSON.

Vous pouvez utiliser l'API en mode test, ce qui n'affecte pas vos données en direct. La clé API est utilisée pour authentifier la demande et détermine que la demande est un paiement valide ou non. Pour le mode test, utilisez simplement l'URL du bac à sable et en cas de mode en direct, utilisez l'URL en direct de la section Initier le paiement .

Devises prises en charge

Cette section décrit les devises prises en charge par NZIMBU


NZIMBU permet d'effectuer des transactions avec les devises ci-dessous. Toute nouvelle devise peut être mise à jour à l'avenir.

Nom de la devise Symbole de la devise Code de devise
United States dollar $ USD
Franc congolais FC CDF
Euro EUR
Franc CFA ouest-africain CFA XOF
Franc CFA d'Afrique centrale F CFA XAF
Kenyan shilling KSh KES
Mozambican metical Mt MZN
Rwandan franc FRw RWF
Nigerian naira NGN
Moroccan dirham DH MAD
Ghanaian cedi GHS
Ethiopian birr Br ETB
Tanzanian shilling TSh TZS
South African rand R ZAR
Tunisian dinar DT TND
Ugandan shilling USh UGX
Zambian kwacha K ZMW
British pound sterling £ GBP
Canadian dollar C$ CAD
Japanese Yen ¥ JPY
Angolan kwanza Kz AOA
Burundian franc FBu BIF
Botswana pula P BWP

Obtenir la clé API

Cette section décrit comment obtenir votre clé API.


Connectez-vous à votre NZIMBU compte marchand. Pas encore de compte ? Cliquez ici

La prochaine étape consiste à trouver Clé API menu dans la barre latérale de votre tableau de bord. Cliquez sur le menu.

Les clés API peuvent être trouvées ici, ce qui est Public key et Secret key. Utilisez ces clés pour lancer la requête API. Chaque fois que vous pouvez générer une nouvelle clé API en cliquant sur Générer une clé API bouton. N'oubliez pas de ne partager ces clés avec personne.

Initier le paiement

Cette section décrit le processus d'initiation du paiement.


Pour lancer le paiement, suivez l'exemple de code et soyez prudent avec les paramètres. Vous devrez faire une demande avec ces points de terminaison d'API suivants.

Mise à jour en direct: https://nzimbu.com/payment/initiate

Mise à jour en mode test: https://nzimbu.com/sandbox/payment/initiate

Courrier en mode test : test_mode@mail.com

Code de vérification du mode test: 222666

Méthode de demande: POST

Demande au mise en jour avec les paramètres suivants ci-dessous.

Param Name Param Type Description
public_key string (50) Requis Ton Public API key
identifier string (20) Requis L'identifiant sert essentiellement à identifier le paiement de votre côté
currency string (4) Requis Code de devise, doit être en majuscules. par exemple. USD,EUR
amount decimal Requis Montant du paiement.
details string (100) Requis Détails de votre paiement ou transaction.
ipn_url string Requis L'URL de la notification de paiement instantanée.
success_url string Requis URL de redirection de réussite du paiement.
cancel_url string Requis URL de redirection d’annulation du paiement.
site_logo string/url Requis Logo de votre site professionnel.
checkout_theme string Facultatif Thème du formulaire de paiement sombre/clair. Le thème par défaut est clair
customer_name string (30) Requis Nom du client.
customer_email string (30) Requis Email client valide.
Exemple de code PHP
<?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://nzimbu.com/assets/images/logoIcon/logo.png',
        'checkout_theme' => 'dark',
        'customer_name' => 'John Doe',
        'customer_email' => 'john@mail.com',

    ];

    //live end point
    $url = "https://nzimbu.com/payment/initiate";

    //test end point
    $url = "https://nzimbu.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.
?>
Exemples de réponses
//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 lancer le paiement, suivez l'exemple de code et soyez prudent avec les paramètres. Vous devrez faire une demande avec ces points de terminaison d'API suivants.

Point final : Your business application ipn url.

Méthode de demande: POST

Vous obtiendrez les paramètres suivants ci-dessous.

Param Name Description
status Statut de réussite du paiement.
identifier L’identifiant sert essentiellement à identifier le paiement de votre côté.
signature Une signature hachée pour vérifier votre paiement de votre côté.
data Les données contiennent des informations de base avec les frais, le montant, la devise, l'identifiant de la transaction de paiement, etc.
Exemple de code PHP
<?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
    }
?>