Skip to main content

In-Person Payments

Cash Only

Last updated: 03-Jan-2024

Cash Only is a banking transaction where a cardholder can withdraw money by using the Terminal. In this feature, the merchant provides cash to the customers without making a purchase transaction. Cash only transactions can be carried out by using both debit and credit cards.

It can be performed through manual PAN Key Entry (PKE), swipe card, insert chip card, and contactless functionalities.

Activity

cash_only

PKE

PKE

Host and Terminal

host_terminal

Receipt

receipt

Sequence

Step Screen User Action Terminal Action
1.0 co_idle Press menu_active button on the idle screen to open the menu. Skip to the next step.
1.1 co_menu Select Transaction. It allows the merchant to select the available transaction type. Proceed to the next step.
1.2 co_cashonly Scroll through the Transaction menu to select Cash Only transaction.
  • The Cash Only is enabled in TERMINAL_FEATURE -> CASHONLY_ENABLED.
  • If selected Cash Only transaction, proceed to the next step.
  • If cancel_key key is pressed, proceed to step 3.3.
1.3 co_enter_amt Enter the amount of cash to be withdrawn and press enter_key key.
  • Proceed to the next step.
  • If cancel_key key is pressed, proceed to step 3.3.
1.4 co_present_card
Select any one of the below options to make the transaction:
  • Insert chip card
  • Swipe card
  • Manual key entry
  • Tap contactless card
  • The card technologies are enabled based on the below configurations:
    • EMV_TERM_CONFIG -> CONTACTLESS_ENABLED,EMV_ENABLED
    • TERMINAL -> MANUAL_ENTRY_ENABLED
  • For Chip Insert Mode:
    • If chip data is validated, proceed to step 2.1.
    • If the card is not inserted properly or chip data is not validated, proceed to step 2.7.
    • If the chip failure, swipe the card only when the fallback option is enabled in EMV_TERM_CONFIG table -> TECHNICAL_FALLBACK_ENABLED and proceed to step 1.5.
    • If the card is removed before transaction processing, proceed to step 3.0.
  • For Swipe:
    • If the card is swiped properly, proceed to step 1.5.
    • If the card is not swiped properly, proceed to step 2.8.
  • For Manual Card Entry:
    • If the card number is keyed in, proceed to step 1.6.
  • For Contactless:
    • For contactless cards, the transaction limit is configured in EMVCT_SCHEME_CONFIG table -> TXN_LIMIT.
    • If the contactless card is read correctly, proceed to step 2.1.
    • If the contactless card is not read correctly, proceed to step 2.9.
  • If the card is not presented within the time-out period that is configured in TERMINAL table -> USER_ENTRY_TIMEOUT, proceed to step 3.2.
  • If cancel_key key is pressed, proceed to step 3.3.
1.5 co_swipe Enter PIN and press enter_key key.
  • For the correct PIN, proceed to step 2.1
  • For incorrect PIN, proceed to step 3.1
  • If PIN Bypass is supported, proceed to step 2.1.
  • If the PIN is not entered within the time-out period which is configured in TERMINAL table -> PIN_ENTRY_TIMEOUT, proceed to step 3.2.
  • If cancel_key key is pressed, proceed to step 3.3.
1.6 co_card_num Enter Card Number and press enter_key key.
  • Proceed to the next step. The length of the card number is configured in CARD table -> MIN_PAN_DIGIT: 12 and MAX_PAN_DIGIT: 19.
  • If cancel_key key is pressed, proceed to step 3.3.
1.7 co_ex_date Enter the Expiry Date of the card which is in ‘MM/YY’ format. Press enter_key key.
  • If the correct expiry date is entered, proceed to the next step. Expiry date check is enabled in CARD table -> EXPIRY_DATE_CHECK_ENABLED.
  • If the incorrect expired date is entered, the terminal displays Invalid Date. Proceed to step 2.6.
  • If cancel_key key is pressed, proceed to step 3.3.
1.8 co_cvv Enter the 3 digit CVV number which is present at the backside of the card. Press enter_key key.
  • If the correct CVV is entered, proceed to step 2.1.
  • If an incorrect CVV is entered and the host has declined the transaction, proceed to step 3.4.
  • If CVV is bypassed, proceed to the next step.
  • If an invalid CVV is entered with less than 3 digits, proceed to step 3.5.
  • If cancel_key key is pressed, proceed to step 3.3.
1.9 co_cvv_bypas Select the relevant reason for CVV bypass and press enter_key key to proceed with the transaction. Skip to the next step.
2.0 co_processing None The application tries to communicate to the host and authorise it.
2.1 co_approved None The terminal has received an approval response from the host. Proceed to the next step.
2.2 co_customer_copy Press enter_key key to generate a customer copy. If not required, press cancel_key key.
  • The terminal prints the merchant receipt if pressed enter_key key.
  • If the merchant does not provide input within 3 secs, the customer copies prints automatically.
  • If cancel_key key is pressed, proceed to step 1.0.
  • Once the transaction is done if the chipcard is still inserted in the terminal, proceed to the next step.
2.3 co_removed_card Remove card The terminal prompts the user to remove the chip card before going back to the main menu.
2.4 co_invalid_num Press cancel_key key or user timeout. Goes back to step 1.6.
2.5 co_invalid_ex Press cancel_key key or user timeout. Goes back to step 1.8.
2.6 co_card_not_read Press cancel_key key and insert the card again.
  • If the card is read properly, proceed to step 2.1.
  • If cancelled, proceed to step 3.3.
2.7 co_swipe_fail Press cancel_key key and swipe the card again.
  • If the card is swiped properly, proceed to step 2.1.
  • If cancelled, proceed to step 3.3.
2.8 co_contactless_not_read Press cancel_key key or retap the contactless card again.
  • The user can also select other transaction types.
    • If the manual is selected, proceed to step 1.6.
    • If the card is inserted and validated, proceed to step 2.1.
    • If the card is swiped properly, proceed to step 2.1.
  • If cancelled, proceed to step 3.3.
2.9 co_card_removed Press cancel_key key or user timeout. Goes back to step 1.0.
3.0 co_timeout Press cancel_key key or user timeout. Goes back to step 1.0.
3.1 co_cancelled Press cancel_key key or user timeout. Goes back to step 1.0.
3.2 co_declined None. Goes back to step 1.0.

Business Rules

1. Minimum Cash Limit:

After the merchant enters the amount of cash required by the customer and inserts/swipes/enter the card, the Terminal verifies the amount against the minimum cash limit.

If the amount entered is below the minimum cash limit, the Terminal will display an error message and request the merchant to re-enter the amount.

2. Cashback:

When Cash Only is to be used, the Terminal does not support Cashback.

3. Error Handling:

In the event of an application being unable to read the ICC, an attended Terminal provides the option to process a transaction even if the first insert fails.

The user is prompted to re-insert the ICC. If the chip error persists, then the user is prompted to swipe the card. The card can be swiped or inserted 3 times, after which the transaction declines.

All magnetic stripe fallback transactions shall be flagged as such in BOTH authorisation and settlement messages.

All transactions that fall back from ICC to magnetic stripe shall be online authorised by the card issuer.

4. Receipt Printing:

Invariably, prints the Merchant copy. Prints customer copy on user’s choice.

Configuration

Terminal Table Configuration Field Name Description Type Default Value Minimum (Length/Value) Maximum (Length/Value)
Terminal Feature Table CASHONLY_ENABLED Allow cash-only transactions. Boolean Y N/A N/A
Card Feature Table CASH_ENABLED Allow cash transactions. Boolean Y N/A N/A
Terminal Table MANUAL_ENTRY_ENABLED Allow manual card entry. Boolean Y N/A N/A
Card Feature Table CVV_ENABLED Allow CVV entry. Boolean Y N/A N/A
Card Feature Table CVV_BYPASS_REASON_ENABLED Allow CVV to bypass reason selection. Boolean Y 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
Card Table EXPIRY_DATE_CHECK_ENABLED Allow expiry date check. Boolean 1 N/A N/A
Card Table PIN_BYPASS_ENABLED Allow PIN bypass at PIN entry prompt. Boolean 1 N/A N/A
EMV Terminal Configuration Table EMV_ENABLED Allows you to enable/disable EMV; Y=Enable N=Disable. Boolean Y N/A N/A
EMV Terminal Configuration Table CONTACTLESS_ENABLED Allows you to enable/disable CTLS; Y=Enable, N=Disable. Boolean Y N/A N/A
EMV Terminal Configuration Table TECHNICAL_FALLBACK_ENABLED Allows you to technical fallback for card-present failure mode; Y=Enable, N=Disable. Boolean Y N/A N/A
EMV Contactless Scheme Configuration Table TXN_LIMIT Indicates the transaction amount above which a contactless transaction is not allowed. String 000000010000 N/A 12
Terminal Table USER_ENTRY_TIMEOUT This field decides timeout in (secs) used in all user entry screens if -1 means were infinite. Numeric 30 -1 300
Terminal Table PIN_ENTRY_TIMEOUT This field decides the timeout in (secs) for Pin entry, if -1 means infinite. Numeric 10 -1 300

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