Skip to main content
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