Balance Transactions
Balance transactions record how funds flow from customer payments into your available balance. Each transaction captures the lifecycle of a payment's funds: when they're recognized, when they settle and become available, and when they're included in a payout. Think of them as ledger entries that bridge the gap between a successful payment and money you can actually move—essential for reconciliation, financial reporting, and understanding your cash flow in real time.
The Balance Transaction object
Each transaction records a payment amount and links it to its payment and order. Optional payout and lifecycle timestamps are omitted until they are available.
Properties
Look up a balance transaction
Fetch the current state of a specific balance transaction. You'll typically use this after receiving a transaction ID from an order or payment response, or when reconciling your books against platform records. The lookup now requires only transaction_id. Commerce resolves the record through the application-scoped balance-transaction ID index, so you no longer need to supply the originating payment or order IDs.
Request attributes
Request
curl https://api.zebo.dev/balance_transactions/lookup \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "bt_Md9cV6cRWj2W8dS5wU7fQxBb"
}'
{
"transaction": {
"id": "bt_Md9cV6cRWj2W8dS5wU7fQxBb",
"payment_id": "py_Qs1sYW5nJXw4QjV8EJr0FDAs",
"order_id": "or_Jc5Tm1YkQq9n3Pb8Ls2F0Dhz",
"amount": {
"currency": "ghs",
"value": 22000
},
"created_at": "2025-04-10T12:02:45.000Z",
"available_at": "2025-04-10T12:03:17.000Z",
"claimed_at": "2025-04-17T10:00:00.000Z"
}
}
Page through balance transactions
Iterate through balance transactions in your Commerce account. Both pagination fields are required. Page numbering is 0-based.
Request attributes
Request
curl https://api.zebo.dev/balance_transactions/page \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page_number": 0,
"page_size": 2
}'
{
"page": {
"number": 0,
"size": 2,
"transactions": [
{
"id": "bt_Za2bL9kPxV1c4Gs7Ju0DrQhn",
"payment_id": "py_mJ2nP8dLs4Rj7Xc1Bv6ThQw",
"payout_id": "po_Xr8kQ4nLs2Fv9Mh1Pc6DtGjb",
"order_id": "or_Lp9Fc4VsQm2n7Gx0Hd3WaTjy",
"amount": {
"currency": "ghs",
"value": 12200
},
"created_at": "2025-04-11T09:34:40.000Z",
"available_at": "2025-04-11T09:35:02.000Z",
"paid_at": "2025-04-18T10:00:15.000Z"
},
{
"id": "bt_Ps8wC1nDf5m9Qh2Vt6YkRgLb",
"payment_id": "py_xR4kN1sDf7Lh2Pw9Vm3CtGb",
"order_id": "or_Qs6Xv2NaLp9Fz1Md4KgRtBhj",
"amount": {
"currency": "ghs",
"value": 8800
},
"created_at": "2025-04-10T21:17:05.000Z",
"available_at": "2025-04-10T21:18:20.000Z"
}
]
}
}