Skip to main content

SCA Functional Specification

Point Device Codes

Last updated: 04-Dec-2024

The following table includes a complete listing of results that originate from POS.

  

Note

With a few exceptions, RESULT_CODE -1 normally has TERMINATION_STATUS field as SUCCESS. For rest of all the result codes TERMINATION_STATUS field will be FAILURE.

RESULT_CODE RESULT RESPONSE_TEXT Comments
-1 OK (specific to each operation) [successful operation]. The operation completed successfully. For COMMANDs such as SAF > QUERY, this does not indicate that records returned, but that the operation succeeded without an error.
2 OK TRANSACTION IN FLIGHT  
5 OK CARD ENTRY SCREEN  
6 ERROR CARD READ ERROR (for TAP, INSERT and SWIPE)  
7 ERROR USE CHIP READER  
8 ERROR CHIP ERROR, SWIPE CARD (Insert Card - Error Retry Exceeded)  
9 OK REMOVE CARD  
10 ERROR REDO WITHOUT CTLS  
11 ERROR REDO WITH CTLS  
12 ERROR PRESENT ONE CARD  
13 ERROR APPLICATION NOT AVAILABLE  
14 ERROR APPLICATION NOT AVAILABLE, SWIPE CARD (Empty Candidate List)  
19 FIELD_ERROR MAC_LABEL does not exist  
40001 ERROR Base 64 Encode ERROR  
40002 ERROR Resp Encryption ERROR  
40006 ERROR Decryption ERROR  
40007   MAC/MAC_LABEL not found or MAC_LABEL missing  
40009   Entry code mismatch for REGISTER  
56023 INVOICE MISMATCH Invoice mismatched when Overriding the duplicate transaction.  
56783 DUPLICATE TRANSACTION PINPad detected the duplicate transaction and locally declined the transaction.  
59001 CANCELLED Transaction Cancelled (Engage) Cancelled by [text] or due to [text] (59001) Cancelled by [TIMEOUT | CUSTOMER]. The current COMMAND was cancelled by the customer, by a timeout value, or by another actor in the transaction. Could also be cancelled due to low battery.
59002 BUSY DEVICE IS BUSY (59002) The device is currently processing another request.
59003 BUSY SESSION in progress (59003) The device has a current SESSION open and cannot open another. This error may occur when the FINISH command was not sent for the previous session.
59004 ERROR No SESSION (59004) Command requires a SESSION to be in progress. Send SESSION>START command to begin a new session.
59005 ERROR Unsupported operation: [operation being performed] (59005) Operation is not supported.
59006 ERROR [COMMAND] not supported by [DEVICE | [processor]] (59006) Command listed is not supported by the device, the merchant, or by the merchant’s payment processing company.
59007 ERROR Bad Card Read (example, card swipe max exceeded) (59007) or Card Data Not Valid (example, swiping a ‘debit only’ card for a credit card return transaction)(59007) MSR or Contactless reader on the device was not able to read / parse the card data or invalid card data.
59008 ERROR CARD NOT VALID FOR MERCHANT  
59009 ERROR INVALID CARD DATA  
59010 ERROR MANUAL ENTRY NOT ALLOWED FOR THIS CARD or Invalid Card Length  
59011 ERROR Swipe Only  
59013   Card has expired NOTE: Applies to Vantiv Direct.
59014     NOTE: Applies to Vantiv Direct.
59020 INTERNAL_ERROR [System error] (59020) The device has encountered a system error.
59021 INTERNAL_ERROR [VSP library error] (59021) The device has encountered an error with the VeriShield library.
59022 INTERNAL_ERROR [device application error FA/XPI/CommSvr] (59022) The device has encountered an error with the VeriShield library.
59023 COMM_ERROR Unable to connect to [URL]: [reason] (59023) The device is unable to connect to the URL.
59024 COMM_ERROR Connection timeout with [URL] (59024) The connection timed out with the URL.
59025 COMM_ERROR Connection disrupted with [URL] : [reason] (59025) The connection was disrupted during communication with the URL.
59026 COMM ERROR Response timeout with [URL] (59026) The host did not respond before the device’s response timeout.
59027 ERROR XML Error: [error] (59027) Incoming request from POS is not valid XML.
59028 ERROR Configuration Error: [error] (59028) Device has a configuration error. A common configuration error is “Configuration Error: No Admin Packet”
59029 ERROR OUT OF MEMORY Device does not have enough available RAM to run an operation.
59030 ERROR DLL NOT LOADED A service plug-in DLL did not initialize properly.
59040 ERROR MAC mismatch or PIN mismatch (59040) Device compared the field with an expected value and it did not match.
59041 FIELD_ERROR Invalid combination: [field1], [field2] (59041) This error occurs when the intent of the POS is unclear because of the combination of fields submitted in the request. An example of this error is “Invalid combination: AUTH_CODE, CTROUTD”. This error would occur when sending both the AUTH_CODE and CTROUTD in a CAPTURE command because AUTH_CODE signifies that the command should be an offline transaction and CTROUTD indicates that the transaction is a PWC follow-on transaction.
59042 FIELD_ERROR [field] is required (59042) The field listed is required for the request.
59043 ERROR May specify error with SAF REMOVE. May specify error with SAF REMOVE.
59044 FIELD_ERROR [field] already exists (59044) The field’s value should be unique but is not. This error would occur, for example, if a second line item was submitted with the same LINE_ITEM_ID.
59045 FIELD_ERROR [field] does not exist (59045) The field’s unique value does not have a correspond record. This error would occur, for example, if an OFFER line item referenced a LINE_ITEM_ID that did not yet exist.
59046 FIELD_ERROR [value] not a valid value for [field] (59046) The field has an invalid value. If the value is too large or the nature of the value is sensitive, Result Code 59043 will be used instead.
59047 FIELD_ERROR [numeric field] cannot be negative (59047) The field’s value cannot be a negative number.
59048 FIELD_ERROR [numeric field] must be greater than 0 (59048) The field’s value must be greater than 0.
59049 CANCELLED Cancelled by POS  
59050 REBOOTED POS Initiated Reboot  
59051 FAILURE Maximum POS connections reached (when POS sends REGISTER command) POS Registration Exceeded the Allowed Maximum Limit. The maximum number of POS connections has been reached (default maximum = 10). Perform the UNREGISTER or UNREGISTER ALL command.
59052 ERR_NO_UPDATES No updates to apply when POS sends APPLYUPDATES command. Sent as result code instead of 59005 when there are no updates to apply in response to APPLYUPDATES command.
59053 ERROR SAF EDIT NOT ALLOWED/NO SAF RECORDS FOUND.
SAF record was not updated or does not exist while attempting SAF EDIT.
  • <RESPONSE>
    <RESPONSE_TEXT>SAF EDIT NOT ALLOWED</RESPONSE_TEXT>
    <RESULT>ERROR</RESULT>
    <RESULT_CODE>59053</RESULT_CODE>
    <TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
    <COUNTER>58</COUNTER>
    </RESPONSE>
    
  • <RESPONSE>
    <RESPONSE_TEXT>NO SAF RECORDS FOUND</RESPONSE_TEXT>
    <RESULT>ERROR</RESULT>
    <RESULT_CODE>59053</RESULT_CODE>
    <TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
    <COUNTER>59</COUNTER>
    </RESPONSE>
    
59063   ERR_59063_DETAIL_REPORT  
59064   ERR_59064_CLERK_REPORT  
59065   ERR_59065_CLERK_DETAIL  
59066   ERR_59066_IRS_TIP  
59067 ERROR PINPAD Not Connected/ PINPAD DISCONNECTED If the PIN Pad disconnects before card read as part of the transaction, then RESPONSE_TEXT is sent as PIN Pad Disconnected, remaining fields will remain.
59068 ERROR Cancelled Due to Low Battery When a POS command is sent to the terminal running 10% or below battery%, this will return result code 59068.
59069 ERROR Confirmation Unexpected  
59070 FIELD_ERROR Incorrect Confirmation Value  
59074 DECLINED Call for Authorization
This result code is sent back to POS based on certain Response Code, Processor ID and Payment Media from Processor/Gateway with the following scenerios:
  • Processor IDs can be configured to any number and each Processor ID can contain list of allowed payment types for which this result code (CALL FOR AUTH) can be sent.
  • Each Processor ID can contain list of payment medias, for which this result code (CALL FOR AUTH) can be sent. Also each payment media can contain list of allowed host response codes, for which this result code (CALL FOR AUTH) can be sent. Following configurable parameters are required to set to generate this result code: CALLFORAUTHPROCID_1, CALLFORAUTHPYMTTYPES_1, CALLFORAUTHPYMTMEDIALIST_1, CALLFORAUTHHOSTRESPCODES_1. Following configurable parameters are required to set to generate this result code:
    • Example for PWC-Worldpay:
      CALLFORAUTHPROCID_1=SP53
      CALLFORAUTHPYMTTYPES_1=CHECK-CREDIT-DEBIT
      CALLFORAUTHPYMTMEDIALIST_1=CHECK-AMEX-DISC-MC-VISA-DEBIT
      CALLFORAUTHHOSTRESPCODES_1=05,12,61,91,65,57-704-701,702,740,794,796-601-601,602,696-601,602,696,701,702,704,740,794,796.
      Where, SP53 is the Processor ID is assigned to Worldpay.
    • Example for PWC-Fiserv:
      CALLFORAUTHPROCID_1=RCNASH
      CALLFORAUTHPYMTTYPES_1=CHECK-CREDIT-DEBIT
      CALLFORAUTHPYMTMEDIALIST_1=CHECK-AMEX-DISC-MC-VISA-DEBIT
      CALLFORAUTHHOSTRESPCODES_1=107.
      Where, RCNASH is the Processor ID is assigned to FISERV.
59076 ERROR User Input Mismatch This is to send back to POS in response to CREDIT_APP command request when the re-entered value does not match the initially entered value.
59077 ERROR DCC Not Allowed  
59080 ERROR STARTUP FAILED, DEVICE LOCKED
This error code is to indicate the application startup failure. Following sample response is returned, when any command is sent on the primary port when SCA application is in the state of startup failure:
  • <RESPONSE>
    <RESPONSE_TEXT>STARTUP FAILED, DEVICE LOCKED</RESPONSE_TEXT>
    <RESULT>ERROR</RESULT>
    <RESULT_CODE>59080</RESULT_CODE>
    <TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
    </RESPONSE>
    
59081 BUSY DEVICE IS BUSY
This result code indicates when CAPK update is in progress.
  • <RESPONSE>
    <RESPONSE_TEXT>DEVICE IS BUSY</RESPONSE_TEXT>
    <RESULT>BUSY</RESULT>
    <RESULT_CODE>59081</RESULT_CODE>
    <TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
    <COUNTER>7</COUNTER>
    </RESPONSE>
    
61001 DECLINE-REFERRAL   Sent as result code for cases such as Call for Voice Authorization
99994 ERROR STARTUP PROCESS RUNNING. PLEASE WAIT.  
99995 ERROR PROCESS ENGINE IN UNKNOWN STATE Process engine is in unknown state. Contact support if condition persists.
99996 ERROR PROCESS ENGINE SUSPENDED. PLEASE WAIT. Process engine has been suspended. Contact support if condition persists.
99997 ERROR PROCESS ENGINE STARTING. PLEASE WAIT. Process engine is still starting. Wait for 30 seconds and retry.
99998 ERROR PROCESS CONFIGURATION LOADING. PLEASE WAIT. Process engine is still loading its configuration. Wait for 30 seconds and retry.
99999 ERROR PROCESS ENGINE FAULTED. RESTART. Process engine has terminated abnormally. Contact support if condition persists.
999995   SAF NOT ALLOWED – SAF TOTAL LIMIT EXCEEDED  
999997   SAF NOT ALLOWED MAX RECORDS REACHED  
999998 DECLINED SAF NOT ALLOWED or UNABLE TO AUTHORIZE (example, Token Query 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