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
  • API Reference
menu
    • expand_less 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
          • Cancel A Payment
          • Query The Payment Status
          • Query Merchant Balance
        • expand_more Payment Features
          • expand_more 3D-Secure 2
            • SCA And 3D-Secure 2
            • Compliance Guide
            • Out Of Scope Transactions
            • Exemptions
          • Payment Links
          • Merchant And Customer Initiated Payments
          • Deferred Sales
          • Embedded Card Payments
          • Mandates
          • PAN/IBAN Tokens
          • Secure Vault
          • Customers & Loyalty
          • Partial Payment
          • Void Payments
        • expand_more Payment Methods
          • American Express
          • Apple Pay
          • Google Pay
          • expand_more Bancontact
            • Bancontact Mobile PCI Payments
            • Bancontact Walled Initiated Payments (WIP)
            • Bancontact Deferred Sales
          • Bancontact Mobile
          • Banktransfer
          • IDEAL
          • Klarna
          • Landingpage
          • Maestro
          • Mastercard
          • Paypal
          • SoftPos
          • Terminal
          • Visa
        • expand_more Payouts
          • Split Payout
          • Test Payout
        • expand_more Developer Resources
          • Sequence Info
          • Currencies
          • Languages
          • Payment Testing
          • Test Cards
      • expand_less In-person Payments
        • expand_less SoftPOS
          • expand_more General
            • Getting Started
            • Device Requirements
            • SoftPOS TerminalIds
            • SoftPOS Errors
            • Currencies
            • Languages
            • Network And Connectivity
            • European Accessibility Act
            • Release Notes
          • expand_less Basic Operations
            • Install A Terminal
            • Make A Payment
            • Check Terminal Status
            • expand_less Refund A Payment
              • Card Present Refund
              • Card Not Present Refund
            • 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
    • Android App Requirements
    • expand_more Android SDK
      • expand_more 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
        • Partial Approval - Android SDK
        • Refund - Android SDK
        • Request Transaction Information - Android SDK
        • Voucher Transactions - Android SDK
        • Reservation - Android SDK
        • Account Verification - Android SDK
        • German Eichrecht - Android SDK
      • expand_more SDK Guides
        • Activate Terminal - Android SDK
        • Login - Android SDK
        • Card Circuits - Android SDK
        • Card Reader Status - Android SDK
        • GetStatus - Android SDK
        • Card Reader Status - Android SDK
        • Check Password - Android SDK
        • Repeat Last Service Message - Android SDK
        • Elme Execute Cron Jobs - Android SDK
        • Factory Reset - Android SDK
        • Get Config - 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
        • ShowSales - 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
        • Terminal Reboot - Android SDK
      • expand_more API Reference
        • API Documentation
    • expand_more Cloud Connect EVC
      • expand_more General
        • Release Notes
    • 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

Payment API

  • General
    • Communication
    • Environments
    • Authentication
    • Idempotency
    • Transaction Types
    • Webhooks
    • Notifications
    • Error Handling
    • Security & Privacy
    • Return URL
  • Online Payments
    • Quick Start expand_more
      • Initial Setup
      • Create Payment
    • Basic Operations expand_more
      • Create A Payment
      • Refund A Payment
      • Authorise & Capture Payments
      • Cancel A Payment
      • Query The Payment Status
      • Query Merchant Balance
    • Payment Features expand_more
      • 3D-Secure 2 expand_more
        • SCA And 3D-Secure 2
        • Compliance Guide
        • Out Of Scope Transactions
        • Exemptions
      • Payment Links
      • Merchant And Customer Initiated Payments
      • Deferred Sales
      • Embedded Card Payments
      • Mandates
      • PAN/IBAN Tokens
      • Secure Vault
      • Customers & Loyalty
      • Partial Payment
      • Void Payments
    • Payment Methods expand_more
      • American Express
      • Apple Pay
      • Google Pay
      • Bancontact expand_more
        • Bancontact Mobile PCI Payments
        • Bancontact Walled Initiated Payments (WIP)
        • Bancontact Deferred Sales
      • Bancontact Mobile
      • Banktransfer
      • IDEAL
      • Klarna
      • Landingpage
      • Maestro
      • Mastercard
      • Paypal
      • SoftPos
      • Terminal
      • Visa
    • Payouts expand_more
      • Split Payout
      • Test Payout
    • Developer Resources expand_more
      • Sequence Info
      • Currencies
      • Languages
      • Payment Testing
      • Test Cards
  • In-person Payments
    • SoftPOS
      • General expand_more
        • Getting Started
        • Device Requirements
        • SoftPOS TerminalIds
        • SoftPOS Errors
        • Currencies
        • Languages
        • Network And Connectivity
        • European Accessibility Act
        • Release Notes
      • Basic Operations
        • Install A Terminal
        • Make A Payment
        • Check Terminal Status
        • Refund A Payment
          • Card Present Refund
          • Card Not Present Refund
        • Handling Receipts
      • API Reference expand_more
        • SoftPOS - API Reference

What's on this page

  • Refund: Card Not Present
      • API Request
      • API Response
    • Get the transaction result
In-person Payments / SoftPOS / Basic Operations / Refund A Payment / Card Not Present Refund

Refund: Card Not Present

The refund is initiated via the API, without the need for the customer to be physically present.

Following conditions apply to the Refund Card Not Present functionality:

  • Refunds exceeding the original transaction amount are not permitted.
  • Partial refunds are supported by specifying the desired amount in the API request.
  • The maximum refund period is 92 days.
    (in our test environment, this is limited to 2 days).
  • Depending on the acquiring contract, additional restrictions may apply:
    • Maximum amount per refund
    • Maximum refundable amount per day

API Request

  • End-point: /api/v1/refund
  • Method: POST​
  • Authentication: API Key
  • Request Headers
    • Content-Type: application/json​

Request parameters

Parameter Description
reference The unique reference for the payment transaction this payment is attempting to refund.
amount The refund amount (optional). If not provided, the Payment amount will be refunded.
details.cardPresent Must be false

Example

{
  "reference": SP123456789ABC123456ABC123.A,
  "details": {
    "cardPresent": "false"
  }
}

API Response

Response parameters

Parameter Description
status The status of the refund.
reference An unique reference for the refund transaction, used to retrieve transaction result.
method Fixed value: softpos
type Fixed value: refund
language Echo from Payment.
currency Echo from Payment.
lastUpdate The local server datetime the refund was updated, epoch timestamp.
created The local server datetime the refund was created, epoch timestamp.
methodTransactionId A reference used to refund a payment (Card Present).
amount The refund amount.
merchantOrderReference Echo from Payment (if included).
brand Echo from Payment.
originalReference Echo from Request.
details.terminalId The terminal id as assigned by CCV.

Example

{
  "status": "pending",
  "reference": "SP123456789ABC123456ABC123.B",
  "method": "softpos",
  "type": "refund",
  "language": "eng",
  "currency": "eur",
  "lastUpdate": 1761920500,
  "created": 1761920495,
  "methodTransactionId": "SP123456789ABC123456ABC123.A",
  "amount": 0.01,
  "merchantOrderReference": "Test1234",
  "brand": "visa",
  "originalReference": "SP123456789ABC123456ABC123.A",
  "details": {
    "terminalId": "123456"
  }
}

Get the transaction result

The refund status and receipts can be retrieved by fetching the transaction details via the Payment API.

API Request​

  • End-point: /api/v1/transaction
  • Method: GET​
  • Authentication: API Key
  • Request Headers
    • Content-Type: application/json​
  • Query parameter
    • reference: the reference of the response of the refund API request

API Response

Response parameters

Parameter Description
status The status of the refund.
reference An unique reference for the refund transaction, used to retrieve transaction result.
merchantOrderReference Echo from Payment (if included).
amount The refund amount.
type Fixed value: refund
currency Echo from Payment.
language Echo from Payment.
method Fixed value: softpos
brand Echo from Payment.
entryMode Fixed value: instore
methodTransactionId A reference used to refund a payment (Card Present).
created The local server datetime the transaction was created, epoch timestamp.
lastUpdate The local server datetime the transaction was updated, epoch timestamp.
statusFinalDate The local server datetime the transaction reached a final status, epoch timestamp.
originalReference The unique reference for the payment transaction this payment is attempting to refund.
details.terminalId The terminal id as assigned by CCV.
details.customerReceipt The receipt for the customer as an escaped JSON string. The content can be parsed to a JSON array
details.journalReceipt The journal receipt for the merchant as an escaped JSON string. The content can be parsed to a JSON array
details.eJournal The E-Journal for the merchant as an escaped JSON string. The content can be parsed to a XML.
details.receiptData Additional receipt data that can be parsed to JSON Object..

Example

{
  "status": "success",
  "reference": "SP123456789ABC123456ABC123.B",
  "merchantOrderReference": "Test1234",
  "amount": 0.01,
  "type": "refund",
  "currency": "eur",
  "language": "eng",
  "method": "softpos",
  "brand": "visa",
  "entryMode": "instore",
  "methodTransactionId": "SP123456789ABC123456ABC123.A",
  "created": 1761920495,
  "lastUpdate": 1761920500,
  "statusFinalDate": 1761920500,
  "originalReference": "SP123456789ABC123456ABC123.A",
  "details": {
    "terminalId": "123456",
    "customerReceipt": "[\"Customer's receipt\",\" \",\"CCV\",\"ARNHEM\",\" \",\"Terminal: ****3456\",\"Merchant: ****3456\",\" \",\"Retrieval reference: 123abc123\",\" \",\"Transaction: bfa7293e-3d9b-f9b3-887e-d37089e1b4d8\",\" \",\"MASTERCARD(a0000000041010)\",\"Card: xxxxxxxxxxxxx1234\",\"Card Sequence Nr: 00\",\" \",\"REFUND\",\"Date: 31/10/2025 15:11\",\"Auth. code: 123456\",\"Merchant Ref.: Test1234\",\" \",\"Total: 0.01 EUR\",\" \",\"ACCEPTED\"]",
    "journalReceipt": "[\"Merchant's receipt\",\" \",\"CCV\",\"ARNHEM\",\" \",\"Terminal: CT123456\",\"Merchant: 123456\",\" \",\"Retrieval reference: 123abc123\",\" \",\"Transaction: bfa7293e-3d9b-f9b3-887e-d37089e1b4d8\",\" \",\"MASTERCARD(a0000000041010)\",\"Card: xxxxxxxxxxxxx1234\",\"Card Sequence Nr: 00\",\" \",\"PAYMENT\",\"Date: 31/10/2025 15:11\",\"Auth. code: 123456\",\"Merchant Ref.: Test1234\",\" \",\"Total: 0.01 EUR\",\" \",\"ACCEPTED\"]",
    "eJournal": "<E-Journal><ShopInfo><CardAcceptorName>CCV</CardAcceptorName><CardAcceptorLocation>ARNHEM</CardAcceptorLocation><CardAcceptorIdentifier>123456</CardAcceptorIdentifier><TerminalIdentifier>CT123456</TerminalIdentifier></ShopInfo><TransactionInfo><TransactionIdentifier>bfa7293e-3d9b-f9b3-887e-d37089e1b4d8</TransactionIdentifier><ServiceLabelName>REFUND</ServiceLabelName><DateAndTime>31/10/2025 15:11</DateAndTime><AuthorisationCode>123456</AuthorisationCode><MerchantReference>Test1234</MerchantReference><TotalAmount Currency=\"EUR\">0.01</TotalAmount><TransactionResultText>ACCEPTED</TransactionResultText></TransactionInfo><CardInfo><ApplicationIdentifier>DEBIT MASTERCARD</ApplicationIdentifier><CardNumber>xxxxxxxxxxxxx1234</CardNumber><CardSequenceNumber>00</CardSequenceNumber></CardInfo></E-Journal>"
    "receiptData": "{\"transactionId\":\"bfa7293e-3d9b-f9b3-887e-d37089e1b4d8\",\"retrievalReferenceNumber\":\"123abc123\",\"merchantOrderReference\":\"Test1234\",\"terminalId\":\"CT123456\",\"merchantId\":\"123456\",\"merchantName\":\"CCV\",\"merchantLocation\":\"ARNHEM\",\"merchantLanguage\":\"eng\",\"aid\":\"a0000000041010\",\"brand\":\"DEBIT MASTERCARD\",\"cardPreferredName\":null,\"maskedCardNumber\":\"xxxxxxxxxxxxx1234\",\"panEnd\":\"1234\",\"cardSequenceNumber\":\"00\",\"transactionType\":\"refund\",\"timeStampUtc\":\"2025-10-31T14:11:45.213Z\",\"requestDateTimeFormatted\":\"31/10/2025 15:11\",\"amount\":1,\"amountFormatted\":\"0.01\",\"currency\":\"EUR\",\"authorisationCode\":\"123456\",\"acquirerResponse\":\"APPROVED\",\"cardholderVerificationMethod\":\"NONE\",\"posEntryMode\":\"CONTACTLESS\",\"localTransactionDateTimeIso\":\"2025-10-31T15:11:36\",\"localTransactionDateTimeFormatted\":\"31/10/2025 15:11\"}",
  }
}

Go to

Home
Documentation




Cookies Privacy Statement