Développeur

Bienvenue sur le Portail Développeur ! Cette page regroupe la documentation, des exemples d’intégration rapide, la gestion des clés SDK & API, la configuration des webhooks et la consultation des logs. Passez de Sandbox à Live quand tout est prêt.

Portail développeur CorisPay - Vue d’ensemble

Documentation

Accédez à la documentation officielle et aux guides d’intégration par plateforme. Rejoignez aussi notre communauté Slack pour échanger avec l’équipe et les autres développeurs.

Documentation officielle

Guides, API et bonnes pratiques.

Depuis votre compte CorisPay, dans le menu Développeur, vous pouvez visualiser un exemple d’intégration du plugin de paiement sur un site web fictif, avec trois modes d’intégration : ouverture en mode popup, ouverture sur une page dédiée, et ouverture avec ajout d’un contenu HTML descriptif du service.

Portail développeur CorisPay - Vue d’ensemble
Portail développeur : sandbox, documentation, clés, webhooks et logs - (1).
Portail développeur CorisPay - Navigation
Portail développeur : sandbox, documentation, clés, webhooks et logs - (2).

Vous trouverez aussi des extraits de code pour une intégration rapide du plugin CorisPay dans votre application.

Page Documentation développeur
Entrées rapides vers les docs clés et les guides d’intégration.

Intégration rapide

Intégrez le widget de paiement en quelques lignes. Utilisez vos clés publiques en sandbox pour tester. Paramètres requis : public_key, country_code, environment, amount.


                                            <!-- Widget CorisPay -->
                                            <script src='https://cdn.corispay.com/widget-min.js'></script>

                                            <corispay-widget 
                                                label='Payer maintenant'
                                                amount='1000'
                                                public_key='pk_test_********************************'
                                                country_code='229'
                                                environment='sandbox'
                                                email='dev@example.com'
                                                firstname='Clément'
                                                lastname='Kouwenon'>
                                            </corispay-widget>
                                        

                                        // Ouverture programmatique (alternative)
                                        corispay.openWidget(
                                            'pk_test_********************************', // Clé publique
                                            '229',                                      // Indicatif pays
                                            'sandbox',                                  // Environnement: sandbox | live
                                            '2333',                                     // Montant
                                            '#e44d26'                                   // Couleur du thème (optionnel)
                                        );
                                        

Paramètres supplémentaires

Le widget supporte des attributs/arguments optionnels pour personnaliser l’UI, le mode d’ouverture, et passer des métadonnées.

Attributs (balise <corispay-widget>)
Nom Type Valeur par défaut Description
primary_colorstring (hex)Couleur de thème interne du widget.
bg_colorstring (hex)#FA9A08FFCouleur de fond du bouton rendu par le Web Component.
text_colorstring (hex)#ffffffCouleur du texte du bouton.
modeenumPOPUPPOPUP (superposition) ou PAGE (nouvel onglet).
orientationenumAUTOROW | COLUMN | AUTO (mise en page interne).
inject_descriptionstring (HTML)''Petit contenu HTML à afficher dans le widget (sanitisé côté lib).
emailstringE-mail client (pré-rempli).
firstnamestringPrénom du client.
lastnamestringNom du client.
commentstring---Note/Commentaire associé au paiement.

                                        <corispay-widget
                                            label="Payer maintenant"
                                            amount="2500"
                                            public_key="pk_test_********************************"
                                            country_code="229"
                                            environment="sandbox"
                                            email="dev@example.com"
                                            firstname="Clément"
                                            lastname="Kouwenon"
                                            primary_color="#4e54c8"
                                            bg_color="#4e54c8"
                                            text_color="#ffffff"
                                            mode="PAGE"
                                            orientation="ROW"
                                            inject_description="<p>Merci de votre confiance.</p>"
                                            comment="Commande #A-1029">
                                        </corispay-widget>
                                        
Arguments (API JS corispay.openWidget(...))
#ArgumentTypeDéfautNotes
1public_keystringObligatoire (SDK Keys > Public).
2country_codestringIndicatif (ex. 229).
3environmentstringsandbox ou live.
4amountstring | numberMontant en plus petite unité si applicable.
5primary_colorstring (hex)nullThème interne.
6inject_descstring (HTML)''Contenu HTML (sanitisé).
7modeenumPOPUPPOPUP | PAGE.
8orientationenumAUTOROW | COLUMN | AUTO.
9emailstringnullPré-remplissage client.
10firstnamestringnull
11lastnamestringnull
12servicestringCORISPAYTag service/filière.
13commentstring---Note jointe à la transaction.

                                        // Exemple avancé (POPUP, orientation FORCÉE, thème, description)
                                        corispay.openWidget(
                                            'pk_test_********************************', // public_key
                                            '229',                                      // country_code
                                            'sandbox',                                  // environment
                                            '2500',                                     // amount
                                            '#4e54c8',                                  // primary_color (optionnel)
                                            '<p>Commande #A-1029</p>',              // inject_desc (optionnel, sanitisé)
                                            'POPUP',                                    // mode: POPUP | PAGE
                                            'ROW',                                      // orientation: ROW | COLUMN | AUTO
                                            'user@example.com',                         // email
                                            'Clément',                                  // firstname
                                            'KOUWENON',                                 // lastname
                                            'LINKUP',                                   // service tag
                                            'Commande #A-1029'                          // comment
                                        );
                                        
Callbacks & gestion des événements

La librairie émet des événements personnalisés au window : success, failure et close. Vous pouvez aussi fermer le widget manuellement.


                                        // Écoute des événements
                                        window.addEventListener('success', (e) => {
                                        console.log('Paiement OK', e.detail); // { message, uuid }
                                        });
                                        window.addEventListener('failure', (e) => {
                                        console.warn('Paiement KO', e.detail); // { message, uuid }
                                        });
                                        window.addEventListener('close', () => {
                                        console.log('Widget fermé');
                                        });

                                        // Fermeture manuelle si besoin
                                        corispay.closeWidget();
                                        

Clés SDK & API

Les clés SDK authentifient le widget côté client (clé publique) et signent les requêtes côté serveur (clé privée). Les clés API servent aux intégrations serveur à serveur pour opérer la boutique de façon programmatique.

Gestion des clés SDK et API
Générer, copier et faire tourner vos clés (sandbox et live).
Exemple — clés SDK (sandbox)
Type Clé Description Créé le Mis à jour le
CLÉ PRIVÉE sk_test_•••••••••••••••••••••••••••••• Usage serveur uniquement 2025-06-11
CLÉ PUBLIQUE pk_test_•••••••••••••••••••••••••••••• Widget / clients 2025-06-11
Exemple — clé API
Type Clé Description Créé le Mis à jour le
CLÉ D’API api_key_•••••••••••••••••••••••••••••• Intégrations serveur REST API 2025-06-11

Webhooks

Les webhooks notifient votre serveur des événements (paiement, remboursement, reversement, etc.). Configurez une URL, sélectionnez les événements et validez les signatures avec le secret fourni.

Liste des webhooks
Créer, activer/désactiver, régénérer le secret et tester les webhooks - (1).
Création d’un webhook
Créer, activer/désactiver, régénérer le secret et tester les webhooks - (2).
Exemple — configuration
Créé Nom URL Événements Actions
2025-09-06 14:26 WEBHOOK-PAY https://backend.monsiteweb.com/service/webhook-ecom Tous Tester / Modifier / Désactiver

Événements disponibles : Coris envoie un webhook lorsqu’un événement se produit. Chaque message a l’enveloppe { id, event, created_at, shop, env, data }. Les signatures sont envoyées via x-webhook-signature et x-webhook-timestamp.

Événement Quand ? Champs dans data Remarques
webhook.test Déclenché depuis le bouton Test du tableau de bord. { ping: true } ou le JSON fourni. Vérifie connectivité + signature.
payment.succeeded Paiement confirmé/capturé. transaction_uuid, amount, currency, user Activez le service, émettez le reçu.
payment.failed Paiement refusé/annulé. transaction_uuid, amount, currency, user Journalisez l’échec, informez l’utilisateur.
refund.created Remboursement initié. transaction_uuid, amount, currency, reason (optionnel) Traitez l’article comme remboursé.
transfer.succeeded Transfert / retrait exécuté. uuid, amount, currency, from_to (shop, client.{holder_name,country,email,phone}, note) Marquez comme « réglé » et rapprochez la trésorerie.
transfer.failed Transfert / retrait échoué. uuid, amount, currency, from_to (mêmes champs), note Mettez à jour le statut (ex. REVOKED), rétablissez le solde.

Logs API

Inspectez les requêtes et réponses de l’API pour déboguer vos intégrations. Filtrez par type, code, méthode et période.

Logs API développeur
Recherche, export et détails complets des requêtes API.

                                        {
                                        "type": "Internal API Request: withdraw",
                                        "status_code": 202,
                                        "url": "/withdraw/init",
                                        "method": "POST",
                                        "when": "2025-07-06T04:07:00Z",
                                        "response": {
                                            "status": "success",
                                            "data": {
                                            "message": "Demande de retrait en cours de traitement",
                                            "transaction_uuid": "dfc449f4-a260-4940-a91e-5b31b322f501"
                                            }
                                        }
                                        }
                                        
CONTENTS