PayCA exposes a compact object model for client integrations. Everything below is visible via public API responses or webhook payloads.
Entity Overview
| Entity | Identifier | What It Represents | Created By |
|---|---|---|---|
| Master account | accountId |
Primary client funds per currency. Listed via GET /v2/accounts. |
Provisioned by PayCA ops; topped up through treasury rails. |
| Card | cardId |
Virtual or physical card funded from a master account. | POST /v1/cards |
| Webhook subscription | id |
Delivery destination for event feeds (card_transaction, account_transaction). |
POST /v1/webhooks |
All internal provider settlement ledgers are managed by PayCA and are not part of the external integration surface.
How Balances Move
- Fund master accounts through your agreed finance rail.
- Issue or top up cards from a master account.
- Process spend lifecycle (authorization, settlement, reversal, refund, decline).
- Reconcile account and card events using webhook payloads and
referenceId.
Use GET /v2/accounts for current master-account balances and available BINs.
Key Payloads
Master Account Snapshot
{
"accounts": [
{
"id": "tenant-usd",
"currency": "USD",
"balance": { "available": "18500.00", "pending": "120.50" },
"status": "active"
}
]
}
Interpretation:
balance.available-> immediate spending power for card operations.balance.pending-> funds held by unsettled authorizations.
Card Issuance Response
{
"cardId": "0b1e9c6e-5d87-4f90-8c4d-0ad6f4ce4be5",
"linkedAccountId": "tenant-usd",
"last4": "8642",
"status": "active"
}
linkedAccountIdties the card to the debited master account.- Store
cardIdfor lifecycle operations (topup, withdraw, freeze, close).
Webhook Correlation
| Event | What to Store | Why |
|---|---|---|
card_transaction |
data.id, cardId, type, referenceId, linkedId, amount |
Trace card activity from auth to final settlement/refund. |
account_transaction |
data.id, accountId, type, subtype, amount, referenceId |
Reconcile master-account impact (holds, fees, transfers). |
Persist payloads keyed by data.id. Use referenceId to link all legs of the same money movement.
Data Handling Practices
- PII: Keep personal data out of metadata fields unless contractually approved.
- Retention: Archive webhook payloads to your data warehouse for replay and audit.
- Idempotency: Reuse the same
Idempotency-Keyonly when retrying the exact same intent.
Common Questions
Do I manage provider clearing accounts?
No. PayCA reconciles provider-side ledgers internally.
How do I know when to top up?
Use GET /v2/accounts and alert on low accounts[].balance.available.
Where do I see fees?
Fees appear in account_transaction webhooks (type=fee) and GET /v1/accounts/{id}/transactions.
Next, read Moving Funds & Reconciliation for operational flow and Webhook Balance Effects for balance-impact details by webhook type.