Wallet
A wallet holds a balance in a single currency for a single country. A company can have multiple wallets (e.g. one XAF wallet for Cameroon, one XOF wallet for Côte d’Ivoire, one USD wallet for cards). Each wallet maintains two sub-balances:- Pay-in balance (
payin_balance) — funds collected from end users via mobile money or other inbound rails. - Pay-out balance (
payout_balance) — funds available to send to end users via payout rails.
Customer
A customer is the end user to whom you issue cards. Cartevo is a B2B2C platform: your company signs up with Cartevo, and you in turn create customers under your company. Every customer must complete KYC (Know Your Customer) before any card can be issued in their name. You can either:- Upload KYC documents directly (
POST /customerswithmultipart/form-data), or - Provide hosted document URLs (
POST /customers/enroll).
PENDING, APPROVED, REJECTED. Cards can only be issued to APPROVED customers.
Cardholder
In the underlying card-issuing platforms, a cardholder is the entity to which a card is issued. From the Cartevo API’s perspective, every customer who has been successfully enrolled is automatically registered as a cardholder. You do not interact with cardholders directly — the customer abstraction is sufficient.Card
A card is a virtual payment instrument issued to a customer.| Attribute | Value |
|---|---|
| Type | Virtual only (physical cards coming soon) |
| Currency | USD only |
| Brand | VISA or MASTERCARD |
| Maximum balance | 10,000 USD per card |
| Validity | 3 years (auto-renewing) |
PENDING— issuance in progress.ACTIVE— usable for transactions, funding, and withdrawals.FROZEN— temporarily disabled by you. Balance preserved; can be unfrozen.SUSPENDED— temporarily disabled by Cartevo (typically after multiple failed transactions).TERMINATED— permanently disabled. Balance refunded to the company USD wallet. Irreversible.FAILED— issuance failed.
Transaction
A transaction records any movement of money in the Cartevo system. Transactions have acategory (the system that generated them) and a type (what they represent).
Categories: WALLET, CARD, PAYMENT.
Card transaction types:
| Type | Meaning |
|---|---|
AUTHORIZATION | Card was used at a merchant; funds reserved |
SETTLEMENT | Authorized transaction cleared and funds moved |
FUNDING | Card was funded from a wallet |
WITHDRAWAL | Funds withdrawn from a card back to a wallet |
TERMINATION | Card terminated; balance refunded |
DECLINE | Card-use attempt rejected (e.g. insufficient balance) |
REVERSAL | Authorization reversed (typically within 24h, before settlement) |
REFUND | Funds returned after settlement |
CROSS-BORDER | A cross-border charge applied to a card transaction |
PENDING, PROCESSING, SUCCESS, FAILED.
Authorization vs. settlement
When a card is used at a merchant:- Authorization — the merchant asks Cartevo to reserve funds. If the card has the balance and is
ACTIVE, Cartevo holds the amount and emitstransaction.authorization.created. - Settlement — usually 1–3 days later, the merchant claims the reserved funds. Cartevo emits
transaction.settlement.completedand the funds leave the card.
transaction.reversal.completed) or partially settle (less common, partial reversals possible). After settlement, only a refund (→ transaction.refund.completed) can return the funds.
Cross-border charge
A cross-border charge is a fee Cartevo applies whenever a card is used:- on a merchant outside the United States, or
- in a currency other than USD.
(transaction amount × 2.5%) + $0.50 USD.
The fee is deducted from the card balance first; if insufficient, from the company USD wallet; if still insufficient, recorded as a debt. The fee is reported via the fee.crossborder.charged webhook.
Debt
A debt is created when Cartevo cannot collect a fee owed at the time of the underlying event. Two scenarios trigger debt creation:- Payment failure fee —
$0.50charged when a card transaction fails for certain reasons, and neither the card nor the wallet has the balance to cover it. - Cross-border fee — see above; if neither card nor wallet has the balance to cover the cross-border fee, the remainder becomes debt.
debt.recovery.pending webhook. Outstanding debts are recovered automatically via scheduled debit attempts against the company wallet.
External ID vs. transaction ID vs. provider reference
Three distinct identifiers can attach to a single payment:| ID | Generated by | Visible in | Purpose |
|---|---|---|---|
external_id | You | Request body, response, webhook payload | Idempotency key — prevents duplicate processing |
transaction_id | Cartevo | Response, webhook payload, status endpoint | The canonical reference for any further API calls |
| Provider reference | Upstream operator (MTN, Orange, AlphaSpace, etc.) | Webhook payload provider_reference field | Reconciliation with operator records |
transaction_id. When you talk to an operator’s support team about a specific payment, you may need the provider reference.
Mode
A mode is one of two isolated environments:- Preproduction — sandbox. Wallet balances capped at 50,000 XAF (~80 USD). No real money moves. Use to validate your integration end-to-end.
- Production — real money, real customers, real KYC.
client_id + client_key) is bound to one mode. Tokens minted from preproduction credentials cannot operate on production data and vice versa.
Operator
An operator is a mobile-money provider that Cartevo integrates with for collection (pay-in) and payout. Examples: MTN, Orange, Moov, Wave, M-Pesa, Airtel Money. The set of supported operators differs by country and by direction (some operators are pay-in only). See Payment guidelines for the per-country, per-currency operator matrix.Webhook
A webhook is an HTTPPOST request Cartevo sends to a URL you configure on your company account when a notable event occurs. Webhooks are how you learn about asynchronous outcomes (settlement, payout success, fee charges) without polling.
See the Webhooks reference for the full event catalogue, payload shapes, retry policy, and security model.