About Fees

This guide describes how fees are designed in the Galileo system and what you need to know to set up your card program to assess fees.

Assessing fees

In the Galileo system, fees can be assessed automatically or at your discretion using the Program API. Galileo supports a group of standard fees and also gives you the option to assess non-standard fees. If the standard list of fees does not meet your needs, you can use your own logic to assess custom fees to your cardholders using the Program API. All fees, both standard and custom, are assessed at the product level.

Automate fees

Work with Galileo to automatically assess fees added to your products. When you automatically assess fees, the following will be true:

  • Fees are automatically assessed for all eligible events. Common examples include replacement card fees, expedited shipping fees, international ATM withdrawal, etc. See Galileo system fee values for a complete list.
  • Revenue from fees is deposited in a designated account at your partner bank. Work with your issuing bank to determine where the revenue is directed. Consult your completed Funds Flow document that Galileo provides you to determine where revenue from these fees will be directed.
  • Most fees are assessed immediately. In the event that the cardholder balance is zero, or if the account balance is less than the amount of the fee, fees can be set to pending and are processed automatically once the account balance is sufficient enough to cover the fee amount.
  • You cannot programmatically waive fees for unique situations. Instead, you can manually reverse the fee using the Reverse Fee endpoint.
  • Galileo can programmatically waive the first XX eligible fee events on an account, or waive XX instances of a given fee within a given period. For example, waive a specified fee every 365 days or waive two fee events every month. Only one fee waiver configuration can exist for a given fee type, per product. Galileo works with you to programmatically set up these rules.
  • Fee waivers can be set up on a rolling basis (30 days, 365 days) or can be set on a monthly basis (reset on the first day of each month).
  • Galileo can assess periodic fees. Periodic fee options include:
    • Dormancy Fees
    • Weekly Fees, Monthly Fees, Annual Fees

Custom fees via Program API

You have the option to assess fees using the Assess Fee endpoint. The Assess Fee endpoint ingests a unique fee code, which is specific to your program. Work with Galileo to set up three-digit fee codes for your program, along with their corresponding fee otypes, descriptions, and expiration values.

Setup requirements

The following describes the requirements for setting up fees for your program.

Obtain approval from your bank partner

Fee setup requires approval from your issuing bank. Once you secure approval from the bank, work with Galileo to set up fees on your products. If you intend to assess custom fees using the Assess Fee endpoint, work with Galileo to define the fee type and fee description. You will be provided with a three-character fee code for each custom fee type.

Adhere to compliance requirements

Work with your issuing bank and governing compliance body to ensure you adhere to any of the following requirements:

  • Most countries maintain strict regulations surrounding fee-naming conventions.
  • Most cardholder agreements must include a list of fees and the accompanying events that will incur a fee.
  • The fee names should match in every aspect of cardholder-facing documentation and within your application and website.

Establish money movement rules

Galileo can perform money movement for fees. If you plan to use custom fees to your program, coordinate with Galileo and your bank to determine who should be performing money movement, and make sure that fees are included in your funds flow. Once money movement for fees has been set up, you can configure additional fees without needing to revisit your funds flow diagram.

Fee transaction codes

The fee transaction type, also called otypes, for standard fees consists of four digits paired with the FE activity type (act_type). For example, a domestic ATM fee is FE0013 and an international ATM fee is FE0014. You can see these transaction codes in event messages, the Posted Transactions RDF, and transaction-retrieval Program API endpoints.



The type input parameter for the Assess Fee endpoint takes a 3-character code instead of the 4-digit otype shown here.

The table below contains some common fee otypes. Consult the Funds Flow document from Galileo to see which otypes you will receive. Some of your otypes may be different from what is shown in this table.

0011Annual fee
0012Cash advance fee
0013Domestic ATM fee
0014International ATM fee
0015Card-to-card transfer fee
0018Auth decline fee
0021Balance inquiry fee
0203Monthly fee
0204Express shipping fee

Fee rules

The table below contains the fee rules available for Galileo system fees. Work with Galileo to configure these rules for your program fees.

$ per transactionA flat fee for a specific amount, regardless of the transaction amount.You assess 2.00 for Domestic ATM withdrawals. Ricardo withdraws 20.00 from an ATM and pays a 2.00 fee to the program. Later, Ricardo withdraws an additional 60.00 from an ATM and pays a 2.00 fee again.
% per transaction*A fee as a percentage of the total settled transaction amount.You set up a 3% fee for international ATM withdrawals. Stephanie withdraws the equivalent of USD25.00 from an international ATM. At the time of settlement on the following day, due to changes in currency conversion rates, the amount is worth USD25.34. Stephanie pays a USD0.76 fee to the program, as a percentage of the settled transaction amount.
Negative (Y or N)Allow a fee to drive an account balance negative.When set to Y, in situations where the account balance is less than the fee amount, assess the fee and drive the account balance negative.
FloorWhen the floor is set, a minimum fee will be assessed for a qualifying fee event. A floor can be set by itself or in addition to the % per-transaction configuration.If % per-transaction is set to 3%, and the transaction amount is 10.00, the fee assessed would be 0.30. However, if the floor value is set to 1.00, the floor amount would override the smaller (% of transaction) amount, and a 1.00 fee would be assessed, instead of 0.30.
CeilingWhen the ceiling is set, a maximum fee will be assessed for a qualifying fee event. The ceiling can be set by itself, or in addition to the % per-transaction configuration.If % per transaction is set to 3%, and the transaction amount is 50.00, the fee assessed would be 1.50. However, if the ceiling value is set to 1.00, the ceiling amount would override the higher (% of transaction) amount, and a 1.00 fee would be assessed, instead of 1.50.
Pend (Y or N)Allow a fee to be assessed at a later date, prior to the fee expiring.When set to Y, in situations where the account balance is less than the fee amount, set the fee to pending and assess the fee once funds become available.

* Percent-based fees will assess a percentage of the total amount of the transaction. If an ATM operator charges a 2.95 fee to use their ATM for a 20.00 withdrawal, and a 3% fee is assessed, the fee amount will be 3% of 22.95.

Galileo system fee values

The table below contains a complete list of fees that can be programmatically set within Galileo’s system. Any fees not listed below will need to be assessed by your system using the Assess Fee endpoint.

Fee code*Fee otypeDescriptionTrigger
ACF0031Additional Card FeeA second/additional card is issued.
ACT0201Activation FeeCard is activated.
ATD 0013ATM Withdrawal FeeDomestic ATM withdrawal.
ATI0014ATM Withdrawal Fee (International)International ATM withdrawal.
BAD0028ATM Balance Inquiry Decline Fee (International)An international ATM balance inquiry is declined.
BAI0021ATM Balance Inquiry FeeAn ATM balance inquiry is made.
BII0022ATM Balance Inquiry Fee (International)An international ATM balance inquiry is made.
BPY0301Bill Pay Fee (Electronic)An electronic bill payment is made for a cardholder account.
C2C0015Card to Card FeeA cardholder sends funds to another cardholder using create account transfer, where otype: C2.
CAD0012Over-the-Counter Withdrawal FeeCash is withdrawn from the card over the counter at a participating bank.
CAI2306Over-the-Counter Withdrawal Fee (International)Cash is withdrawn from the card over the counter at a participating bank based internationally.
CAN0205Cancellation FeeAn account is canceled.
CHC0303Bill Pay Fee (Check Cancellation)A pending bill pay transaction is canceled.
CHK0302Bill Pay Fee (Paper Check)A physical check is mailed to make a bill payment.
DDD0018PIN Transaction Decline FeeAn attempt to make a purchase using PIN verification is declined.
DDI2449PIN Transaction Decline Fee (International)An attempt to make an international purchase using PIN verification is declined.
DED0025Signature Transaction Decline FeeAn attempt to make a purchase using Signature verification is declined.
DEI0026Signature Transaction Decline Fee (International)A signature-based international transaction is attempted and declined.
DOR0017Dormancy FeeAn account has no activity for a set number of days. Relies on DYNOA and FEACT product parameters.
DPP2667PayPal Load FeeFunds are loaded via PayPal where otype: DP.
FAT2887Foreign ATM ApprovedAn international ATM withdrawal is made.
FCA2886Foreign Cash Advance ApprovedA cash advance is made at an international merchant.
FTC2889Foreign Credit Transaction ApprovedAn international credit transaction is made.
FTD2890Foreign Debit Transaction ApprovedAn international debit transaction is made.
I010400Automated Voice Response FeeA call is made to the IVR for a cardholder account.
I020401Live Agent ServiceA call is made to a live agent customer service representative for a cardholder account.
IQL0219Incomm Load FeeFunds are loaded via Incomm where otype: IQ.
ITC0220Signature Transaction Fee (International)A signature-based international transaction is made.
ITD2448PIN Transaction Fee (International)A PIN-based international transaction is made.
LAT0001Late FeeCredit only. A credit card payment is not received before its due date.
LOA0210Load FeeUsed when there is a fee on a load_limit.
MAI0204Express Shipping FeeShip Type is set to 2 in the CST or when featureType: 5 is set to Y using the Set Account Feature endpoint.
MGR2627Load Fee MGFunds are loaded via MoneyGram where otype: MG.
MON0203Monthly FeeFee assessed once a month. Relies on CYCLE, CYDAY, and CYMET product parameters.
ODT2229Overdraft Transaction FeeOverdraft funds are used or transferred from the overdraft account to the primary account.
OVR1002Over Limit FeeA transaction is made that exceeds the available balance.
PAP0020Paper Statement (Mail)A paper statement is sent to the cardholder.
1006Return Check FeeA bill pay check is returned.
REP0218Replacement Card FeeA card is marked lost/stolen and a card is replaced as a result.
RL00210Retail Load FeeFunds are loaded using Program API where otype: RL
SND0208Send Cash FeeFunds are sent using Create ACH Transaction where creditDebitIndicator: D.
SPY2626Load Fee WUFunds are loaded via Western Union where otype: SP.
TMD0023ATM Decline FeeAn ATM transaction is declined.
TMI0024ATM Decline Fee (International)An international ATM transaction is declined.
TRC0029Signature Transaction FeeA purchase is made using Signature verification at a merchant POS.
TRD2487PIN Transaction FeeA purchase is made using PIN verification at a merchant POS.
VIL 2646Load Fee VRLFunds are loaded via Visa ReadyLink where otype: VL.
WEK2226Weekly FeeSeven days have passed.
YER0011Annual Fee365 days have passed.

* As seen in the Galileo Client Console (GCC). The Galileo system fee code is different from the three-digit fee code used with Assess Fee.

Card transaction fees

Some fees are assessed during authorization. For example, Aaron withdraws 20.00 from an out-of-network ATM and you charge an ATM withdrawal fee (ATD) of 2.95. The ATM operator charges a 3.50 convenience fee. The authorization amount for this transaction is therefore 26.45. If Aaron has an available balance of 25.43 on her account, this authorization is declined. If Aaron has an available balance equal to or greater than 26.45, the transaction would be authorized.

The authorization for this transaction will show 26.45 in the Authorized Transactions RDF, the CST, and Program API responses. Settlement will show two transactions, one representing 23.50, and the other showing the 2.95 fee. Consult ATM Withdrawal Card Transaction Scenario for an example ATM withdrawal with a fee.

At settlement, the record for this transaction will be split into two separate amounts. One will show the 23.50 withdrawal, and the other will show the 2.95 fee.

For examples of ATM fee assessment, consult these pages:

Link fees to original authorizations

Fees triggered by authorizations are linked in both the RDFs and Events API. Use the ORIGINAL AUTH CODE in the Posted Transactions RDF to connect a fee to the transaction that triggered the fee. The BFEE: fee event message can be configured to include the fee_auth field, which links a fee event back to the original authorization.

Fees assessed using the Assess Fee endpoint do not have a connection to their triggering events.

Fee reporting

Reporting for fees can be located in the Post Transactions RDF and gAnalytics.

The Posted Transactions RDF contains fee details in the following fields:

  • NEGATIVE BALANCE FEE AMOUNT — Identifies the amount of a fee(s) assessed to an account when the account was driven negative.
  • AUTHORIZATION CODE — A Galileo-generated identifier for the transaction. Pair this value with the first two characters of TRANSACTION CODE/TYPE to create an identifier that is unique across all transactions.

Galileo Analytics (gAnalytics) contains fee details in the following:

  • Rollforward report — Contains a summary of various types of financial activities, including fees.
  • Settlement-BIN Summary report — Shows all settlement activity related to card-network transactions, including fees.
  • Fee Overview report — Shows the total amounts for various types of fees for the selected date range. Data is available at daily, weekly, and monthly levels.
  • Fee Monthly Summary report — Shows the fee trend, average fee per cardholder, and how many active accounts were not charged a fee.
  • Fee Reversal Summary report — Shows a summary of all fee reversals for the selected date range. Data is available at daily, weekly, and monthly levels.
  • Revenue report — Shows the total revenue generated by your products during the past 12 months. Includes an option to view revenue by fee type, among other categories.

Pending fees

In the case where an account has sufficient balance to cover a fee, the fee will be processed. However, if an account balance is 0.00 or less than the amount of the fee, you have the option to set a fee to a pending status (pend). You determine if a fee can be set to pending or not.



If a fee is not configured to pend, a fee will not be assessed for the given scenario. In some cases, this will cause the original process to fail. For example, if a REP (replacement card) fee cannot be assessed for a lost or stolen card because of insufficient funds, the card-replacement process stops.

If a fee is configured to pend and the account does not have sufficient balance to cover the fee, the fee will remain in a pending status until the fee is assessed or the pending fee expires. Galileo will automatically assess a pending fee any time the account balance increases to a value equal to or above the amount of the fee, with the exception of monthly fees. Galileo checks once daily to see whether the cardholder balance is sufficient to assess a pending monthly fee.

If there are multiple pending fees, fees are assessed in the order they were created once funds become available. To cancel a fee in pending status, use the Reverse Fee endpoint.

To see a list of pending fees for a customer's account, call Get Pending Fees endpoint.

Expiring fees

Fees can be configured to expire after a number of days. If a fee does not drive an account balance negative, and the fee is set to pend, then the fee remains in a pending state until the fee expires. Fees expire after a set number of calendar days, defined for each fee. Most commonly, a fee expires after 90 days.

  • Use the Get Pending Fees endpoint to retrieve the fees that have not yet been processed against the specified customer account.

Fees in the Galileo Client Console

In the Galileo Client Console (GCC), you can view the fees that have been configured for each product. Select the product page, and then open the Fees dialog. You can see the name of the fee, the 3-character code, the otype, the fee amount (flat or percentage), the expiry days, and what to do if the account has insufficient funds. In the example below, two flat fees for 2.50 have been configured for cash withdrawals and international ATM withdrawals.

Assessing custom fees

Custom fees can be assessed either as a percentage for a flat fee. When you call Assess Fee endpoint, pass either transAmount for percentage fees or amount for flat fee, depending on the type of fee that is specified in type. Do not populate both fields. Below are details on the fees types:

  • Percentage — To assess a percent of a transaction, populate transAmount with the transaction amount, and a percentage of that amount will be assessed. For example, if the fee in type is 3%, and transAmount is 100, then the endpoint will assess a 3.00 fee
  • Flat fee – To assess a flat fee, populate amount with the amount of the fee. For example, if the fee in type is 1.50, then pass amount: 1.50 for the amount to assess.

Reversing a fee

If a fee was assessed by Galileo, based on your product setup:

  1. Retrieve the feeId using the Get Fee History endpoint.
  2. Use the Reverse Fee endpoint to reverse the fee.
  3. Pass the feeId of the endpoint request to be reversed, instead of passing a new value.

If you assessed a fee using the Assess Fee endpoint:

  1. Use the Reverse Fee endpoint to reverse the fee.
  2. Pass the transactionId of the endpoint request to be reversed, instead of passing a new value.

Alternatively, you can use the Galileo CST to post an adjustment to the account. Fee reversal types vary based on the fee type that is being reversed.

If a fee is programmatically accessed, such as an ATM fee, and the ATM operator reverses the transaction, Galileo does not reverse the associated fee. You must reverse it yourself using the Reverse Fee endpoint, or you can decide not to reverse the fee, according to your business plan.

Events API

These following event messages are sent via the Events API when a fee occurred:

  • BFEE: fee — A fee was posted to the specified account.
  • FREV: fee_reversal — A fee that was posted to the specified account has been reversed.