Acceptez des paiements en ligne en Côte d’Ivoire en quelques minutes

    Intégrez Kadev Pay avec Mobile Money et Carte via une API simple, des plugins ou un lien de paiement.

    Introduction

    Bienvenue sur la documentation Kadev Pay. Notre objectif est de vous permettre d'intégrer une solution de paiement complète (Mobile Money, Carte Bancaire) de la manière la plus simple et sécurisée possible. L'intégration se fait en deux temps : l'initialisation du paiement côté client (Frontend) et la confirmation sécurisée de la transaction côté serveur (Backend) via Webhook.

    🚀 Quick Start – 3 étapes

    Suivez ces étapes pour réaliser votre premier paiement test en moins de 10 minutes.

    1. Créez un compte

    Inscrivez-vous pour accéder à votre dashboard.

    Créer un compte Kadev Pay

    2. Obtenez vos clés API

    Trouvez vos clés de test dans les paramètres développeur.

    Aller aux paramètres

    3. Créez un paiement

    Utilisez le SDK ou l'API pour initier une transaction.

    Voir le code d'exemple

    Flux de Paiement

    Comprendre le cycle de vie d'une transaction est essentiel pour une intégration réussie.

    1. Client

    Votre client clique sur "Payer" sur votre site ou application.

    2. Kadev Pay

    Le SDK Kadev Pay s'ouvre et gère la saisie des informations de paiement.

    3. Redirection

    Après succès, le client est redirigé vers votre `callback_url`.

    4. Webhook

    Nos serveurs envoient une notification sécurisée à votre backend.

    5. Confirmation

    Vous validez la commande dans votre base de données après vérification du webhook.

    🔑 Authentification

    Kadev Pay utilise des clés API pour authentifier les requêtes. Vous trouverez vos clés dans votre Dashboard Développeur. Il existe trois types de clés :

    • Clé Publique (kdvp_...): Sûre à utiliser dans votre code frontend (JavaScript).
    • Clé Secrète (kdvs_...): À utiliser uniquement sur votre serveur. Ne l'exposez jamais côté client.
    • Secret Webhook: Utilisé pour vérifier l'authenticité des webhooks reçus sur votre serveur.

    Pour les appels API serveur-à-serveur, incluez votre clé secrète dans le header `Authorization` :

    Authorization: Bearer VOTRE_CLE_SECRETE

    💻 Créer un paiement

    La méthode la plus simple pour accepter un paiement est d'utiliser notre SDK JavaScript. Intégrez le script sur votre page, puis appelez la fonction `KadevPay.checkout`.

    Installation du SDK

    <script src="https://pay.kadev.ci/js/v1/kadev-pay.js"></script>

    Exemple d'appel

    Associez cette fonction au clic sur votre bouton de paiement. Fournissez une `callback_url` pour rediriger le client après un paiement réussi.

    // Remplacez par votre propre clé publique Kadev Pay
    const KADEV_PUBLIC_KEY = "kdvp_test_XXXXXXXXXXXXXXXXXXXXX";
    
    function payerAvecKadev() {
        KadevPay.checkout({
            public_key: KADEV_PUBLIC_KEY,
            amount: 5000,                          // Montant de base de l'article (ex: 5000 FCFA)
            email: "client@email.com",             // Email du client (obligatoire)
            name: "Jean Dupont",                   // Nom du client (Optionnel)
            phone: "0102030405",                   // Numéro de téléphone (Optionnel)
            
            // ⚠️ IMPORTANT : Spécifiez la méthode pour un calcul exact des frais
            // 'momo' (2.3% de frais) ou 'card' (4.5% de frais)
            method: "momo",                        
            
            // 🔗 URL de redirection immédiate après succès (Recommandé)
            callback_url: "https://votre-boutique.ci/commande-reussie", 
            
            // Données supplémentaires à récupérer dans votre Webhook
            metadata: {
                cart_id: "CMD-9982",
                custom_field: "valeur"
            },
            
            // Exécuté uniquement si aucune callback_url n'est fournie
            onSuccess: function(response) {
                console.log("Paiement validé ! Référence : ", response.reference);
            },
            
            // Exécuté si le client ferme la fenêtre sans payer
            onClose: function() {
                console.log("Le client a abandonné le paiement.");
            }
        });
    }

    🔍 Vérifier un paiement

    Bien que le webhook soit la méthode de confirmation recommandée, vous pouvez vérifier manuellement le statut d'une transaction via notre API. Cet appel doit être fait depuis votre serveur.

    curl -X GET "https://pay.kadev.ci/api/v1/transactions/verify/KDV-1775413916000" \
    -H "Authorization: Bearer kdvs_test_VOTRE_CLE_SECRETE"

    🛡️ Webhooks

    Les webhooks sont le moyen le plus fiable de confirmer un paiement. Configurez une URL sur votre serveur depuis le Dashboard, et nous y enverrons une requête POST sécurisée pour chaque événement, comme `payment.success`.

    Vérification de la Signature

    Pour garantir que le webhook provient bien de Kadev Pay, chaque requête est signée. Vérifiez cette signature en utilisant votre "Secret Webhook".

    <?php
    // 1. Récupérez votre Secret Webhook dans le Dashboard Kadev Pay
    $webhook_secret = "VOTRE_SECRET_WEBHOOK"; 
    
    $signature = $_SERVER['HTTP_X_KADEVPAY_SIGNATURE'] ?? '';
    $payload = file_get_contents('php://input');
    $computed_signature = hash_hmac('sha512', $payload, $webhook_secret);
    
    if (hash_equals($computed_signature, $signature)) {
        $event = json_decode($payload, true);
        
        // On vérifie que Kadev Pay nous dit bien que c'est "paid"
        if ($event['event'] === 'payment.success' && $event['data']['status'] === 'paid') {
            $reference = $event['data']['reference'];
            $amount_paid = $event['data']['amount'];
            
            // --- Tout est bon, on valide la commande chez nous ! ---
            // my_custom_db_update_order($reference, 'payé');
            
            http_response_code(200);
            echo "Webhook traité avec succès.";
        }
    } else {
        http_response_code(401);
        echo "Signature invalide.";
    }
    ?>

    🔌 Plugins & CMS

    Intégrez Kadev Pay sans une ligne de code sur les plateformes les plus populaires.

    WordPress / WooCommerce

    Installez notre plugin officiel et commencez à accepter des paiements sur votre boutique WooCommerce en quelques clics.

    ⚠️ Codes d'Erreur API

    Notre API utilise les codes de réponse HTTP standards pour indiquer le succès ou l'échec d'une requête.

    Code HTTPSignificationDescription
    400Bad RequestParamètres manquants ou invalides.
    401UnauthorizedClé API invalide ou manquante.
    403ForbiddenVous n'avez pas les droits pour cette action.
    404Not FoundLa ressource demandée (ex: transaction) n'existe pas.
    500Internal Server ErrorUn problème est survenu de notre côté. Contactez le support.

    🧪 Sandbox & Test

    Toutes les fonctionnalités de l'API sont disponibles en mode test. Utilisez vos clés API de test (commençant par `kdvp_test_` et `kdvs_test_`) pour effectuer des transactions fictives sans aucun coût.

    Passer en Production

    Lorsque vous êtes prêt à accepter de vrais paiements, il vous suffit de remplacer vos clés de test par vos clés de production (live) et de vous assurer que votre compte a été vérifié et activé par notre équipe.

    Sécurité & Conformité

    Chiffrement de bout en bout

    Toutes les communications avec nos serveurs sont chiffrées via TLS (HTTPS) pour protéger vos données et celles de vos clients.

    Validation Côté Serveur

    Nous recommandons fortement l'utilisation des webhooks signés comme seule source de vérité pour valider les transactions et prévenir les fraudes.