Skip to main content

Fees and currency

This page explains how money is expressed on the platform and where fees 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 appear​

Fees do not change the amount you collect from the customer. They appear as the collected value is recorded to your balance.

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.

The ledger makes it reconcilable​

Every fee 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 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 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.