Logo GenukaGenuka Pay
Référence API

API Paiements

Initiez des payins, listez les transactions et vérifiez leur statut.

API Paiements

Utilisez ces endpoints pour encaisser et suivre l’état des transactions.

Headers requis

X-Public-Key: YOUR_PUBLIC_KEY
X-Timestamp: UNIX_TIMESTAMP
X-Signature: HMAC_SHA256_SIGNATURE

Endpoints

  • GET /api/v1/payments
  • POST /api/v1/payments
  • GET /api/v1/payments/status/{track_id}

Initier un paiement

POST /api/v1/payments

Champs de requête

ParamètreTypeRequisDescription
amountnumberOuiMontant
currencystringOuiCode ISO
payer_phonestringOuiNuméro du payeur avec code pays (ex: +237694010263). Cameroun par défaut.
operator_codestringNonCode opérateur (auto-détecté si non fourni)
external_idstringNonRéférence interne
metadataobjectNonMétadonnées supplémentaires
metadata.descriptionstringNonDescription affichée dans les logs
metadata.customer_namestringNonNom du client

L’API normalise le numéro de téléphone et peut auto-détecter operator_code à partir du préfixe.

Exemple

curl -X POST "{{BASE_URL}}/api/v1/payments" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1000,
    "currency": "XAF",
    "payer_phone": "+237677001122",
    "external_id": "order_10001",
    "metadata": {
      "description": "Invoice INV-10001"
    }
  }'

Exemple de réponse

{
  "data": {
    "id": "01HR...",
    "company_id": "01HQ...",
    "application_id": "01HP...",
    "type": "PAYIN",
    "track_id": "TRX_01HR...",
    "amount": 1000,
    "currency": "XAF",
    "status": "PENDING",
    "operator_code": "MTN_CM",
    "provider_code": "PEEX",
    "payer_phone": "+237677001122",
    "idempotency_key": null,
    "metadata": {
      "description": "Invoice INV-10001"
    },
    "created_at": "2026-04-01T10:00:00Z",
    "completed_at": null
  }
}

Vérifier le statut

GET /api/v1/payments/status/{track_id}
curl -X GET "{{BASE_URL}}/api/v1/payments/status/TRX_01HR..." \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE"

Lister les paiements

GET /api/v1/payments

Utilisez cet endpoint pour la réconciliation et le support.

Statuts courants

StatutDescription
PENDINGEn attente d’action client ou provider
PROCESSINGEn traitement
SUCCESSRéussi
FAILEDÉchoué

Notes

  • une tentative dupliquée peut renvoyer une réponse marquée comme duplicate
  • les limites KYC ou AML peuvent bloquer l’initiation
  • en production, privilégiez les webhooks au polling seul

How is this guide?