E-commerce9 min read

Wave and Orange Money refunds: complete technical guide (May 2026)

Mohamed Bah·Fondateur, Kolonell
May 5, 2026
Share:
Wave and Orange Money refunds: complete technical guide (May 2026)

Wave and Orange Money refunds: complete technical guide (May 2026)

E-commerce

No customer enjoys waiting 5 days to recover 30,000 XOF on a canceled order. No accountant enjoys reconciling poorly tracked partial refunds. This guide ships the clean technical procedure for Wave and Orange Money in Senegal.

TL;DR

- Wave: refund via Wave Business app or API, instant, free up to 7 days, 1% beyond.

- OM: refund via partner dashboard, 24–72h, free if not yet settled, otherwise 2%.

- Card (PayDunya/CinetPay): 5–7 days, free if total, 100 XOF + 0.5% if partial.

- Always trace: dedicated refunds table, link to parent PaymentEvent, audit log.

Wave Business: refund via API

The Wave Refund API (mid-2024) accepts total or partial refund of an existing payment.

`ts

async function refundWavePayment(paymentId: string, amountXof?: number, reason?: string) {

const res = await fetch(${WAVE_API}/v1/refunds, {

method: 'POST',

headers: {

'Authorization': Bearer ${WAVE_API_KEY},

'Content-Type': 'application/json',

'Idempotency-Key': refund_${paymentId}_${amountXof ?? 'full'},

},

body: JSON.stringify({

payment_id: paymentId,

amount: amountXof,

currency: 'XOF',

reason: reason ?? 'merchant_initiated',

}),

});

if (!res.ok) throw new Error(Wave refund failed: ${res.status} ${await res.text()});

return res.json();

}

`

Idempotency mandatory: sending the same request twice without a key refunds twice. The key refund_${paymentId}_${amount} makes the op safe.

Orange Money: no public refund API

OM Senegal does not expose a public programmatic refund API in May 2026. Procedure:

  • Sign in to OM partner dashboard (web)
  • Find the transaction by reference or number
  • "Cancel / Refund" action
  • Enter OTP sent to signatory phone
  • Confirm → 24–72h delay for the customer

Automation workaround: webhook triggers a job that notifies a human agent, plus a refund-to-do journal. Not ideal but realistic.

Accounting trace: the Refund model

`prisma

model Refund {

id String @id @default(cuid())

externalId String? @unique

paymentEventId String

paymentEvent PaymentEvent @relation(fields: [paymentEventId], references: [id])

orderId String

amount Int

currency String

reason String

status String

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

initiatedBy String

notes String?

createdAt DateTime @default(now())

completedAt DateTime?

@@index([orderId])

@@index([status])

}

`

Standard refund workflow

`

[Customer request]

[Manager approval (>50K XOF)]

[Create Refund.status = "requested"]

[Provider API attempt]

/ \

[OK] [Failure]

↓ ↓

[completed] [failed → human alert]

[Notify customer (WhatsApp + email)]

[Audit log]

`

Real fees and delays

ProviderDelayFees (full)Fees (partial)Cap
Wave (<7d)Instant00None
Wave (>7d)Instant1%1%None
OM24–72h0 if unsettled2% if settled500K XOF/day
PayDunya card5–7d0100 XOF + 0.5%Negotiated monthly
Stripe card5–10d00KYC limit

Dispute handling (chargebacks)

Card payments only (Wave/OM don't support bank chargebacks):

  • PayDunya/Stripe → dispute.created webhook
  • Response window: 7–14 days (Visa/Mastercard)
  • Submit evidence: order screenshot, proof of delivery, customer IP, logs
  • Decision: 30–90 days

Tip: automate evidence collection at order time (IP, user-agent, delivery signature). Collecting at dispute time = too late.

FAQ

Q: Refund a Wave payment after 90 days?

A: Yes via API up to 180 days. Beyond, manual bank transfer.

Q: Does the customer need the same OM account to receive the refund?

A: Yes, OM refunds to source. If the number is deactivated, it sits pending. Workaround: compensating bank transfer.

Q: How to prevent refund abuse?

A: Scoring rules: refunds per month, refunded/ordered ratio, account age. Auto-block past 3 in a month.

Conclusion

Refunds are under-invested by 90% of Senegalese e-commerce SMEs. Doing it well builds trust, shortens support, protects accounting. A few hours upfront saves many hours every month.

Tags:#Refund#Wave#Orange Money#Senegal#API#Dispute
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.