Skip to main content

SCA Functional Specification

GET_CARD_DATA

Last updated: 04-Dec-2024

This command retrieves card data using the payment device and sends it to the POS.

Device UI Required: Yes

Request Packet
Field Rule Type Minimum Maximum Value(s) Description
FUNCTION_TYPE Required Static value N/A N/A PAYMENT Type of function
COMMAND Required Static value N/A N/A GET_CARD_DATA Command name
DISPLAY_TEXT1 Optional Character 1 50   Displays text line 1. Example: PLEASE SWIPE OR INSERT YOUR CREDIT CARD
DISPLAY_TEXT2 Optional Character 1 50   Displays text line 2. Example: TO LOOK UP YOUR ORDER
DISPLAY_TEXT3 Optional Character 1 50   Displays text line 3. Example: MUST BE CARD USED TO PLACE ORDER
CARD_INPUT_METHOD Required List    
  • SWIPE
  • TAP
  • INSERT
This is the input method for card entry mode. This inputs should be pipe delimited. Example: SWIPE|INSERT
POS_RECON Optional Character 1 30   POS reconciliation. POS Reconciliation field to be echoed back in response to POS. Example: RetailPOS1
COUNTER Required Numeric 1 10   COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is used to authenticate the POS. Example: 100
MAC Required Base64 Encoded Data       Message Authentication Code. This is used to authenticate the POS.
MAC_LABEL Required Character 1 50   Associated label that tells the device which MAC_KEY to use to decrypt the value of MAC. This is used to authenticate the POS. Example: REG1
Example

Following is an example of request packet

<TRANSACTION>
    <FUNCTION_TYPE>DEVICE</FUNCTION_TYPE>
    <COMMAND>GET_CARD_DATA</COMMAND>
    <DISPLAY_TEXT1>PLEASE SWIPE OR INSERT YOUR CREDIT CARD</DISPLAY_TEXT1>
    <DISPLAY_TEXT2>TO LOOKUP YOUR ORDER</DISPLAY_TEXT2>
    <DISPLAY_TEXT3>MUST BE CARD USED TO PLACE ORDER</DISPLAY_TEXT3>
    <CARD_INPUT_METHOD>SWIPE|INSERT</CARD_INPUT_METHOD>
    <COUNTER>1</COUNTER>
    <MAC></MAC>
    <MAC_LABEL>REG2</MAC_LABEL>
    </TRANSACTION>
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: CARD DATA RECEIVED
RESULT Character   This indicates the Result details. Example: OK
RESULT_CODE Numeric Expected result code: -1, 59001, 59006, 59040 This indicates the result code. Refer to Result/Error Codes for details.
TERMINATION_STATUS Character SUCCESS or FAILURE This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE.
COUNTER Numeric   Echoes counter sent in the request. Example: 100
CARD_TRACK1 Character   Returns card track 1 data. Example: T1 DATA UNFORMATTED
CARD_TRACK2 Character   Returns card track 2 data. Example: T2 DATA UNFORMATTED
CARD_TRACK3 Character   Returns card track 3 data. Example: T3 DATA UNFORMATTED
ACCT_NUM Character   Returns the account number. PCI card data will be masked. PCI cards will not return track data fields. Example: 73439839838938398
CARD_EXP_MONTH Numeric   Card expiry month. Example: 12
CARD_EXP_YEAR Numeric   Card expiry year. Example: 19
CARDHOLDER Character   Conditionally returns for swiped cards. Example: TEST
CARD_ENTRY_MODE Character   Returns card entry mode values. Refer to Card Entry Mode for details on possible values. Example: SWIPE
POS_RECON Character   POS reconciliation field echoed back if sent in request. Example: RetailPOS1
Example

Following is an example of response packet

<RESPONSE>
    <RESPONSE_TEXT>CARD DATA RECEIVED</RESPONSE_TEXT>
    <RESULT>OK</RESULT>
    <RESULT_CODE>-1</RESULT_CODE>
    <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
    <COUNTER>1</COUNTER>
    <CARD_TRACK2> T2 DATA UNFORMATTED</CARD_TRACK2>
    <ACCT_NUM>73439839838938398</ACCT_NUM>
    <CARD_EXP_MONTH>12</CARD_EXP_MONTH>
    <CARD_EXP_YEAR>19</CARD_EXP_YEAR>
    <CARDHOLDER>TEST</CARDHOLDER>
    <CARD_ENTRY_MODE>SWIPE</CARD_ENTRY_MODE>
    </RESPONSE>

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