Skip to main content

Fees and currency

This page explains how money is expressed on the platform and where fees and currency conversion appear, so your finance team can reconcile with confidence. It is structural: the specific rates and fee schedule for your account are commercial terms you agree with TensorRail and see in your dashboard, not published here.

Amounts are in the smallest currency unit

Every amount on the API is an integer in the smallest unit of the collection currency, not a decimal. There are no floating-point amounts anywhere in the contract.

  • 50000 in INR is INR 500.00.
  • 6540 in USD is USD 65.40.
  • For a zero-decimal currency, the integer is the whole unit directly.

This applies uniformly to amount, net_amount, amount_capturable, amount_received, and to refund and dispute amounts. Working in integer minor units end to end is what keeps totals exact: compute in minor units, and only format to a decimal for display.

The currency field is the ISO 4217 code of the collection, and it must be a corridor enabled for your account. Note that create does NOT enforce this — see Corridors and coverage.

Where fees and conversion appear

Fees and currency conversion do not change the amount you collect from the customer. They appear as the collected value is recorded to your balance. There are two components to understand.

1. Collection into your balance

A customer pays in their local currency. That cleared value posts to the double-entry ledger under your balance. Whether the collection fee for that corridor is taken at that moment or billed to you separately depends on the terms for that rail in your agreement — both arrangements exist, and your fee schedule says which one applies to you. Your balance carries one figure per currency you collect in, split into available / pending / settled. See Money integrity.

2. Currency conversion

Where a currency conversion applies to your account, it is a separate component under your commercial terms, and it posts to the ledger as its own line rather than being folded silently into a rate. Which conversions apply to you is part of the terms you agree with your account manager, not fixed here.

The ledger makes it reconcilable

Every fee and every conversion component is a posting on the double-entry ledger under your balance, alongside the collection it belongs to. A collection is therefore auditable in both directions: from the payment your customer made, through the fee and conversion postings, to the figure on your balance. Refunds post against their original collection on the same ledger, so a refunded payment nets out cleanly.

Because it is all one ledger:

  • Your CSV exports and your balance tie together without a translation layer.
  • Gross minus fees minus any conversion equals net, and that identity holds at both the balance level and the individual-posting level.
  • The balance you see is not a standalone number; it is backed by balanced postings and checked by automated reconciliation.

Export the underlying collections from the dashboard for your own reconciliation. See Dashboard and account and Money integrity.

Reading your balance

GET /v1/balances reports available, pending and settled for each currency you collect in. What each of those means, and how test and live balances stay separate, is on Balances.

TensorRail, Limassol, Cyprus.