Developer
  • Getting started keyboard_arrow_down

    Discover

    • arrow_forward
      EV Charging

      Discover our unattended POS solution for the ev market

    Our solutions

    • arrow_forward
      CCV Terminal

      Integrate with a CCV Terminal

    • arrow_forward
      SoftPOS

      Turn your own device into a payment terminal

    • arrow_forward
      CCV Online Payments

      Accepting online payments in your platform without technical knowledge

    • arrow_forward

    • arrow_forward

    Connect to the CCV Platform

    Integrate our products into your software. Let's make payment happen together!

    Look at all the possibilities
  • Documentation
menu
    • expand_more Payment API
      • expand_more General
        • Communication
        • Environments
        • Authentication
        • Idempotency
        • Transaction Types
        • Webhooks
        • Notifications
        • Error Handling
        • Security & Privacy
        • Return URL
      • expand_more Online Payments
        • expand_more Quick Start
          • Initial Setup
          • Create Payment
        • expand_more Basic Operations
          • Create A Payment
          • Refund A Payment
          • Authorise & Capture Payments
          • Query The Payment Status
        • expand_more Payment Features
          • expand_more 3D-Secure 2
            • SCA And 3D-Secure 2
            • Compliance Guide
            • Out Of Scope Transactions
            • Exemptions
          • Payment Links
          • Merchant Initiated Payments
          • Embedded Card Payments
          • Mandates
          • Customers & Loyalty
          • Partial Payment
        • expand_more Payment Methods
          • American Express
          • Apple Pay
          • Google Pay
          • expand_more Bancontact
            • Bancontact Walled Initiated Payments (WIP)
            • Bancontact Deferred Sales
          • Bancontact Mobile
          • Banktransfer
          • IDEAL
          • Klarna
          • Landingpage
          • Maestro
          • Mastercard
          • Payconiq
          • Paypal
          • Visa
        • expand_more Payouts
          • Split Payout
          • Test Payout
        • expand_more Developer Resources
          • Currencies
          • Languages
          • Payment Testing
          • Test Cards
      • expand_more In-person Payments
        • expand_more SoftPOS
          • expand_more General
            • Getting Started
            • Device Requirements
            • SoftPOS TerminalIds
            • SoftPOS Errors
            • Currencies
            • Languages
            • Network And Connectivity
            • Release Notes
          • expand_more Basic Operations
            • Install A Terminal
            • Make A Payment
            • Handling Receipts
          • expand_more API Reference
            • SoftPOS - API Reference
    • expand_more Board Your Merchants At CCV
      • expand_more General
        • Getting Started
        • Authentication
      • expand_more Boarding API
        • StartOrder
        • AddSalesPackage
        • AddProductPSPStandalone
        • AddProductPSPSubmerchant
        • AddTerminalPackage
        • SetShoppingCartPricingDetails
        • SubmitOrder
        • Boarding
      • API Reference
    • expand_more Android Rest Beta API
      • expand_more General
        • Getting Started
        • Brands
        • Supported Languages
      • expand_more Basic Operations
        • Make A Payment
        • Cancel A Payment
        • Handling Receipts
        • Show Display Messages
        • Recover A Payment
      • expand_more Payment Features
        • Authorise & Capture
        • Capture
      • expand_more Terminal Features
        • Transaction Overview
        • Brands
        • Period Closing
        • Terminal - Status
      • expand_more Tokenization
        • Tokenization - Get A Card Token
        • Read A Mifare Card
        • Custom Text On Terminal
      • expand_more API Reference
        • API Reference
    • expand_less Android SDK
      • expand_less General
        • Getting Started
        • Demo Application - Android SDK
        • Result States
        • Language Codes
        • Error Handling
        • Logging
        • EP2
        • Download SDK
        • Release Notes
      • expand_more Basic Operations
        • Make A Payment
        • Stop Ongoing Payment
        • Recover A Payment - Android SDK
      • expand_more Payment Features
        • Account Selection - Android SDK
        • Additional Receipt Text - Android SDK
        • Allow Or Deny Card Brands - Android SDK
        • Authorisation By Voice - Android SDK
        • Authorise - Android SDK
        • Capture - Android SDK
        • Card Detection - Android SDK
        • Card Detection Deprecated - Android SDK
        • Card Token - Android SDK
        • Card Validation - Android SDK
        • Customer Display - Android SDK
        • E-Receipt - Android SDK
        • Manual Card Information Entry - Android SDK
        • Payment Reversal - Android SDK
        • Refund - Android SDK
        • Request Transaction Information - Android SDK
        • Reservation - Android SDK
        • German Eichrecht - Android SDK
      • expand_more SDK Guides
        • Activate Terminal - Android SDK
        • Card Circuits - Android SDK
        • Card Reader Status - Android SDK
        • Card Reader Status - Android SDK
        • Check Password - Android SDK
        • Factory Reset - Android SDK
        • Get Config - Android SDK
        • Get Status - Android SDK
        • Mobile Phone Prepaid - Android SDK
        • Online Agent - Android SDK
        • Partial Period Closing - Android SDK
        • Period Closing - Android SDK
        • Possible Transaction Types - Android SDK
        • Retrieve Last Ticket - Android SDK
        • Retrieve Open Pre Authorisations - Android SDK
        • Startup - Android SDK
        • Taxfree - Android SDK
        • Terminal Administration - Android SDK
        • Terminal Discovery - Android SDK
        • Ticket Reprint Period Closing - Android SDK
        • Transaction Overview - Android SDK
        • Check Password - Android SDK
      • expand_more Hardware Access
        • Getting Started
        • NFC - Android SDK
        • Printing - Android SDK
        • QR And Barcode Scanner - Android SDK
      • expand_more API Reference
        • API Documentation
    • Android App Requirements
    • expand_more Certification
      • Introduction
      • expand_more Attended Certification Tests
        • expand_more Aborting
          • F1A - Regular Abort By Merchant
          • F1B - Failing Abort By Merchant
          • F1D - Hammering Abort By Merchant
        • expand_more Allowed Amounts
          • S1A - Transaction With Amount Of EUR 0,00
          • S1B - Transaction With Negative Amount
          • S1C - Transaction With Highest Possible Amount
          • S1D - Over-Amount Transaction
        • expand_more Connection Lost
          • Q1B - Manual Transaction Recovery
          • Q1C - Ethernet Connection With ITS Fails
          • Q1F - Device Unavailable
          • Q1G - Terminal Not Responding
          • T1A - Automatic Transaction Recovery
        • expand_more E Journal
          • M1A - Store E-Journal
          • M2A - ECR/POS Print Journal Receipts
          • M3A - ECR/POS Storing Journal Receipts
        • expand_more Reprint Ticket
          • L1A - Reprint Ticket
          • L1B - Reprint Ticket Declined Transaction
          • L2A - Reprint Ticket No Printer Available
          • L2B - Reprint Ticket Declined Transaction No Printer Available
        • expand_more Tickets
          • U1A - Request For Identification
          • U1B - Request For Signature
          • U1C - Request For Signature And Identification
          • U1D - Failing Transaction No Receipt
          • U1E - Split Payment
        • expand_more Time Out
          • R1A - Time Out On Presenting A Card
          • R1B - Time Out During Pin Entry
        • expand_more Transactions
          • C1A - Happy Flow
          • C1B - Happy Flow Contactless
          • C1D - Happy Flow Magnetic Stripe
          • C1E - Declined Transaction By Host
          • C1E - Transaction Aborted By Cardholder
          • C1F - Absence Of Thousand Separator
          • C1G - Cashier Display Messages
        • expand_more Validation
          • H1A - Too Many Fingers
          • H1B - Not Removing Card
          • H2A - Power Loss Or Closing Of ECR/POS During Transaction
      • expand_more Unattended Certification Tests
        • expand_more User Guidance
          • C1 - Successful Payment
          • C2 - Next Cardholder
          • C3 - Abort On PIN Entry
          • C4 - Time Out During PIN Entry
          • C5 - No Amount Entered
          • C6 - Language Selection
          • C7 - Amount To Authorise
          • C8 - Available Funds
        • expand_more Device Selection
          • D1 - Device Selection
          • D2 - Invalid Device
          • D3 - Charger Selection Abort
          • D4 - No Charger Selected
          • D5 - Authorisation With No Free Devices
        • expand_more Product Delivery
          • E1 - Product Selection
          • E2 - Enabled Products
          • E3 - Invalid Product Entered
          • E4 - Product Selection Aborted
          • E5 - No Product Selected
          • E6 - Max Delivery Time
          • E7 - Abort Session
          • E7 - Abort By POS
          • E9 - Not Started Charging In Time
          • E10 - Take More Fuel Than AVF
          • E10 - Multiple Sessions Mixed
          • E12 - Postpone Card Financial Advice On New Cardholder Card
          • E13 - Abort Session On Card Reinsert
        • expand_more Receipts
          • F1 - Cardholder Retrieve Receipt Info
          • F2 - Cardholder Receipt Retrieval
          • F3 - Reprint Ticket
          • F4 - F8 - Ticket Printing And Content
          • F9 - TrackingToken Deleted
          • F10 - Printer Paper Low
          • F11 - CardPayment Erased From Storage
          • F12 - E-Receipt Received By Cardholder
          • F13 - E-Receipt Failure
        • expand_more Transaction Limit Handeling Maestro
          • G1 - Maestro CardPayment 1 Euro
          • G2 - Maestro CardPayment 30 Euro
          • G3 - Maestro CardPayment 60 Euro
          • G4 - Maestro CardPayment 500 Euro
        • expand_more Transaction Limit Handeling Mastercard
          • H1 - Mastercard CardPayment 1 Euro
          • H2 - Mastercard CardPayment 30 Euro
          • H3 - Mastercard CardPayment 60 Euro
          • H4 - Mastercard CardPayment 500 Euro
        • expand_more Mifare Handling
          • I1 - Happy Flow Mifare
          • I2 - Unknown Mifare Card
          • I3 - No Mifare Card Presented
          • I4 - Mastercard Presented
        • expand_more Card Circuits
          • L1 - Available Card Circuits
        • expand_more Reconciliation
          • M1 - Reconciliation As Function
          • M2 - Reconciliation By New Shiftnumber
          • M3 - POS Auto Triggers Reconciliation With Closure
        • expand_more Journal
          • N1 - Journal Accessible By Authorized Employees
          • N2 - Journal Cannot Be Altered
        • expand_more Exception Flows
          • O1 - Unknown Card Session
          • O2 - Maximum Time Out
          • O3 - Device Unavailable
          • O4 - Time Out Card-Type Fallback
          • O5 - Time Out On Presenting Card
          • O6 - App Stability
          • O7 - Automatic Startup
          • O8 - Sleep Mode Not Supported
          • O8 - Sleep Mode Supported
        • expand_more Recovery
          • X1 - Recovery After Communication Failure
          • X2 - Recovery After CCV Component Update
          • X3 - Recovery After 24 Hour Reboot
          • X4 - Recovery After CCV-Fusion Client Restart
          • Y1 - Recovery After Power Failure With No Battery Backup
          • Y2 - Recovery After Power Failure With Battery Backup
      • expand_more SoftPOS Certification Tests
        • expand_more Success Scenarios
          • Installation Success - SoftPOS Certification Test
          • Payment Success - SoftPOS Certification Test
        • expand_more Failed Scenarios
          • Installation Failed - CCV SoftPOS App Not Installed - SoftPOS Certification Test
          • Payment Failed - Declined - SoftPOS Certification Test
          • Payment Failed - CCV SoftPOS App Is Closed During Payment - SoftPOS Certification Test
          • Payment Failed -CCV SoftPOS App Is Killed During Payment - SoftPOS Certification Test
          • Payment Failed - SoftPOS App Not Installed Anymore - SoftPOS Certification Test
        • expand_more Other Scenarios
          • Other Scenario - Data Cleared Of The CCV SoftPOS App - SoftPOS Certification Test
    • expand_more Development Kits
      • SoftPOS Dev Kit
      • IM30 Dev Kit
    • Glossary
Return to solutions

  • General expand_more
    • Getting started
    • Demo application
    • Result states
    • Language codes
    • Error handling
    • Logging
    • Ep2
    • Download sdk
    • Release notes
  • Basic operations expand_more
    • Make a payment
    • Stop ongoing payment
    • Recover a payment
  • Payment features expand_more
    • Account selection
    • Additional receipt text
    • Allow or deny card brands
    • Authorisation by voice
    • Authorise
    • Capture
    • Card detection
    • Card detection deprecated
    • Card token
    • Card validation
    • Customer display
    • E receipt
    • Manual card information entry
    • Payment reversal
    • Refund
    • Request transaction information
    • Reservation
    • German eichrecht
  • Terminal actions expand_more
    • Activate terminal
    • Card circuits
    • Card read
    • Card reader status
    • Check password
    • Factory reset
    • Get config
    • Get status
    • Mobile phone prepaid
    • Online agent
    • Partial period closing
    • Period closing
    • Possible transaction types
    • Reprint last ticket
    • Retrieve open pre authorisations
    • Startup
    • Taxfree
    • Terminal administration
    • Terminal discovery
    • Ticket reprint period closing
    • Transaction overview
    • Check password
  • Hardware access expand_more
    • Getting started
    • Nfc
    • Internal printer
    • Qr and barcode scanner
  • API reference expand_more
    • API reference

What's on this page

  • Error object
  • MAPIError
    • MAPIError without Result
    • MAPIError with Result
  • ResultState
General / Error Handling

Error object

The Error object consists of 2 attributes:

  • MAPIError enum
  • Optional Result containing a ResultState. This is the result that you also get with a successful transaction or terminal action.

When you receive an Error object with only the MAPIError present, you will need to follow the recommended solution in the MAPIError list below. If you get the Error object with an MAPIError and a Result object then you need to check the ResultState of the result object and follow the recommended solution for the ResultState from the ResultState list below.

Examples:

  1. Error(MAPIError.TERMINAL_CONNECTION_LOST) → See MAPIError enum list for recommended action
  2. Error(MAPIError.PAYMENT_ERROR, PaymentResult(state = “PrintLastTicket”)) → See ResultState list for recommended action

MAPIError

The MAPIError class is our only error-enum which contains all of the possible error-codes. It is part of the Error.class, which is returned in the onErrorDelegate when an issue occurs.

MAPIError without Result

MAPIError Description of root-cause Recommended solution
AMOUNT_REQUIRED Payment requires an amount and the amount must be positive. Pass a positive amount during a transaction.
BARCODE_SCAN_FAILED Something went wrong while scanning the barcode. Retry scanning the barcode. If this error still occurs, try scanning a different barcode to verify or contact support.
BARCODE_SCANNER_INITIALIZATION_FAILED Something went wrong while initializing the barcode scanner. Retry scanning the barcode. If this error still occurs, please contact support.
CARD_SERVICE_RESPONSE_DESERIALIZATION_FAILED Failed to deserialize the CardServiceResponse. Contact support.
CONNECTION_ERROR No network connection. This error can occur during the TerminalDiscovery action. Please check network settings.
CUSTOMER_SIGNATURE_NOT_PROVIDED The customer signature must be provided. Pass a customer signature that is not null or empty.
FAILED_TO_CONNECT_TO_TERMINAL Failed to connect to the terminal. Check terminal settings and network connectivity.
FLOW_ALREADY_HAPPENING A flow is currently already happening. Finish the transaction/terminal action before starting a new one.
GERMAN_EICHRECHT_VALUE_ERROR Public key and Signed Meter Value may not be empty and must be of type Hexadecimal. Pass a Public key and Signed Meter Value that is not empty and is of type Hexadecimal.
MERCHANT_REFERENCE_INVALID Merchant reference may not be empty and has a max length of 100 characters. Pass a merchant reference with a maximum length of 100 characters.
MODULE_DOES_NOT_EXISTS This module does not exist on this Pax device. Please contact support to verify if your device supports this action.
NO_CAMERA_PERMISSION No camera permission granted. Please grant camera permission to the application.
NOT_A_FLOW_HAPPENING There isn’t a flow happening at the moment. This error occurs when trying to abort a transaction when no transaction is happening.
PAYMENT_ID_INVALID Payment ID is not of type unsigned integer with a max length of 9 characters. Please start a payment with a correct requestId.
PRINTING_RECEIPT_NULL_OR_EMPTY The payment receipt that needs to be printed may not be null or empty. Pass a payment receipt that is not null or empty.
RECEIVED_UNKNOWN_MESSAGE_FROM_TERMINAL Received an unknown message from the payment terminal. Contact support.
REQUEST_ID_NOT_EQUAL The provided requestId from the Payment object is not equal to the requestId of the last payment retrieved from the terminal. Pass the RequestId of the transaction you want to recover. If the error still occurs, please contact support.
RESPONSE_TIMEOUT Response timeout occurred. When this occurs during a transaction, please perform a RecoverPayment to retrieve the transaction result.
RETRY_REPEAT_LAST_MESSAGE Terminal is unavailable, automatically retrying every 10 seconds for a maximum of 5 minutes in total The RepeatLastMessage has failed because the terminal is unavailable or busy. We will automatically retry the action every 10 seconds. You will be informed when the RepeatLastMessage has succeeded or failed completely.
SECONDARY_FLOW_ALREADY_HAPPENING A secondary flow is already happening. This error occurs when trying to abort a transaction that is already being aborted.
SEND_PASSWORD_ERROR Generating password hashcode has failed. This error occurs when trying to send the terminal password to the terminal during a terminal menu interaction. Please try again, and if this still occurs, please contact support.
SET_CAMERA_PREVIEW_FAILED Could not set camera preview. Retry scanning the barcode. If this error still occurs, please contact support.
SHIFTNUMBER_REQUIRED ShiftNumber must be present on the terminal object to get a transaction overview from the terminal. Pass a ShiftNumber when retrieving a TransactionOverview.
SOCKET_CONNECTION_ISSUE Issue with the socket connection. When this occurs during a transaction, please perform a RecoverPayment to retrieve the transaction result.
STOPPING_BARCODE_SCANNER_FAILED Could not stop the barcode scanner. Retry stopping the barcode scanner. If this error still occurs, please contact support.
TERMINAL_CONNECTION_LOST Connection lost to the terminal. When this occurs during a transaction, please perform a RecoverPayment to retrieve the transaction result.
TOKEN_ERROR An error has occurred while performing a task token transaction. The token request has failed. Please try again. If the error still occurs, please contact support.
UNSUPPORTED This operation is currently not supported. Verify the documentation for more information. Check the documentation or contact support.
WORKSTATION_ID_INVALID WorkstationId has a max length of 16 characters. Pass a WorkstationId with a maximum length of 16 characters.

MAPIError with Result

MAPIError Description of root-cause Recommended solution
ABORT_ERROR Something went wrong while performing an abort. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
CARD_READ_FAILED Could not read the card. The performed terminal action has failed. Check the included CardReadResult for more details.
CARD_READER_STATUS_FAILED Could not retrieve card reader status. The performed terminal action has failed. Check the included CardReaderResult for more details.
CARD_VALIDATION_FAILED Failed to perform a card validation. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
FINANCIAL_ADVICE_MESSAGES_FAILED Failed to receive financial advice messages. The performed transaction has failed. Check the included TokenResult for more details.
GETTING_MENU_FAILED Unable to retrieve the terminal menu. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
INITIALISATION_ERROR An error has occurred while initializing the terminal. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
OPENING_SERVICE_MENU_FAILED Unable to open the terminal service menu. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
PAYMENT_ADMINISTRATION_ERROR An error has occurred while performing a payment administration task. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
PAYMENT_ERROR Could not perform a payment. The performed transaction has failed. Check the included PaymentResult for more details.
PRE_AUTHENTICATION_FAILED Failed to perform a pre-authentication. The performed transaction has failed. Check the included TokenResult for more details.
READ_MIFARE_UID_FAILED Reading Mifare UID failed. The performed terminal action has failed. Check the included TokenResult for more details.
RECONCILIATION_WITH_CLOSURE_FAILED Could not reconcile with closure. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
REPEAT_LAST_PAYMENT_FAILED Could not repeat the last payment. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
REPRINT_LAST_TICKET_FAILED Could not reprint the last ticket. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.
REQUEST_TERMINAL_STATUS_FAILED Could not receive status from the terminal. The performed terminal action has failed. Check the included PaymentAdministrationResult for more details.

ResultState

ResultState is a part of the Result object (PaymentResult, PaymentAdministrationResult, TokenResult, CardReadResult, CardReaderResult)

ResultState Description of root-cause Recommended solution
Aborted Complete failure. The transaction was aborted on the terminal or on the POS. Retry or start a new transaction.
Busy The terminal is currently still processing a previous action. Retry every 5 seconds for a minimum of 5 times. For the RecoverPayment and RepeatLastMessage, this is done within the Android SDK.
CommunicationError Complete failure. Retry or start a new transaction.
DeviceUnavailable Complete failure. No further request will be successful because a device is temporarily unavailable due to a POS-initiated function. It is recommended to retry the function after 10 seconds. (It is up to the POS to select a proper value and limit the number of retries.)
Failure Complete failure. Retry or start a new transaction.
FormatError Complete failure. The request cannot be processed or is mistakenly formatted. Contact support.
MissingMandatoryData Complete failure. The XML request message is missing mandatory data. Contact support.
ParsingError Complete failure. The XML request message is not well formed. Contact support.
PartialFailure Some part went wrong. Unacceptable partial errors have to be reversed. Retry or start a new transaction.
PrintLastTicket Complete failure. The payment is rejected because the DeviceRequest towards Printer and/or JournalPrinter/E-Journal of the previous transaction is not answered with “Success” in time. The POS is supposed to send a ‘TicketReprint’ message to retrieve, confirm, and print/store the receipt and journal to unblock the terminal. Perform a TicketReprint.
Success Complete success. No action needed.
TimedOut Complete failure. No response from remote host or cardholder timeout. Retry or start a new transaction.
Unknown Unknown error. Contact support.
ValidationError Complete failure. The XML request message is not validated against the definition scheme. Contact support.

Go to

Home
Documentation




Cookies Privacy Statement