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

  1. Fund master accounts through your agreed finance rail.
  2. Issue or top up cards from a master account.
  3. Process spend lifecycle (authorization, settlement, reversal, refund, decline).
  4. 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"
}
  • linkedAccountId ties the card to the debited master account.
  • Store cardId for 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-Key only 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.