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
| Parameter | Description |
|---|---|
referenceNo | Human-readable deposit reference, e.g. 20240726-FA8JZ4 |
currencyCode | ISO 4217 currency code |
clientId | Client the deposit belongs to |
accountId | Virtual account that received the funds |
status | Deposit status (see lifecycle) |
depositDateFrom / depositDateTo | Deposit date range |
createdTimeFrom / createdTimeTo | Creation time range |
updatedTimeFrom / updatedTimeTo | Last-updated time range |
skip / limit | Pagination (defaults 0 / 10) |
Deposit object
| Field | Type | Description |
|---|---|---|
id | string | Deposit ID |
clientId | string | Client that received the funds |
accountId | string | Virtual account credited |
currencyCode | string | ISO 4217 currency code |
amount | number | Amount received |
type | enum | Settlement type: WIRE TRANSFER or PAYID |
referenceNo | string | Human-readable reference |
depositDate | string | YYYY-MM-DD |
payer | object | Payer details (name, account, reference) |
status | enum | See lifecycle below |
createdTime / updatedTime | string | ISO 8601 timestamps |
Deposit status lifecycle
| Status | Description |
|---|---|
SCHEDULED | Deposit created, not yet processed |
PENDING DIRECT DEBIT | Waiting for direct debit to be initiated |
DIRECT DEBIT PROCESSING | Direct debit being processed by the bank |
COMPLETED | Funds available in the account |
CANCELLED | Cancelled before processing |
REJECTED | Rejected by the bank or payment system |
PENDING REFUND | Refund requested, awaiting processing |
REFUNDING | Refund in progress |
REFUNDED | Funds refunded |
REFUND CANCELLED | Refund request cancelled |
REFUND REJECTED | Refund rejected by the payee |
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
DEPOSITtransaction. - 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
TRANSFERto 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"
}'
The maximum simulated amount is 100. amount is the only required field;
currencyCode is required for multi-currency accounts.