Append-only ledger
Chaque mouvement est une ligne immuable. Pas de DELETE, pas d'UPDATE silencieux — les corrections passent par des écritures de compensation explicites.
Ledger ACID, payouts Mobile Money
Chaque paiement crédite un wallet. Chaque payout débite. Toutes les écritures sont ACID (lock pessimiste + transaction atomique), et un endpoint /v1/wallets vous expose le solde + l'historique signé.
Chaque mouvement est une ligne immuable. Pas de DELETE, pas d'UPDATE silencieux — les corrections passent par des écritures de compensation explicites.
Lock pessimiste sur le wallet + transaction atomique. Un crash en milieu de débit-puis-crédit n'aboutit jamais à un solde incohérent — la base se rollback automatiquement.
POST /v1/marketplace/payouts → debit wallet immédiat (PENDING) → worker async envoie au provider Mobile Money → COMPLETED ou FAILED + ré-crédit atomique.
Notre service interne vérifie en continu que somme(crédits) − somme(débits) == solde courant. Toute dérive est immédiatement détectée et alerte notre équipe Ops.
curl https://api.saalapay.com/v1/wallets/me \
-H "X-SP-Signature: $HMAC_SIGNATURE"
# Réponse
{
"data": {
"balance": 12450000,
"currency": "XOF",
"last_movement_at": "2026-05-04T20:32:00+00:00",
"ledger_url": "/v1/wallets/me/ledger?limit=50"
}
}
# Et pour l'historique signé (audit-grade)
curl https://api.saalapay.com/v1/wallets/me/ledger?limit=50 \
-H "X-SP-Signature: $HMAC_SIGNATURE"
Le wallet est créé automatiquement à votre premier paiement.