Transactions
The Transactions API returns ledger records created after successful payments are confirmed. Use it to reconcile payments, audit balances, and back up webhook-driven integrations.
Overview
Each confirmed payment request produces a transaction record. Transactions include gross and net amounts, asset and network metadata, source and destination addresses, and optional on-chain transaction hashes.
Transactions are scoped to the authenticated entity:
- Account-level API keys — transactions for that account only
- Organization-level API keys — all organization transactions, or a single account when
accountIDis provided
Authentication
All requests require both headers:
Authorization: Bearer <access_token>x-fluxis-api-key: <your_api_key>
List transactions
Code
Query parameters
| Parameter | Required | Description |
|---|---|---|
page | Yes | Page number (minimum 1) |
page_size | Yes | Items per page (5–100) |
accountID | No | Filter to a specific account (organization keys only). Must belong to your organization |
Swagger drift: The OpenAPI reference may document limit and offset query parameters and a flat array response. The live handler uses page and page_size and returns a paginated envelope with data, total, page, page_size, and total_pages. Follow this page and the handler behavior—not stale swagger types.
Example
Code
For organization keys scoped to one account:
Code
Response shape
Code
Optional fields such as account_external_id, unique_asset_id, network, and transaction_hash use omitempty and may be absent depending on the transaction type and processing stage.
Transaction types
| Type | Description |
|---|---|
payment_in | Inbound customer payment |
payment_out | Outbound payment |
deposit | Deposit |
withdraw | Withdrawal |
refund | Refund |
adjustment | Manual adjustment |
swap | Asset swap |
dry_run | Test / preview record |
Most merchant integrations interact primarily with payment_in records created when payment requests reach confirmed.
Transaction statuses
| Status | Description |
|---|---|
preview | Preview state |
pending | Awaiting processing |
created | Record created |
processing | In progress |
completed | Successfully completed |
failed | Failed |
error | Error state |
expired | Expired |
Relationship to payment requests
Code
- Webhooks fire on
processing,completed,underpaid, andoverpaid— see Webhook Events. - After confirmation, a ledger transaction appears in
GET /v1/transactions. - Poll transactions as a fallback if a webhook is missed.
Reconciliation pattern
Combine webhooks (real-time) with periodic transaction polling (safety net). Match on payment_request_id via your external_reference_id or by correlating amounts, timestamps, and transaction hashes.
Recommended flow:
- Store payment request IDs when you create checkout sessions
- Update order state from
payment_requestwebhooks - Nightly (or on demand), page through
GET /v1/transactionsand reconcile any gaps
Related documentation
- Payment Requests — status lifecycle
- Webhook Events — real-time status updates
- Webhook Signature Verification — HMAC verification for webhook deliveries
- Settlements & Consolidation — how funds move after confirmation
- API Integration Guide — Step 7 reconciliation