Skip to navigation

Fund Card

View as Markdown

Funds a card from your settlement balance.

Body (JSON) — both required:

FieldTypeNotes
cardIdstringcardId returned by Generate Card
amountnumberNGN, must be > 0. Send a JSON number, not a string

The amount is debited from your first active settlement account (you cannot choose which; there is no settlementId field — if you have none, an empty one is created and the call fails with insufficient balance). Funding is allowed up to the full balance (balance >= amount).

Outcomes (every non-success is HTTP 400, distinguish by message):

  • Card funded successfully — done.
  • ...Your balance has been refunded. — provider declined; settlement re-credited. Safe to retry with a new request.
  • Card funding is being confirmed. Do not retry; check the card transaction status. — provider outcome unknown (timeout/network/5xx). Your balance has been debited and NOT refunded; the card may or may not have been funded. Do not retry — contact support for reconciliation.

There is no idempotency key on this endpoint: a client-side retry after a timeout will fund the card twice.

All errors from this folder use { "status": "error", "message": "..." } and are returned as HTTP 400 (including “Card not found” — there is no 404). Success bodies use status: "success" (not success: true like the VTU endpoints).

Authentication

AuthorizationBearer

Access token from Generate Access Token (valid 15 minutes).

Request

This endpoint expects an object.
amountintegerOptional
cardIdstringOptional

Response

OK
statusstringOptional
messagestringOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error