Transfer and Cards: how it works and the plan
A shared map for the Cleo team. Built from the code and the team's analysis on 3 Nov 2026. It contains no credentials, no customer data and no internal addresses.
| Product | What it is | Status |
|---|---|---|
| Transfer | A wallet for merchants: their customers pay in by bank transfer, and merchants pay out to customers. Chile, Mexico and Peru. | live runs today at the current provider (UKAD) and moves to Cleo's own cloud (target 17-18 Nov) |
| Cards | Card payments through Cleo's API, with Payku handling the card side. | live running, light use so far (a first merchant) |
1. Transfer: money in and money out
flowchart TB
subgraph Merchant
MS[Merchant site]
end
subgraph Cleo_Transfer[Cleo Transfer]
S[Payment session] --> B[(Merchant balance
a running ledger)]
PO[Pay-out request] -->|reserve amount + fee| B
RR{Risk review
when needed}
CB[Signed callback
to the merchant, with retries]
MAN[Manual bank file
daily at noon, if no provider]
ST[Settlement
merchant withdraws its balance]
end
subgraph Providers_in[Pay-in providers]
PI[Chile: Fintoc, Floid, ETpay
Mexico: ETpay, Fintoc
Peru: Floid]
end
subgraph Providers_out[Pay-out providers]
POUT[Chile: Radar, Shinkansen if Radar is off
Mexico: ETpay or Fintoc
Peru: Floid]
end
C[Customer] -->|1. pays from own bank| PI
MS -->|asks for a session| S
PI -->|2. webhook: paid| S
S -->|3. balance + amount minus fee| B
S -->|4. notify| CB --> MS
MS -->|5. pay someone| PO --> RR --> POUT
POUT -->|6. paid: debit / failed: release| B
PO -.-> MAN
B --> ST
- Balance = pay-ins + top-ups โ pay-outs โ login/KYC charges โ settlements. "Reserved" is the pay-outs still in progress.
- Three facts that are never mixed up: the provider said "paid", Cleo booked it, and the merchant got the callback.
- Refunds are a pay-out linked to the original pay-in.
2. Cards: a card payment from start to end
flowchart TB
subgraph Merchant
M[Merchant shop]
MP[Merchant portal
transactions, refunds, keys, payouts]
end
subgraph Cleo_Cards[Cleo Cards]
API[Cards API
payments + refunds] --> DB[(Cards database)]
WH[Webhook receiver] --> API
REC[Reconciliation every 15 min
asks about pending payments]
RP[Refund follow-up every 5 min]
NOTIF[Notice to the merchant
signed, with retries]
OPS[Cleo ops portal
merchants, fees, payouts]
end
subgraph Card_provider[Card provider]
PSP[Payku
card side, Cleo never sees card data]
end
M -->|1. creates payment| API
API -->|2. creates purchase| PSP
K[Customer] -->|3. pays with card| PSP
PSP -->|4. result| WH
REC --> PSP
RP --> PSP
API -->|5. final status, once| NOTIF --> M
M -->|6. refund, full amount| API
DB --> MP
DB --> OPS
OPS -.->|7. payout to the merchant
open part| M
live Cards API, reconciliation, refunds
built, not deployed merchant portal, ops portal
open payouts to merchants, chargebacks, partial refunds
3. The plan
flowchart TB A[0. Access
read access to the Transfer data, provider ownership table] --> E[1. Evidence
balances vs ledger per merchant, stuck items] E --> P[2. Our copy of the Transfer code
brought up to date, built, tested] P --> T[3. Target cloud ready
database size, network] T --> R[4. Rehearsals
full copy, staging test, timed cutover] R --> X[5. Cutover
17 or 18 Nov, early morning Chile time
one system at a time, short stop] X --> F[6. After
daily reconciliation, old system kept read-only 30 days] C0[Cards: decide what Cards should be] --> C1[Close the gaps
merchant notice queue, amount check, refund alarm, webhook signature] C1 --> C2[Merchant portal to staging, then live] C2 --> C3[Payouts and chargebacks
rules and fees with finance] C3 --> C4[Next merchants
after the gaps are closed]
4. Who does what
| Role | What |
|---|---|
| Builder | Writes the change, tests first. |
| Independent verifier | Checks every change. Never verifies their own work. |
| Data and reconciliation | Balances per merchant, stuck items, a daily check. |
| Database move | Copies, comparisons, the cutover script and rollback. |
| Watch | Watches logs and stuck payments, raises alarms. |
| Support (Cleo) | The single point of contact for the team, merchants and providers. |
5. What we want to align with you
- Your Jira for Transfer and Cards: which issues are in progress with Develrox, so the plan follows them.
- Transfer: the cutover window (17 or 18 Nov) and what Develrox still has open before 20 Nov.
- Cards: partial refunds, the payout model for merchants, chargebacks, more card providers and a white-label checkout. Which of these matter first?
- Which merchants come next on Cards, and when.