Comment bloquer une caution carte ?
Bloquez un montant sur une carte, puis prélevez-en une partie ou libérez le reste.
Un blocage carte réserve un montant sur la carte du client sans le prélever. Vous capturez ce que vous gardez, et le reste est libéré. Utilisez-le pour une caution de location, ou tout encaissement dont le montant final n’est pas encore connu.
Le blocage est un encaissement carte à part. Le reste de la vente, par exemple le loyer, peut rester chez un autre acquéreur carte. Le client saisit la carte de caution avec lomi. Elements. Il n’y a pas de terminal physique.
Les blocages fonctionnent sur les cartes encaissées avec lomi. Elements. Wave et les autres mobiles money ne peuvent pas bloquer une carte de cette façon.
Cartes, durée et frais
Visa et Mastercard peuvent être bloquées. Certaines cartes de débit refusent le blocage, ou débitent tout de suite. Les cartes de crédit et les cartes internationales sont le cas fiable.
Un blocage en ligne classique dure 7 jours après la confirmation de la carte. Quand le réseau de la carte autorise un blocage plus long, il peut durer jusqu’à 30 jours (29 jours et 18 heures sur Visa). capture_before sur GET /charge/card/{id} est la date limite. La banque du client peut lever le blocage plus tôt.
Chaque blocage coûte 1 000 F CFA (2 USD ou 2 EUR). Ces frais sont dus que vous libériez la caution ou que vous en préleviez une partie. Un prélèvement ajoute aussi le tarif carte habituel, uniquement sur le montant prélevé. Ce montant doit être d’au moins 1 000 F CFA (0,50 EUR ou USD). Un seul prélèvement est possible. Un montant inférieur libère le reste. Si le montant prélevé ne couvre pas les frais de caution et le tarif carte, le prélèvement est refusé et le blocage reste en place.
Ces frais apparaissent dans Autres frais (Réglages → Frais), pas sur la ligne du tarif carte. Sur la transaction, Détails du paiement indique Caution carte et l’heure de fin du blocage.
Bloquer, prélever ou libérer
POST /charge/cardavecholdàtrue, plus le montant, la devise, etcustomer_idou (customer_emailetcustomer_name). EnvoyezIdempotency-Key.- Confirmez la carte avec lomi. Elements et le
client_secretreçu. GET /charge/card/{id}jusqu’à ce questatusvaillerequires_capture.amount_capturableest le montant encore bloqué, dans votre devise.can_incrementvaut vrai quand cette carte peut accepter un blocage plus élevé.POST /charge/card/{id}/incrementavec le nouveau total, dans la même devise, avant le prélèvement. EnvoyezIdempotency-Key. Le nouveau total doit être supérieur au blocage actuel. Certaines cartes ne peuvent pas être augmentées. Quandcan_incrementvaut faux, prélevez ou libérez le blocage actuel. Un refus laisse ce blocage en place.POST /charge/card/{id}/capturepour prélever. Omettezamountpour tout le blocage, ou envoyez un montant inférieur dans la même devise. EnvoyezIdempotency-Key.POST /charge/card/{id}/cancelpour libérer le blocage sans rien prélever.
La vente reste en attente jusqu’à l’enregistrement du prélèvement, puis elle passe à completed. Une libération ou un blocage expiré ne crédite pas votre solde.
Sur le tableau de bord, une caution en attente affiche Prélever, Augmenter et Libérer. Ces actions font le même prélèvement, la même augmentation et la même annulation que l’API.
Un agent peut passer par MCP lomi_card_holds (create, get, increment, capture, cancel) ou par le CLI (lomi charges hold, get, raise, capture, release).
curl -sS -X POST "https://sandbox.api.lomi.africa/charge/card" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Idempotency-Key: hold-1001" \
-H "Content-Type: application/json" \
-d '{"amount":100000,"currency_code":"XOF","hold":true,"customer_email":"client@example.com","customer_name":"Awa Ndiaye","description":"Caution véhicule"}'curl -sS "https://sandbox.api.lomi.africa/charge/card/pi_123" \
-H "X-API-KEY: $LOMI_SECRET_KEY"{
"success": true,
"data": {
"id": "pi_123",
"status": "requires_capture",
"hold": true,
"can_increment": true,
"original_amount": 100000,
"original_currency": "XOF",
"amount_capturable": 100000,
"capture_before": "2026-10-07T12:00:00.000Z"
}
}curl -sS -X POST "https://sandbox.api.lomi.africa/charge/card/pi_123/increment" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Idempotency-Key: raise-1001" \
-H "Content-Type: application/json" \
-d '{"amount":150000}'curl -sS -X POST "https://sandbox.api.lomi.africa/charge/card/pi_123/capture" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Idempotency-Key: capture-1001" \
-H "Content-Type: application/json" \
-d '{"amount":25000}'curl -sS -X POST "https://sandbox.api.lomi.africa/charge/card/pi_123/cancel" \
-H "X-API-KEY: $LOMI_SECRET_KEY"| Réponse | Que faire |
|---|---|
This hold is not ready to capture ou This hold is not ready to raise | Attendez que status vaille requires_capture. |
This card cannot be raised | Prélevez ou libérez le blocage actuel. |
Raise amount must be higher than the current hold | Envoyez le nouveau total, pas l’augmentation. |
This hold could not be raised. The current block is unchanged. | La carte a refusé. Le blocage actuel est toujours là. |
Capture amount cannot exceed the hold | Envoyez un montant plus bas, ou omettez amount pour tout prélever. |
This amount does not cover the hold fee and the card rate. The block is unchanged. | Prélevez un montant plus élevé, ou libérez le blocage. |
This charge is not a card hold | Ce paiement n’a pas été créé avec hold à true. |