Skip to main content

Deposits

A deposit is money received into one of your virtual accounts. Deposits are inbound only—there is no "create deposit" endpoint. You share your virtual account details with a payer, and when funds arrive CAPAY records a deposit and credits your balance.

You can query deposits at any time, and simulate them in Sandbox to test your integration end to end.

Query deposits

curl "https://api.sandbox.capay.com.au/deposits?currencyCode=AUD&status=COMPLETED" \
-H "Authorization: Bearer <token>"

Query parameters

ParameterDescription
referenceNoHuman-readable deposit reference, e.g. 20240726-FA8JZ4
currencyCodeISO 4217 currency code
clientIdClient the deposit belongs to
accountIdVirtual account that received the funds
statusDeposit status (see lifecycle)
depositDateFrom / depositDateToDeposit date range
createdTimeFrom / createdTimeToCreation time range
updatedTimeFrom / updatedTimeToLast-updated time range
skip / limitPagination (defaults 0 / 10)

Deposit object

FieldTypeDescription
idstringDeposit ID
clientIdstringClient that received the funds
accountIdstringVirtual account credited
currencyCodestringISO 4217 currency code
amountnumberAmount received
typeenumSettlement type: WIRE TRANSFER or PAYID
referenceNostringHuman-readable reference
depositDatestringYYYY-MM-DD
payerobjectPayer details (name, account, reference)
statusenumSee lifecycle below
createdTime / updatedTimestringISO 8601 timestamps

Deposit status lifecycle

StatusDescription
SCHEDULEDDeposit created, not yet processed
PENDING DIRECT DEBITWaiting for direct debit to be initiated
DIRECT DEBIT PROCESSINGDirect debit being processed by the bank
COMPLETEDFunds available in the account
CANCELLEDCancelled before processing
REJECTEDRejected by the bank or payment system
PENDING REFUNDRefund requested, awaiting processing
REFUNDINGRefund in progress
REFUNDEDFunds refunded
REFUND CANCELLEDRefund request cancelled
REFUND REJECTEDRefund rejected by the payee
info

All deposit status changes trigger a webhook notification (event type DEPOSIT).

Where the money lands (House vs Sub-Account)

The virtual account that receives a deposit determines where the funds settle:

  • Deposit to a House Account virtual account — funds are credited directly to your House Account. You will see a single DEPOSIT transaction.
  • Deposit to a Sub-Account virtual account (COBO) — funds are first credited to the Sub-Account, then automatically transferred to the House Account. You will therefore see two ledger records: the Sub-Account credit and the internal TRANSFER to the House Account.

See Account Structure & Fund Flow for the full COBO (Collect On Behalf Of) explanation, and Transactions for how these records appear in the ledger.

Simulate a deposit (Sandbox only)

POST /deposits/simulate creates a production-like deposit against one of your virtual accounts. It is available only in Sandbox and moves no real money— use it to trigger webhook notifications, exercise auto-processing of payments, and test deposit retrieval.

curl -X POST "https://api.sandbox.capay.com.au/deposits/simulate" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"amount": 10,
"accountNumber": "999000123",
"routingNumber": "012999",
"currencyCode": "AUD",
"name": "CAPAY Sandbox",
"paymentReference": "Test deposit"
}'
tip

The maximum simulated amount is 100. amount is the only required field; currencyCode is required for multi-currency accounts.