Skip to main content

In-Person Payments

Balance Enquiry

Last updated: 16-Jan-2024

The Balance Enquiry transaction is performed to check the Balance of any given card.

Activity

Balance_Enquiry_Flow

Sequence

Step Screen User Action Terminal Action
1.0 idle Select menu button from the idle screen Menu allows user to navigate the various supported transactions.
1.1 select_menu Select Transactions Menu and select Balance Enquiry.
  • Terminal Displays Balance Enquiry option only when Balance Enquiry Transaction is enabled.
  • On selection of Balance Enquiry, proceed to step 1.2 .
1.2 present_card_screen Insert chip card or swipe card or key-in card number or tap card.
  • Merchant is prompted to present the card.
  • For keyed-in/Manual , proceed to step 1.3 .
  • For swipe and valid magnetic stripe, proceed to step 1.6 else to step 2.8.
  • For insertion/tap and valid chip card, proceed to step 1.8 else to step 2.7.
  • On user timeout, proceed to step 2.6. The configured user timeout period(TERMINAL->USER_ENTRY_TIMEOUT]) is 30 seconds.
  • For cancel_key key press, proceed to step 2.5.
1.3 card_number_entry_screen Enter the PAN number.
  • Merchant is prompted to enter the card number.
  • If the card number is valid (Refer Business Rules for Valid Card Number), proceed to step 1.4 else it will reprompt to enter the card number.
1.4 expiry_date_entry_screen Enter Expiry Date.
  • Terminal prompts to enter expiry date.
  • The expiry date check is executed if CONFIG.CARD.EXPIRY_DATE_CHECK_ENABLED feature is enabled.
  • The provided date is checked for validity against the month and year range.
  • If expiry date is valid and CVV entry is enabled , then it proceed to step 1.5 else to step 1.7.
  • If expiry date validation fails , it proceed to step 2.7.
1.5 cvv_entry_screen Enter CVV number or press enter_key key to bypass.
  • If CVV number is entered, proceed to step 1.7 .
  • If enter_key key is pressed bypass and proceed to step 1.7.
  • If cancel_key key is pressed , proceed to step 2.5.
  • If user timeout happens, proceed to step 2.6.
1.6 select_msr_account_type_screen Select account type among savings/current/credit options. On selection, Proceed to step 1.8 .
1.7 card_present_mode_screen Select card persent mode among card_present/mail_order/phone_order options. On selection, Proceed to step 1.8.
1.8 processing_screen None. Application initiates processing with host and then proceed to step 1.8.
1.9 connected_screen None.
  • On successful connection, while communicating with host to transmit and recieve messages, terminal displays connected screen.
  • For host approve, screen is displayed with Available Balance Amount based on the below configuration paramter.

TERMINAL->BALANCE_ENQUIRY_PRINT_RECEIPT_OPTION

  • Behaviour based on the value of above configuration paramter.
  1. If value is 0 - No Receipt (proceed to step 2.0)
  2. If value is 1 - Always print Merchant Receipt (proceed to step 2.1)
  3. If value is 2 - Prompt for user input to print receipt (proceed to step 2.2)
  • For unsuccessful connection, transaction is cancelled with “communication error”.
  • For host declined, Transaction gets declined.
2.0 Approved_screen_with_balance_screen None.
  • For Approved transaction , screen is displayed with Available Balance Amount and then proceed to step 1.1.
2.1 merchant_receipt_confirmation_screen_with_balance Select Yes or No to print the Merchant Copy
  • For Approved transaction , screen is displayed with Print Receipt option alongwith Available Balance Amount.
  • If yes is selected terminal prints the Merchant copy and then proceed to step 2.2.
  • If No is selected terminal then proceed to step 2.0 .
2.2 printing_please_wait_screen_with_balance None.
  • Display to inform user that the Merchant copy of the receipt is printing.
  • Same Screen is displayed with Available Balance Amount also.
2.3 customer_receipt_confirmation_screen Selects yes or no to print the customer copy.
  • If yes is selected terminal prints the customer copy and then proceed to step 1.1 .
  • If merchant doesn’t provide input within 3 secs , timeout happens and customer receipt gets printed automatically and then proceed to step 1.1 .
2.4 card_removal_screen Remove chip card from terminal. If the Card is not removed in 10 seconds an audible beep informs the merchant to remove the card. After finishing the transaction if chip card is still present/inserted in the terminal, the terminal prompts user to remove the chip card before going back to Main menu.
2.5 operator_abort_screen5 Press cancel_key key or user timeout. Goes back to to main menu i.e step 1.1.
2.6 operator_timeout_screen6 Press cancel_key key or user timeout. Goes back to main menu i.e step 1.1.
2.7 expired_card_screen Press cancel_key key or user timeout. Goes back to step 1.1.
2.8 card_read_error_screen Press enter_key key or user timeout. Goes back to main menu i.e step 1.1.

Business Rules

1. Enable Balance Enquiry Feature:

Balance Enquiry feature is configurable (enable / disable). Balance Enquiry Menu option gets displayed if the configuration BALANCE_ENQUIRY_ENABLED under Acquirer Features Table is enabled.

2. Card Technologies:

The card technologies are enabled/disabled based on the feature configurations. The feature flags are mentioned as below.

TERMINAL->MANUAL_ENTRY_ENABLED

EMV_TERM_CONFIG->EMV_ENABLED

EMV_TERM_CONFIG->CONTACTLESS_ENABLED

CARD->LUHN_CHECK_ENABLED

3. Manual Card Entry Prompt:

Manual card entry is configurable (enable / disable) The user is prompted to enter PAN manually on selecting the numeric key on “Present Card” screen.

The PAN number and its length is validated against the configuration. The configuration paramter is mentioned below.

CARD->MAX_PAN_DIGIT (value : 19)

CARD->MIN_PAN_DIGIT (value :12)

A prompt is displayed to capture the manual card entry details from the merchant. The below options can be configured for this screen based on the merchant’s requirement. If more than two options are configured a screen is presented to select the mode or the user is presented with a screen for Expiry and CVV details.

Screen prompted for selecting Card Present Mode

card_present_mode_screen

Following are the supported prompts for Manual Card Entry mode:

  • Card Present
  • Mail Order
  • Phone Order
  • ECS
  • ECN
  • RCUR
  • Unspecified

After selecting the desired option, user will be prompted to enter Expiry and Card Verification Value (CVV) details for the card.

The prompt for the Card Verification Value (CVV) is based on the config parameter CVV_PROMPT_MODE under the card table:

  • Do not Prompt Card Verification Value (CVV) Always
  • Prompt Always
  • Prompt only when Card is not present

The Card Verification Value (CVV) details can always be skipped. If the CVV_BYPASS_REASON_ENABLED is enabled in card features table, the application captures the reason for the Card Verification Value (CVV) skip. Card Verification Value (CVV) will be prompted in 4DBC prompt if the configuration FOURDBC_PROMPT_MODE under card table is enabled.

Below are the options shown to the user to select the reason for Card Verification Value (CVV) skipping.

  • Not Provided
  • Not Readable
  • Not On Card

4. Non-Manual Card Entry Options:

The card details in - Europay, MasterCard and Visa (EMV) Transaction: will be retrieved from the chip card.

  • Magnetic Stripe Card (MSR) Transaction: will be retrieved on card swipe. The account types are displayed based on the feature configuration. The feature flags are mentioned as below.

    CARD->SAVINGS_ENABLED

    CARD->CHEQUE_ENABLED

    CARD->CREDIT_ENABLED

  • Contactless Transaction: will be retrieved upon card tap.

5. Balance Enquiry Allowed:

Balance inquiry transaction is allowed for the card presented and determine whether to continue the balance inquiry transaction or display “Not Allowed” alert in the terminal. Balance Enquiry transaction is allowed if the BALANCE_ENQUIRY_ENABLED under card features table is enabled.

6. Select and Load Acquirer:

Application data dictionary parameters influencing the business rule

Config Rule
CONFIG_CARD_ACQUIRER_INDEX Based on the selected card index, application loads the corresponding acquirer index. Which shall be used to load appropriate acquirer plugin. If the acquirer index is 0 and configuration has multiple acquire then user shall be prompted for the acquire selection, otherwise, first acquire is selected.
CONFIG_ACQUIRER_PASSIVE Select the Active Acquirer to display, Discard Passive Type with value set to either 1 or Y

On successful acquire selection tranaction data container would be updated with the folowing properties

  • AcquirerID
  • TerminalID
  • MerchantID
  • StanNo
  • AcquirerIndex
  • TxnNII
  • AcquirerBatchNumber
  • HostName

7. Host Connect:

Application uses the selected acquirer and invoke Application Programming Interface (API) initAcquirer so that the connection with the host can be established. On successful host connection is made the balance enquiry trasaction is continued otherwise, transaction would be declined.

8. Receipt Printing:

Merchant copy is printed based on the configuration parameter. Customer copy printing can be cancelled by the user. The Parameter is BALANCE_ENQUIRY_PRINT_RECEIPT_OPTION under Terminal table.

receipt printing

Configuration

Table Name Configuration Field Name Description Type Default Value Minimum (Length/Value) Maximum (Length/Value)
Acquirer Feature Table BALANCE_ENQUIRY_ENABLED Allow Balance Enquiry. Boolean N N/A N/A
Terminal Table MANUAL_ENTRY_ENABLED Allow manual card entry. Boolean Y N/A N/A
Terminal Table BALANCE_ENQUIRY_PRINT_RECEIPT_OPTION

Indicates what is to be done, after Balance Enquiry

Print Always-1

Do not Print Receipt-0

Prompt For user input to print receipt-2

Enumeration 0 N/A N/A
Terminal Table USER_ENTRY_TIMEOUT This field decides timeout in (secs) used in all user entry screen, if -1 means infinite. Numeric 30 -1 300
EMV Contactless Scheme Configuration Table CONTACTLESS_ENABLED The parameter is used to enable/disable CTLS; Y=Enable N=Disable. Boolean Y N/A N/A
EMV Contactless Scheme Configuration Table EMV_ENABLED Want to enable/disable EMV Y=Enable N=Disable. Boolean Y N/A N/A
Card Feature Table CASH_ENABLED Allow cash transaction. Boolean Y N/A N/A
Card Feature Table LUHN_CHECK_ENABLED Allow Luhn Check validation. Boolean Y N/A N/A
Card Feature Table CVV_BYPASS_REASON_ENABLED Allow CVV bypass reason selection. Boolean Y N/A N/A
Card Feature Table EXPIRY_DATE_CHECK_ENABLED Allow Expiry date validation. Boolean Y N/A N/A
Card Table CVV_PROMPT_MODE
Indicates whether CVV entry is allowed during transaction

Prompt always-1

Do not prompt-0

Prompt when card not present-2

Enumeration 1 N/A N/A
Card Table FOURDBC_PROMPT_MODE

Indicates whether FOURDBC prompt for CVV capture is allowed during transaction

Do not prompt-0

Prompt-1

Enumeration 0 N/A N/A
Card Table SAVINGS_ENABLED Allow Savings account. Boolean 0 N/A N/A
Card Table CHEQUE_ENABLED Allow Cheque transaction. Boolean 0 N/A N/A
Card Table CREDIT_ENABLED Allow Credit account. Boolean 1 N/A N/A
Card Table MIN_PAN_DIGIT Indicates the minimum length for the PAN in this range. Numeric 12 0 999999
Card Table MAX_PAN_DIGIT Indicates the maximum length for the PAN in this range. Numeric 19 0 999999

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo