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.
Note
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. Some of your otypes may be different from what is shown in this table.
otype | Description |
---|---|
0011 | Annual fee |
0012 | Cash advance fee |
0013 | Domestic ATM fee |
0014 | International ATM fee |
0015 | Card-to-card transfer fee |
0018 | Auth decline fee |
0021 | Balance inquiry fee |
0203 | Monthly fee |
0204 | Express 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.
Rule | Description | Example |
---|---|---|
$ per transaction | A 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. |
Floor | When 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. |
Ceiling | When 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 otype | Description | Trigger |
---|---|---|---|
ACF | 0031 | Additional Card Fee | A second/additional card is issued. |
ACT | 0201 | Activation Fee | Card is activated. |
ATD | 0013 | ATM Withdrawal Fee | Domestic ATM withdrawal. |
ATI | 0014 | ATM Withdrawal Fee (International) | International ATM withdrawal. |
BAD | 0028 | ATM Balance Inquiry Decline Fee (International) | An international ATM balance inquiry is declined. |
BAI | 0021 | ATM Balance Inquiry Fee | An ATM balance inquiry is made. |
BII | 0022 | ATM Balance Inquiry Fee (International) | An international ATM balance inquiry is made. |
BPY | 0301 | Bill Pay Fee (Electronic) | An electronic bill payment is made for a cardholder account. |
C2C | 0015 | Card to Card Fee | A cardholder sends funds to another cardholder using create account transfer, where otype: C2 . |
CAD | 0012 | Over-the-Counter Withdrawal Fee | Cash is withdrawn from the card over the counter at a participating bank. |
CAI | 2306 | Over-the-Counter Withdrawal Fee (International) | Cash is withdrawn from the card over the counter at a participating bank based internationally. |
CAN | 0205 | Cancellation Fee | An account is canceled. |
CHC | 0303 | Bill Pay Fee (Check Cancellation) | A pending bill pay transaction is canceled. |
CHK | 0302 | Bill Pay Fee (Paper Check) | A physical check is mailed to make a bill payment. |
DDD | 0018 | PIN Transaction Decline Fee | An attempt to make a purchase using PIN verification is declined. |
DDI | 2449 | PIN Transaction Decline Fee (International) | An attempt to make an international purchase using PIN verification is declined. |
DED | 0025 | Signature Transaction Decline Fee | An attempt to make a purchase using Signature verification is declined. |
DEI | 0026 | Signature Transaction Decline Fee (International) | A signature-based international transaction is attempted and declined. |
DOR | 0017 | Dormancy Fee | An account has no activity for a set number of days. Relies on DYNOA and FEACT product parameters. |
DPP | 2667 | PayPal Load Fee | Funds are loaded via PayPal where otype: DP . |
FAT | 2887 | Foreign ATM Approved | An international ATM withdrawal is made. |
FCA | 2886 | Foreign Cash Advance Approved | A cash advance is made at an international merchant. |
FTC | 2889 | Foreign Credit Transaction Approved | An international credit transaction is made. |
FTD | 2890 | Foreign Debit Transaction Approved | An international debit transaction is made. |
I01 | 0400 | Automated Voice Response Fee | A call is made to the IVR for a cardholder account. |
I02 | 0401 | Live Agent Service | A call is made to a live agent customer service representative for a cardholder account. |
IQL | 0219 | Incomm Load Fee | Funds are loaded via Incomm where otype: IQ . |
ITC | 0220 | Signature Transaction Fee (International) | A signature-based international transaction is made. |
ITD | 2448 | PIN Transaction Fee (International) | A PIN-based international transaction is made. |
LAT | 0001 | Late Fee | Credit only. A credit card payment is not received before its due date. |
LOA | 0210 | Load Fee | Used when there is a fee on a load_limit or for incoming wires. |
MAI | 0204 | Express Shipping Fee | Mail by in the CST is Express Shipping or featureType: 5 is set to Y or 2 using the Set Account Feature endpoint. |
MGR | 2627 | Load Fee MG | Funds are loaded via MoneyGram where otype: MG . |
MON | 0203 | Monthly Fee | Fee assessed once a month. Relies on CYCLE, CYDAY, and CYMET product parameters. |
ODT | 2229 | Overdraft Transaction Fee | Overdraft funds are used or transferred from the overdraft account to the primary account. |
OVR | 1002 | Over Limit Fee | A transaction is made that exceeds the available balance. |
PAP | 0020 | Paper Statement (Mail) | A paper statement is sent to the cardholder. |
PMA | 0204 | Priority Mail Shipping Fee | Mail by in the CST is set to Priority Mail or featureType: 5 is set to 3 using the Set Account Feature endpoint. |
RCH RET | 1006 | Return Check Fee | A bill pay check is returned. |
REP | 0218 | Replacement Card Fee | A card is marked lost/stolen and a card is replaced as a result. |
RL0 | 0210 | Retail Load Fee | Funds are loaded using Program API where otype: RL |
SND | 0208 | Send Cash Fee | Funds are sent using Create ACH Transaction where creditDebitIndicator: D . |
SPY | 2626 | Load Fee WU | Funds are loaded via Western Union where otype: SP . |
TMD | 0023 | ATM Decline Fee | An ATM transaction is declined. |
TMI | 0024 | ATM Decline Fee (International) | An international ATM transaction is declined. |
TRC | 0029 | Signature Transaction Fee | A purchase is made using Signature verification at a merchant POS. |
TRD | 2487 | PIN Transaction Fee | A purchase is made using PIN verification at a merchant POS. |
VIL | 2646 | Load Fee VRL | Funds are loaded via Visa ReadyLink where otype: VL . |
WEK | 2226 | Weekly Fee | Seven days have passed. |
WTR | 0207 | Wire Transfer Fee | A wire is sent. |
YER | 0011 | Annual Fee | 365 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 his 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:
- ATM Withdrawal in Card Transaction Examples
- Scenario 11: ATM Withdrawal
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 ofTRANSACTION 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.
Note
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%, andtransAmount
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 intype
is 1.50, then passamount
: 1.50 for the amount to assess.
Reversing a fee
If a fee was assessed by Galileo, based on your product setup:
- Retrieve the
feeId
using the Get Fee History endpoint. - Use the Reverse Fee endpoint to reverse the fee.
- 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:
- Use the Reverse Fee endpoint to reverse the fee.
- 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.
Updated about 2 months ago