Remboursements
Rembourser des transactions terminées (`POST /refunds`).
Utilisez POST /refunds pour rembourser une transaction terminée. Les prestataires pris en charge sont carte bancaire, Wave et MTN (mêmes flux que le tableau de bord). Votre solde est mis à jour immédiatement ; le crédit client dépend du type de paiement.
Rembourser une transaction completed
POST /refunds
En-tête X-API-KEY. Variable : LOMI_SECRET_KEY. Hôte sandbox : sandbox.api.lomi.africa.
Refunds apply to completed transactions. Card disputes: GET /disputes.
curl -sS -X POST "https://sandbox.api.lomi.africa/refunds" \
-H "X-API-Key: $LOMI_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "123e4567-e89b-12d3-a456-426614174000",
"amount": 5000
}'Créer un remboursement depuis le code
lomi.refunds.create
new LomiSDK({ apiKey: process.env.LOMI_SECRET_KEY, environment: "sandbox" }).
const refund = await lomi.refunds.create({
transaction_id: '123e4567-e89b-12d3-a456-426614174000',
amount: 5000,
});Créer un remboursement depuis le terminal
lomi refunds create
lomi login, puis la CLI envoie X-API-KEY depuis la session.
lomi refunds create --transaction-id 123e4567-e89b-12d3-a456-426614174000 --amount 5000Créer un remboursement depuis un agent
lomi_refunds action=create
MCP hébergé sur https://mcp.lomi.africa/mcp. OAuth ou x-lomi-api-key.
{
"action": "create",
"idempotency_key": "refund_123",
"body": {
"transaction_id": "123e4567-e89b-12d3-a456-426614174000",
"amount": 5000
}
}MTN (live) : le paiement d'origine doit avoir une référence prestataire (provider_checkout_id issu du RequestToPay). Les remboursements passent par l'API Disbursement MTN (asynchrone côté MTN ; lomi. interroge le statut jusqu'à complétion). En mode test, le remboursement est uniquement comptable (pas d'appel MTN).
Listez et consultez les remboursements avec GET /refunds et GET /refunds/{id}.
Les remboursements carte sont enregistrés immédiatement sur votre compte. Le crédit sur le compte ou la carte du client apparaît en général sous plusieurs jours ouvrés.
Créer un remboursement
import { LomiSDK } from '@lomi./sdk';
const lomi = new LomiSDK({
apiKey: process.env.LOMI_SECRET_KEY!,
environment: 'live',
});
const refund = await lomi.refunds.create({
transaction_id: '123e4567-e89b-12d3-a456-426614174000',
amount: 5000,
reason: 'duplicate_charge',
refund_type: 'partial', // optionnel : 'full' | 'partial'
});import requests, os
r = requests.post(
"https://api.lomi.africa/refunds",
headers={"X-API-KEY": os.environ["LOMI_SECRET_KEY"], "Content-Type": "application/json"},
json={
"transaction_id": "123e4567-e89b-12d3-a456-426614174000",
"amount": 5000,
"reason": "duplicate_charge",
},
)
print(r.status_code, r.json())curl -X POST "https://api.lomi.africa/refunds" \
-H "X-API-KEY: $LOMI_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "123e4567-e89b-12d3-a456-426614174000",
"amount": 5000,
"reason": "duplicate_charge"
}'Référence du corps
| Champ | Type | Requis |
|---|---|---|
transaction_id | string (UUID) | Oui |
amount | number | Oui |
reason | string | Non |
refund_type | 'full' | 'partial' | Non, déduit de amount vs montant brut si omis |
Lister les remboursements
GET /refunds?status=completed&limit=50&offset=0
Obtenir un remboursement
GET /refunds/{refund_id}