Collectes

L'API de Collectes vous permet d'initier des demandes de paiement Mobile Money directement depuis votre plateforme.

Initier une collecte

POST
https://newapi.sebpay.bj/api/v1/collections

Initie une demande de paiement vers le téléphone d'un client. Le client recevra un message USSD ou une notification pour valider la transaction.

Headers
X-Public-KeyRequired
string

Votre clé publique (pk_...)

X-Secret-KeyRequired
string

Votre clé secrète (sk_...)

Request Body
amountRequired
numeric

Le montant de la transaction.

currencyRequired
string

Code de la devise (ex: XOF, EUR, USD).

phoneRequired
string

Numéro de téléphone au format international sans le (+).

operatorRequired
string

Slug de l'opérateur (mtn, moov, orange, wav...)

countryRequired
string

Code ISO du pays (BJ, CI, SN...)

external_referenceRequired
string

Votre identifiant unique pour cette transaction.

callback_urlOptional
string

URL qui recevra la notification de statut final.

Response Body
transaction_idRequired
string

Identifiant unique SebPay de la transaction.

statusRequired
string

Statut initial (généralement 'pending').

external_referenceRequired
string

Votre référence externe telle que fournie dans la requête.

amountRequired
number

Montant de la transaction.

currencyRequired
string

Devise utilisée.

provider_linkOptional
string

Lien de redirection (ex: Wave). Si présent, vous DEVEZ rediriger l'utilisateur vers cette URL dans un nouvel onglet pour qu'il valide le paiement.

messageRequired
string

Message descriptif du statut de la transaction initiée.

curl -X POST https://newapi.sebpay.bj/api/v1/collections \
  -H "X-Public-Key: pk_live_your_key" \
  -H "X-Secret-Key: sk_live_your_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "XOF",
    "phone": "22997000000",
    "operator": "mtn",
    "country": "BJ",
    "external_reference": "REF8822",
    "callback_url": "https://yoursite.com/webhook"
  }'

Format d'enveloppe des réponses

Toutes les réponses de l'API sont enveloppées dans un objet commun :

{
  "success": true,
  "data": { ... },   // Données de la réponse
  "message": "..."   // Message descriptif
}

Récupérer une transaction

GET
https://newapi.sebpay.bj/api/v1/collections/{id_or_reference}

Récupère les détails et le statut actuel d'une transaction via son identifiant SebPay ou votre référence externe.

Path Parameters
id_or_referenceRequired
string

L'identifiant de transaction SebPay ou votre external_reference.

Headers
X-Public-KeyRequired
string

Votre clé publique (pk_...)

X-Secret-KeyRequired
string

Votre clé secrète (sk_...)

Response Body
transaction_idRequired
string

Identifiant unique SebPay de la transaction.

external_referenceRequired
string

Votre référence externe.

statusRequired
string

Statut actuel : pending, approved ou rejected.

amountRequired
number

Montant de la transaction.

currencyRequired
string

Devise utilisée.

created_atRequired
string

Date de création ISO 8601.

updated_atRequired
string

Date de dernière mise à jour ISO 8601.

curl -X GET https://newapi.sebpay.bj/api/v1/collections/ORDER-123 \
  -H "X-Public-Key: pk_live_your_key" \
  -H "X-Secret-Key: sk_live_your_secret"

Conseil d'intégration

Utilisez toujours le paramètre callback_url pour recevoir les mises à jour en temps réel. Ne vous reposez pas uniquement sur la consultation manuelle pour confirmer les paiements.