Skip to main content

Transactions

A transaction is a ledger record of money movement — every payment, transfer, buy, or sell creates one. Use this service to query your transaction history, filter by status or date range, and settle completed transactions when funds are ready for disbursement.

import { createOakClient, createTransactionService } from '@oaknetwork/api';

const client = createOakClient({ ... });
const transactions = createTransactionService(client);

Methods

MethodDescription
list(query?)List transactions with optional filters
get(id)Get a transaction by ID
settle(id, request)Settle a completed transaction

List transactions

const result = await transactions.list({
limit: 20,
offset: 0,
status: 'COMPLETED',
});

if (result.ok) {
console.log(`Total: ${result.value.data.count}`);
for (const tx of result.value.data.transaction_list) {
console.log(` ${tx.id}${tx.type}${tx.status}`);
}
}

Query parameters

ParameterTypeDescription
limitnumberMaximum number of results
offsetnumberNumber of results to skip
customer_idstringFilter by customer UUID
type_liststringFilter by type (e.g., "installment_payment")
statusstringComma-separated statuses (e.g., "COMPLETED,SETTLED")
payment_methodstringFilter by payment method (e.g., "pix")
dateFromstringStart date filter (YYYY-MM-DD)
dateTostringEnd date filter (YYYY-MM-DD)
source_currencystringFilter by source currency
destination_currencystringFilter by destination currency

Get a transaction

const result = await transactions.get('tx_abc123');

if (result.ok) {
const tx = result.value.data;
console.log('Status:', tx.status);
console.log('Provider:', tx.provider);
console.log('Created:', tx.created_at);
}

Settle a transaction

const result = await transactions.settle('tx_abc123', {
charge_id: 'ch_xyz789',
amount: 5000,
status: 'SETTLED',
});

if (result.ok) {
console.log('Settlement successful');
}

Transaction statuses

StatusDescription
INITIATEDTransaction has been created but not yet processed
PENDINGTransaction is being processed
COMPLETEDTransaction completed successfully
SETTLEDFunds have been settled to the recipient
FAILEDTransaction failed
CANCELED_AFTER_COMPLETIONTransaction was cancelled after completion

Transaction item fields

FieldTypeDescription
idstringTransaction ID
statusStatusCurrent status
typestringTransaction type
sourceobjectPayment source details
confirmbooleanWhether confirmation was requested
metadataobjectCustom metadata
providerstringPayment provider
created_atstringISO timestamp
updated_atstringISO timestamp