Statistiques de parrainage

GET /v1/referral/stats
Authorization: Bearer kh_live_xxxx

Réponse

{
  "success": true,
  "data": {
    "balance": 0,
    "referral_code": null,
    "referral_link": "http://127.0.0.1:8000/register?ref=",
    "total_referrals": 0,
    "active_referrals": 0,
    "total_earned": 0,
    "total_withdrawn": 0
  }
}

Historique des commissions

GET /v1/referral/earnings

Paramètres

ParamètreTypeDescription
pageintegerPagination Laravel

Réponse

{
  "success": true,
  "data": [
    {
      "id": 3,
      "amount": 500,
      "referral_name": "Marie D.",
      "earned_at": "2026-04-01T10:00:00+00:00"
    }
  ],
  "meta": { "total": 1, "per_page": 20, "current_page": 1 }
}

Demander un retrait

POST /v1/referral/withdrawals
Content-Type: application/json
{
  "amount": 20000,
  "payment_method": "mtn_mobile_money",
  "payment_details": "677123456",
  "payment_name": "Jean Dupont"
}
ChampTypeRequisDescription
amountnumberOuiMontant à retirer (min: 5 000)
payment_methodstringOuimtn_mobile_money, orange_money, bank_transfer
payment_detailsstringOuiDétails de paiement (numéro, RIB, etc.)
payment_namestringNonNom du bénéficiaire

Réponse

{
  "success": true,
  "data": {
    "withdrawal_id": 12,
    "amount": 20000,
    "status": "pending"
  }
}

Historique des retraits

GET /v1/referral/withdrawals
{
  "success": true,
  "data": [
    {
      "id": 12,
      "amount": 20000,
      "status": "approved",
      "payment_method": "mtn_mobile_money",
      "requested_at": "2026-04-12T08:00:00+00:00",
      "processed_at": null
    }
  ],
  "meta": { "total": 1, "per_page": 20, "current_page": 1 }
}

Statuts de retrait

StatutDescription
pendingEn attente de traitement par KennHosting
approvedApprouvé et paiement effectué
rejectedRefusé — voir admin_note pour la raison

Permissions requises

referral:read, referral:withdraw