Skip to main content

Fees

Run in Postman

When processing payments, fees and foreign exchange (FX) margins get applied to client transactions (customer transactions for platform clients), including payouts and account openings.

Nium’s pricing engine supports a wide range of customizable pricing options through fees and FX margins, including, but not limited to:

  • Pricing based on payout or payin method
  • Tiered pricing structures

Fees and FX margins are typically applied in the following scenarios:

  • Real-time fee: Charged at the time of the transaction.

    • For example, when a payout is processed, the corresponding fee (and any FX margin) is debited from the customer's wallet along with the transaction amount.
  • One-time fee: Charged when a one-off event occurs.

    • For example, a customer may be charged after completeing onboarding.
  • Custom fee: Charged for events outside the standard pricing model.

    • For example, a client may charge a monthly subscription fee or a fee based on the inbound payment method. Use the Charge Fee request to apply a custom fee to a customer’s wallet in any supported currency. Custom fees follow the same processing and accounting logic as predefined fees and can be included in the client’s regular invoicing.

For the above events, pricing is configured in the client's account once mutually agreed upon with Nium during onboarding.

  • FI clients – Fees are charged to the FI client for real-time and one-time transactions.
  • Direct clients – Fees are charged to the client for real-time and one-time transactions.
  • Platform clients – Fees are charged to the platform client's customers. Clients can define customer segments during onboarding and configure pricing by segment. For example, high-volume customers may have different rates than low-volume customers.

Use the Fee Details request to review the real-time transaction pricing.

For additional details, see Pricing details.

caution
  • Before charging any customer fees, you must obtain approval from Nium’s legal and compliance teams.
  • Do not use the Charge Fee request without explicit approval.
  • For more information, reach out to your Nium account manager or Nium Support.

Pricing details

The following table describes the fields returned in the Fee Details response.

FieldDescriptionAvailable values
feeObject containing the fee name, pricing rules, FX margin, and price configuration.See Predefined Fees
isDefaultIndicates if this plan is the default pricing configuration. Only one plan can be marked as default.true, false
planNameAn array containing all the pricing information for that segment. The planName contains all the following fields.Client-defined segment
priceSpecifies the fee to be charged. The fee can be a flat amount or percentage-based. Includes the following fields:
  • type: Flat or Percentage
  • value: The amount of the fee to be charged.
  • currency: Currency in which fee is to be charged. If authCurrency in Payout transaction is different than this currency, then fee currency is converted to authCurrency and is charged in authCurrency.
  • percentageOf: Accepts sourceAmount if price.type is percentage.
productsArray of products for which fees and FX margins are configured. Products can include payouts, payins, FX, cards, accounts, and Verify. Each product contains its name and the related fee configuration.payout, payins, fx, cards, accounts, verify
rulesDefines the conditions under which a fee is charged. Rules can be based on transaction volume, transaction amount, or quantity.
rules.conditionCriteria for applying the rule, joined using an and operator.destinationCurrency, sourceCurrency
rules.tier Specifies the configured tier. Details provided include:
  • Start and end values of the configured tier range.
  • tier.on which details the parameter and currency.
  • Pricing based on the configured tier ranges.
rules.typeType of rule used to determine pricing logic. Tiered rules can be based on total volume, individual transaction amount, or quantity of transactions.tier, nontier

Example response

{
"feePlans": [
{
"planName": "GOLD",
"isDefault": true,
"products": [
{
"name": "payout",
"fees": [
{
"fee": "remit_bank_fee",
"rules": [
{
"type": "nontier",
"condition": {
"operator": "and",
"operands": [
{
"destinationCurrency": "SGD"
},
{
"sourceCurrency": "USD"
}
]
},
"price": {
"type": "flat",
"value": "2",
"currency": "USD"
}
}
{
"type": "tier",
"condition": {
"operator": "and",
"operands": [
{
"destinationCurrency": "USD"
},
{
"sourceCurrency": "SGD"
}
]
},
"tier": {
"on": {
"parameter": "source_amount",
"currency": "USD"
},
"ranges": [
{
"start": "0",
"end": "1000",
"price": {
"type": "flat",
"value": "2",
"currency": "SGD"
}
},
{
"start": "1000",
"end": "10000",
"price": {
"type": "flat",
"value": "1.5",
"currency": "SGD"
}
},
{
"start": "10000",
"end": "100000000",
"price": {
"type": "percentage",
"value": "0.1",
"currency": "SGD",
"percentageOf": "source_amount" }
}
]
}
}
]
}
]
}
]

Pricing components

Nium’s pricing engine consists of the following key components:

  • Plan name: Defines the pricing configuration for a customer segment, assigned during onboarding.
  • Product name: Specifies the product the fee applies to. Supported products include payouts, payins, accounts, FX, cards, and verify.
  • Fee name: Predefined fee that is automatically applied when specific transaction events occur.
  • Rules: Conditions that determine when a fee is applied. Rules can be based on transaction volume, amount, or quantity. For example, a rule might apply a fee only if the transaction’s source currency is USD.
  • Fees: The amount charged for a given event, defined as either a flat fee or a percentage-based fee. For example, a transaction with USD as the source currency might be charged a flat fee of 1 USD.

Pre-defined fees

The following table lists the available pre-defined fees and FX margin types, along with their descriptions and when they are charged.

Payouts

The following fees are charged on a per-transaction basis.

Fee nameDescriptionReal-time or One-time
REMIT_BANK_FEECharged on remittance transactions when payoutMethod is LOCAL.Real-time
REMIT_BANK_FEE_FEDWIRECharged on remittance transactions when payoutMethod is FEDWIRE.Real-time
REMIT_BANK_FEE_SWIFTCharged on remittance transactions when payoutType is SWIFT and swiftFeeType is SHA.Real-time
REMIT_BANK_FEE_SWIFT_BENCharged on remittance transactions when payoutType is SWIFT and swiftFeeType is BEN.Real-time
REMIT_BANK_FEE_SWIFT_OURCharged on remittance transactions when payoutType is SWIFT and swiftFeeType is OUR.Real-time
REMIT_CARD_FEECharged on remittance transactions when payoutType is CARD.Real-time
REMIT_CASH_FEECharged on remittance transactions when payoutType is CASH.Real-time
REMIT_CHECK_FEECharged on remittance transactions when payoutType is CHECK.Real-time
REMIT_PROXY_FEECharged on remittance transactions when payoutType is PROXY.Real-time
REMIT_RETURN_FEECharged when a remittance transaction is returned.Real-time
REMIT_WALLET_FEECharged on remittance transactions when payoutType is WALLET.Real-time
WALLET_REFUND_FEECharged when funds are refunded to a customer’s wallet.Real-time
AUTO_SWEEP_FEE_EODCharged when an automatic wallet sweep is triggered at end-of-day.Real-time

Foreign exchange (FX)

The following foreign exchange (FX) markup fees are applied to the exchange rate used in various types of transactions.

Fee nameDescriptionReal-time or One-time
TRANSACTION_MARKUPNium applies a markup fee if the transaction currency and authorization currency differ.Real-time
FX_MARKUPApplied to the exchange rate for:
  • Balance transfers within a wallet
  • Cross-currency wallet prefunding
  • Remittance transactions
Real-time
FX_MARKUP_AUTO_SWEEPApplied to the exchange rate used for automatic wallet sweep transactions.Real-time
FX_MARKUP_AUTO_SWEEP_EODApplied to the exchange rate used for end-of-day automatic wallet sweep transactions.Real-time
FX_MARKUP_SETTLE_IMMEDIATEApplied to conversions settled immediately (when conversionSchedule is immediate).Real-time
FX_MARKUP_SETTLE_ENDOFDAYApplied to conversions settled by 5:00 PM UTC on the same day (when conversionSchedule is end_of_day).Real-time
FX_MARKUP_SETTLE_NEXTDAYApplied to conversions settled by 5:00 PM UTC on the next business day (when conversionSchedule is next_day).Real-time
FX_MARKUP_SETTLE_2DAYSApplied to conversions settled by 5:00 PM UTC two business days after initiation (when conversionSchedule is 2_days).Real-time
FX_MARKUP_LOCK_5MINSApplied to lock the exchange rate for 5 minutes (lockPeriod is 5_mins).Real-time
FX_MARKUP_LOCK_15MINSApplied to lock the exchange rate for 15 minutes (lockPeriod is 15_mins).Real-time
FX_MARKUP_LOCK_1HOURApplied to lock the exchange rate for 1 hour (lockPeriod is 1_hour).Real-time
FX_MARKUP_LOCK_4HOURSApplied to lock the exchange rate for 4 hours (lockPeriod is 4_hours).Real-time
FX_MARKUP_LOCK_8HOURSApplied to lock the exchange rate for 8 hours (lockPeriod is 8_hours).Real-time
FX_MARKUP_LOCK_24HOURSApplied to lock the exchange rate for 24 hours (lockPeriod is 24_hours).Real-time
FX_MARKUP_CANCELLATIONApplied when an FX quote is cancelled before use.Real-time

Payins

The following fees are charged per payin transaction.

Fee nameDescriptionReal-time or One-time
WALLET_CREDIT_THIRD_PARTY_FEECharged per payin transaction when the sender (remitter) is not the account holder.Real-time
WALLET_CREDIT_OFFLINE_FEECharged per payin transaction when the sender (remitter) is the account holder.Real-time
WALLET_CREDIT_CARD_FEECharged when crediting funds to the wallet using a card.Real-time
PREFUND_PROCESSING_FEECharged when prefunding a client wallet.Real-time
WALLET_CREDIT_DIRECT_DEBIT_FEECharged when crediting funds to the wallet using direct debit.Real-time

Accounts

The following fees are charged during onboarding.

Fee nameDescriptionReal-time or One-time
ACCOUNT_OPENING_FEEOne-time account opening fee that's charged when the customer is created.One-time
ACCOUNT_MAINTENANCE_FEEMonthly fee that's charged for account maintenance at the start of the month for the present month.One-time
ACCOUNT_INACTIVE_FEEA fee charged for inactive accounts.One-time
P2P_FEECharged per fund transfer between two customers under the same or different client program.Real-time

Cards

The following fees are charged while issuing or managing cards.

Fee NameDescriptionReal-time or One-time
PLASTIC_FEEOne-time fee for issuing a physical card.One-time
REPLACEMENT_FEEOne-time fee for replacing a physical card.One-time
VIR_CARD_FEEOne-time fee for issuing a virtual card.One-time
ADDON_CARD_FEEOne-time fee charged for each issued ADD_ON card.One-time
ATM_FEEFee charged per ATM withdrawal.Real-time
INTERNATIONAL_ATM_FEEFee charged per ATM withdrawal made outside the card’s home country.Real-time
ATM_DECLINE_FEEFee charged when an ATM transaction is declined.Real-time
NON_ATM_DECLINE_FEEFee charged when a non-ATM transaction is declined (e.g., when the merchant category code is not 6011).Real-time
ECOM_FEEFee charged per e-commerce or online transaction.Real-time
POS_FEEFee charged per point-of-sale (POS) transaction.Real-time

Real-time transactions

When a fee or FX margin is charged during a real-time transaction, a separate transaction type called Fee_Debit is created.

If the transaction is later reversed, a second transaction type, Fee_Reversal, is created. The Fee_Reversal object includes the following details:

  • feeFixedOrPercentage: Indicates if the fee is a flat amount or a percentage.
  • feeTransactionCurrency: Currency in which the fee was charged.
  • exchangeRate: If the fee was charged in a different currency than configured, this shows the FX rate used to calculate the converted fee.
  • feeAuthCurrency: Currency used during the transaction’s authorization process.
  • feeName: Name of the fee applied.
  • feeValueCurrency: Currency in which the fee is defined (before conversion).
  • feeSlab: For tiered pricing, identifies the pricing tier applied to the transaction.
  • feeValue: Amount charged as the fee.