Colombia ATM Issuer Fee Inquiries

For Mastercards issued in Colombia, cardholders who want to withdraw cash at Colombian ATMs are first shown the total amount of fees that will be applied to the withdrawal, and the cardholder decides whether to accept the fee or to cancel the transaction.

To display this fee, the ATM's acquirer sends an ATM fee inquiry to the issuer, and the issuer responds with the fee amount for that withdrawal. The issuer fee can be a flat per-transaction rate or a percentage of the withdrawal amount. The acquirer then adds any fees it intends to apply and displays the total to the cardholder. When the cardholder accepts the fee, the ATM sends a conventional ATM withdrawal request.

Transaction sequence

  1. At the ATM, the cardholder inputs the amount of cash to withdraw.
  2. The ATM acquirer sends an ATM Issuer Fee Inquiry to Galileo.
  3. Galileo verifies that the PIN and other information is correct.
  4. Galileo verifies that the account is eligible for an issuer-fee inquiry. Galileo will deny the request under these circumstances:
    • If the prod_id for the account is not set up for ATM issuer-fee inquiries
    • If the request is coming from a country that is not eligible to make issuer-fee inquiries. In this case the originating country must be Colombia.
    • Galileo does not determine whether there are sufficient funds for the transaction at this time.
  5. If you are using the Auth API, Galileo sends the Auth API message to you.
    • The proposed amount of the cash withdrawal is in trans_amount.
    • Galileo populates the fee_amount field with the amount configured for the ATD fee, which can be either a flat amount or a percentage of trans_amount.
    • The Auth API message includes the aifi_fields object, which contains information specific to this request type.
    • You can deny the transaction if you determine that the account or transaction is not eligible for an ATM issuer-fee inquiry. You cannot deny the transaction for insufficient funds.
  6. When approved, Galileo returns response_code: 85, which is "success" for non-financial transactions.
  7. Galileo sends you the AIFI: atm_issuer_fee_inquiry event message with otype: A.
  8. The acquirer combines the issuer fee with any fees the acquirer will charge and presents the amount to the cardholder.
  9. The cardholder either accepts the fee or cancels the transaction.
  10. If the cardholder accepts, then the acquirer sends a conventional auth request for an ATM withdrawal.
  11. Galileo combines the ATM withdrawal amount from the ATM acquirer with the issuer fee to get the authorization amount.
    • If there are insufficient funds, Galileo denies the withdrawal request and sends the DAUT: denied_auth event message.
    • If there are sufficient funds, Galileo approves the request and sends BAUT: auth with otype: W.
  12. A day or two later, Mastercard sends the settlement batch file. The withdrawal is included in the file but the inquiry transaction is not, because it is a non-financial transaction.
  13. Galileo posts the settlement for the withdrawal and sends the SETL: setl event message.. The amount is the cash withdrawal plus any ATM acquirer fee.
  14. Galileo posts the issuer fee separately and sends the BFEE: fee event message. The fee_auth field in the event message links the fee with the auth_id of the original withdrawal.

Viewing the ATM issuer-fee inquiry

You can see the issuer-fee inquiries as follows:

The transaction type for the inquiry is AUA (credit rails) or DBA (debit rails).

This table shows the inquiry and withdrawal transactions that are returned by Get All Transaction History. Amounts shown in Colombian pesos.

  • Beginning available balance — 10,000,000
  • Withdrawal amount — 200,000
  • Issuer fee — 15,000
  • ATM operator fee — 10,000
amtauth_idtrans_codesource_idcalculated_balanceauth_ts
101111AUA1111100000002025-03-10 09:00:00
2-2250001122DBW112297750002025-03-10 09:01:00
3225000BDW1122100000002025-03-11 06:30:00
4-2100001122SDW112297900002025-03-11 06:30:00
5-150001122FE0013557797750002025-03-11 06:30:00
  • Row 1 — The ATM's acquirer sends an ATM Issuer-Fee Inquiry. There is no identifier to link this inquiry with the withdrawal.
  • Row 2 — The cardholder accepts the fees, and the ATM sends a conventional ATM withdrawal request. As with other ATM withdrawals, the issuer fee (15000) and the ATM fee (10000.00) are included in the request amount.
  • Rows 3–4 — The next day, Mastercard sends the settlement batch file with the ATM withdrawal. Galileo backs out the full amount and then posts the settlement for 210000, which is the withdrawal amount plus the ATM fee.
  • Row 5 — Galileo posts the issuer fee (15000) as a separate transaction.

Auth API fields

If you are using the Auth API, you receive the aifi_fields object:

"aifi_fields": {
 	"issuer_fee_inquiry_indicator": "01",
 	"pos_transaction_status": "8",
 	"issuer_fee_amt": "15000.00"
}
  • issuer_fee_inquiry_indicator — From DE112SE35, 01 indicates an issuer-fee inquiry request
  • pos_transaction_status — From DE061SF7, 8 indicates account-status inquiry (ASI) service
  • issuer_fee_amount — From DE112SE36, this is the issuer fee, which in the Galileo system is the ATD (domestic ATM) fee. This amount is displayed to the cardholder as the issuer fee.

These other fields in the Auth API are significant in an issuer-fee inquiry:

"auth_type": "Auth",
"transaction_type": "ATM",
"amounts": {
 	"trans_amount": "225000.00"
},
"network": "Mastercard",
"subnetwork": "Mastercard Banknet",
"mti": "0100"
  • trans_amount — The amount the cardholder wants to withdraw from the ATM.
  • mti — 0100 if it arrives over Mastercard credit rails or 0200 if it arrives over Maestro rails.