API v1.0

Documentation API SBPAYGO

Intégrez facilement les paiements Mobile Money, cartes bancaires et virements dans votre application avec notre API RESTful simple et puissante.

Sécurisé

HTTPS + HMAC signatures

Rapide

< 200ms latence

Multi-région

144+ pays

Webhooks

Temps réel

URL de base

https://api.sbpaygo.com
Production

Démarrage rapide

Suivez ces étapes pour intégrer SBPAYGO en moins de 5 minutes.

1

Obtenez vos clés API

Créez un compte marchand et récupérez vos clés API dans le dashboard.

2

Testez avec le mode sandbox

Utilisez vos clés de test (préfixe _test_) pour simuler des paiements.

Mode Test: Aucun argent réel n'est transféré. Parfait pour le développement.
3

Créez votre premier paiement

Effectuez un appel API pour initier un paiement.

curl -X POST https://api.sbpaygo.com/api/gateway/payments \
  -H "Authorization: Bearer sbpaygo_sk_test_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 10000,
    "currency": "XOF",
    "provider": "wave",
    "customer_email": "client@email.com",
    "description": "Commande #123",
    "success_url": "https://monsite.com/success",
    "cancel_url": "https://monsite.com/cancel"
  }'

Authentification

L'API SBPAYGO utilise des clés API pour authentifier les requêtes. Vous recevez deux types de clés :

Clé de test

sbpaygo_sk_test_xxxxx

Pour le développement et les tests

Clé de production

sbpaygo_sk_live_xxxxx

Pour les transactions réelles

Headers d'authentification

Incluez votre clé API dans le header de chaque requête :

# Pour les endpoints de paiement
Authorization: Bearer sbpaygo_sk_test_xxxxx

# Pour les endpoints de portefeuille
X-API-Key: sbpaygo_sk_test_xxxxx

Important - Sécurité

Ne partagez jamais vos clés secrètes. Ne les incluez jamais dans votre code frontend. Utilisez uniquement les clés côté serveur.

SDKs officiels

Installez nos bibliothèques officielles pour intégrer SBPAYGO encore plus rapidement.

JavaScript / Node.js

@sbpaygo/sdk
npm install @sbpaygo/sdk
Voir sur GitHub

Python

sbpaygo
pip install sbpaygo
Voir sur GitHub

PHP

sbpaygo/sdk
composer require sbpaygo/sdk
Voir sur GitHub

Ruby

sbpaygo
gem install sbpaygo
Voir sur GitHub

Go

sbpaygo-go
go get github.com/sbpaygo/sbpaygo-go
Voir sur GitHub
Exemple rapide avec SDK
Créer un paiement en quelques lignes de code
import { SBPaygo } from '@sbpaygo/sdk';

const sbpaygo = new SBPaygo('sbpaygo_sk_test_xxxxx');

// Create a payment
const payment = await sbpaygo.payments.create({
  amount: 10000,
  currency: 'XOF',
  provider: 'wave',
  customerEmail: 'client@email.com'
});

// Get wallet balance
const balance = await sbpaygo.wallet.getBalance();
console.log('Balance:', balance.balances);

// Request a withdrawal
const withdrawal = await sbpaygo.withdrawals.create({
  amount: 5000,
  currency: 'XOF',
  method: 'mobile_money_wave',
  destination: { phone: '+221771234567' }
});

Dépôts

Permettez à vos utilisateurs d'ajouter des fonds à leur portefeuille marchand.

POST
/api/gateway/deposit
curl -X POST https://api.sbpaygo.com/api/gateway/deposit \
  -H "Authorization: Bearer sbpaygo_sk_test_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50000,
    "currency": "XOF",
    "method": "wave",
    "return_url": "https://monsite.com/wallet"
  }'

Retraits

Transférez des fonds depuis votre portefeuille marchand vers Mobile Money ou compte bancaire.

Frais de retrait
Les frais varient selon la méthode choisie
MéthodeFraisDélai
Wave
0.5%
Instantané
Orange Money
1%
Instantané
Virement bancaire
1%
2-3 jours
POST
/api/gateway/wallet/withdrawal
curl -X POST https://api.sbpaygo.com/api/gateway/wallet/withdrawal \
  -H "X-API-Key: sbpaygo_sk_test_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25000,
    "currency": "XOF",
    "method": "mobile_money_wave",
    "destination": {
      "phone": "+221771234567"
    }
  }'

Webhooks

Recevez des notifications en temps réel lorsque des événements se produisent sur votre compte.

Événements disponibles
payment.pendingPaiement en attente de confirmation
payment.successPaiement confirmé et réussi
payment.failedPaiement échoué
deposit.completedDépôt crédité sur le compte
withdrawal.createdDemande de retrait créée
withdrawal.completedRetrait effectué avec succès
withdrawal.failedRetrait échoué
Exemple de handler
from flask import Flask, request
import hmac
import hashlib

app = Flask(__name__)
WEBHOOK_SECRET = "your_webhook_secret"

def verify_signature(payload, signature):
    expected = hmac.new(
        WEBHOOK_SECRET.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(signature, expected)

@app.route('/webhook', methods=['POST'])
def handle_webhook():
    signature = request.headers.get('X-SBPAYGO-Signature')

    if not verify_signature(request.data, signature):
        return {"error": "Invalid signature"}, 401

    event = request.json

    if event['event'] == 'payment.success':
        payment = event['data']
        # Update order status in your database
        print(f"Payment {payment['payment_id']} succeeded!")

    elif event['event'] == 'withdrawal.completed':
        withdrawal = event['data']
        print(f"Withdrawal {withdrawal['withdrawal_id']} completed!")

    return {"received": True}, 200

Codes d'erreur

L'API utilise les codes HTTP standards. Voici les codes les plus courants :

CodeNomDescription
400
Bad RequestRequête invalide ou paramètres manquants
401
UnauthorizedClé API manquante ou invalide
403
ForbiddenAccès refusé (compte inactif ou permissions insuffisantes)
404
Not FoundRessource non trouvée
422
Validation ErrorErreur de validation des données
429
Rate LimitedTrop de requêtes (limite: 100/min)
500
Server ErrorErreur interne du serveur

Référence API complète

Liste de tous les endpoints disponibles.

MéthodeEndpointDescriptionTag
POST
/api/gateway/paymentsCréer un paiement
Paiements
GET
/api/gateway/payments/:idObtenir un paiement
Paiements
GET
/api/gateway/paymentsLister les paiements
Paiements
POST
/api/gateway/depositCréer un dépôt
Portefeuille
GET
/api/gateway/wallet/balanceObtenir le solde
Portefeuille
POST
/api/gateway/wallet/withdrawalDemander un retrait
Portefeuille
GET
/api/gateway/wallet/transactionsHistorique transactions
Portefeuille
GET
/api/gateway/wallet/withdrawalsHistorique retraits
Portefeuille
POST
/api/gateway/merchantsCréer un compte marchand
Marchands
GET
/api/gateway/dashboardTableau de bord
Marchands

Besoin d'aide ?

Notre équipe technique est disponible pour vous accompagner dans l'intégration.

SBPAYGO LogoSBPAYGO

© 2025 SBPAYGO. Tous droits réservés.