Skip to main content

Taxes

The tax service calculates applicable taxes for a transaction. Use it to determine tax amounts before creating a payment or to display tax breakdowns to your customers.

import { createOakClient, createTaxService } from '@oaknetwork/payments-sdk';

const client = createOakClient({ ... });
const taxes = createTaxService(client);

Methods

MethodDescription
calculate(request)Calculate taxes for a transaction

Calculate taxes

const result = await taxes.calculate({
amount: 10000,
currency: 'usd',
customer_id: 'cus_abc123',
});

if (result.ok) {
const tax = result.value.data;
console.log('Tax amount:', tax.tax_amount);
console.log('Total with tax:', tax.total_amount);
console.log('Tax rate:', tax.tax_rate);
}

Request fields

FieldTypeRequiredDescription
amountnumberYesTransaction amount in smallest currency unit
currencystringYesCurrency code
customer_idstringYesCustomer ID (used to determine tax jurisdiction)

Response data

CalculateResponse

FieldTypeDescription
tax_amountnumberCalculated tax amount
total_amountnumberAmount including tax
tax_ratenumberApplied tax rate
jurisdictionstringTax jurisdiction
breakdownarrayItemized tax breakdown