Skip to main content
Cardholder fees are charged to the cardholder on top of the merchant amount when a card transaction is authorized, so the amount debited from the account is higher than the amount the merchant asked for. Every program carries a default rate for each fee type. You can change those defaults and override any of them for a single account.

Fee types

100 basis points is 1%. A rate of 0 or an amount of 0 turns a fee off without deleting it. An ATM withdrawal is domestic when the ATM is in the same country as your card program, and cross-border otherwise. A cross-currency ATM withdrawal pays the FX markup as well as the ATM pair for its tier. The fixed ATM fee is charged once per withdrawal.

Defaults and overrides

Each fee has a scope:
  • PROJECT: the default for your whole program. Every project has exactly one row per fee type. You can change its value but you cannot create or delete it. The project is the one you authenticate as, so this scope carries no id.
  • ACCOUNT: an override for one account. It replaces the project default for that fee type on every card of that account. An account can have at most one override per fee type.
When Reap prices a transaction it uses the account override where one exists and the project default otherwise. Each transaction records the fee row that priced it and the version that row was on. Changing a fee later never rewrites the history of settled transactions.
Set your program’s default fees in the dashboard before you launch in production. Only an organization Admin can change project defaults, and only from the dashboard; an API key cannot update them. Account overrides can be managed from the dashboard or the API.

Set an override

Create an override for one fee type on one account. The value says how the fee is denominated: unit: "BPS" with a bps rate for a rate-based type, unit: "AMOUNT" with an amount for a fixed one.
A fixed fee is always denominated in your program’s billing currency, which the response reports as currency. A rate-based value carries no currency: it applies to the bill amount whatever that currency is. Update a fee with Update fee value; the version increments on every change. Delete an override with Delete fee override and the account falls back to the project default. Creating a second override for the same type and account returns 409 DUPLICATE_FEE.

Read what an account pays

List effective fees returns one entry per fee type for an account, each naming the row that supplies it.
List fees returns the rows themselves, filtered by type, scopeType, or scopeId.

What appears on the transaction

Each transaction reports the fees it charged under fees: fx for the FX markup and atm for the ATM pair combined, both in your billing currency. See Amounts for how these aggregate across authorization, clearing, and refund events.