Refund a transaction
GET/api/v2/refund/:order_id
Processes a refund for a paid transaction, returning the money to the customer via their original payment method.
Rate Limit: 100 requests per 60 seconds
Requirements:
- Valid API key with appropriate scopes (checkout, write, read_and_write, or management)
- Transaction must exist and belong to your organization
- Transaction must be in 'paid' or 'paid_and_blocked' status
- Sufficient account balance to cover the refund amount
- Transaction must not already be refunded or cancelled
Process Flow:
- Validates the transaction exists and is refundable
- Checks account balance is sufficient
- Initiates refund with payment provider (Wave or Orange Money)
- On success: deducts amount from account, updates transaction status to 'refunded'
- On failure: returns error without changing account balance
Supported Payment Methods:
wave- Refunds via Wave mobile moneyorange_money- Refunds via Orange Money
Important Notes:
- Refunds are processed immediately and cannot be cancelled
- The full transaction amount is refunded (partial refunds not supported)
- Refund is sent to the customer's phone number used in the original transaction
- Transaction status changes to 'refunded' upon successful completion
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
Refund processed successfully. The transaction status has been updated to 'refunded' and funds have been returned to the customer.
Bad request. Possible reasons:
- Invalid or missing order_id
- Transaction is not refundable (status is pending, cancelled, or already refunded)
- Insufficient account balance to process refund
Unauthorized - Invalid or missing API key.
Forbidden - API key does not have required scopes (checkout, write, read_and_write, or management).
Transaction not found - No transaction exists with this order_id, or account not found.
Rate limit exceeded (100 requests per 60 seconds).
Internal server error. Possible reasons:
- Failed to process refund with Wave
- Failed to process refund with Orange Money
- Failed to update account balance
- Failed to update transaction status