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_less 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_less 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_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
        • 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

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
      • Query The Payment Status
    • Payment Features
      • 3D-Secure 2 expand_more
        • 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
    • Payment Methods expand_more
      • American Express
      • Apple Pay
      • Google Pay
      • Bancontact expand_more
        • Bancontact Walled Initiated Payments (WIP)
        • Bancontact Deferred Sales
      • Bancontact Mobile
      • Banktransfer
      • IDEAL
      • Klarna
      • Landingpage
      • Maestro
      • Mastercard
      • Payconiq
      • Paypal
      • Visa
    • Payouts expand_more
      • Split Payout
      • Test Payout
    • Developer Resources expand_more
      • Currencies
      • Languages
      • Payment Testing
      • Test Cards
  • In-person Payments
    • SoftPOS expand_more
      • General expand_more
        • Getting Started
        • Device Requirements
        • SoftPOS TerminalIds
        • SoftPOS Errors
        • Currencies
        • Languages
        • Network And Connectivity
        • Release Notes
      • Basic Operations expand_more
        • Install A Terminal
        • Make A Payment
        • Handling Receipts
      • API Reference expand_more
        • SoftPOS - API Reference

What's on this page

  • Introduction
  • Knowledge Base
    • Typical Use Cases
  • Storing Card Details in the Vault
    • Obtaining Vault Access Token with just an enrollment, without a financial first transaction
    • Obtaining Vault Access Token during a financial first transaction
      • Request
      • Response
  • Using a Vault Access Token
    • Merchant Initiated Payment (MIT)
      • Request
      • Response
    • Customer Initiated Payment (CIT)
      • Response
  • FAQ
    • Can I use the Vault for Customer Initiated Payments (CIT)?
    • Can I use the Vault for Merchant Initiated Payments (MIT)?
    • Can I use the Vault for recurring payments?
    • Can I use the Vault for unscheduled payments?
    • Do I have to store the initial transaction ID myself?
    • What if i do not want to store it myself?
    • Can I use the Vault for Bancontact Wallet Initiated Payments (WIP)?
    • Can I use the Vault for Apple Pay?
    • Can I use the Vault for Google Pay?
    • Can I use the Vault for other methods than card?
    • Can I use the Vault in combination with authorise and capture?
    • What happens if a Subsequent / Recurring transaction fails?
    • What should I do if I want to use the Token Vault? Can I use it by default?
Online Payments / Payment Features / Merchant Initiated Payments

Introduction

CCV supports the ability for merchants to initiate payments on behalf of their customers. This is useful in scenarios where the customer is not present or where the customer has given permission to the merchant to initiate payments on their behalf.

This is done by a feature called a Token Vault. The Vault allows you to store card details securely and use them for future payments.

Note

The vault can also be used for future payments where the customer is present.

Note

We have a brand new API for doing MIT transactions. See our Mandates API for more information.

Note

For Bancontact Wallet Initiated Payments (WIP) see Bancontact WIP.

Knowledge Base

  • The Token Vault is PCI DSS compliant.
  • We only store card details securely in the Vault. We do not store any other personal information.
  • When doing a transaction with a vault access token, it is necessary to provide the sequence info in the payment request to indicate what is the nature of the payment.
    • Is the customer present or not.
    • Is the payment a recurring payment or an unscheduled payment.
  • It is required to include the initialTransactionId in the sequenceInfo in the payment request when using a vault access token.
  • By default, a Vault Access Token is expired and erased when the card expires.

Typical Use Cases

  • Merchant initiated payments (MIT) - where the customer is not present.
  • Customer initiated payments (CIT) - where the customer is present, but the card details are stored in the Token Vault.

Storing Card Details in the Vault

In this scenario the user will enter their card details via the Vault.

Obtaining Vault Access Token with just an enrollment, without a financial first transaction

  1. The customer indicates he wants to store their card details in the Vault.

  2. The merchant initiates a vault transaction using the API.

    Example request

    curl --basic --user apikey: -H "Content-Type: application/json" --data '{
        "dataType": "card",
        "returnUrl": "http://shop/return?order=123456",
        "language": "eng",
        "description": "Enter card details for use in MyService",
        "merchantOrderReference": "123456",
        "returnUrl": "https://shop/return?order=123456",
        "webhookUrl": "https://shop/hook?order=123456"
    }' https://api.psp.ccv.eu/api/v1/vault/initiate
    
  3. We will validate the request and send a pending vault transaction as response: Example response

    {
      "merchantOrderReference" : "123456",
      "returnUrl" : "https://shop/return?order=123456",
      "webhookUrl": "https://shop/hook?order=123456",
      "language" : "eng",
      "lastUpdate" : 1450871254946,
      "payUrl" : "https://onlinepayments.ccv.eu/vault/card.html?reference=C151223124734945CB87E191.0",
      "reference" : "V170802142051429CB87E199.2",
      "created" : 1450871254946,
      "method" : "vault",
      "type" : "token",
      "description": "Enter card details for use in MyService",
      "status" : "pending"
    }
    
  4. In order to have the card data entered you will have to redirect the customer to the payUrl as generated for this transaction.

  5. The customer will be presented with a card form and be requested to fill in their card details.

  6. When the customer submits their card details we will process that Card details and store them in the Vault. We will then redirect the customer to the returnUrl and call the webhookUrl.

  7. Then you can check the status of the transaction and the Vault Access Token:

    Example request

    curl --basic --user apikey: https://api.psp.ccv.eu/api/v1/transaction?reference=V170802142051429CB87E199.2
    

    Example response

    {
      "merchantOrderReference" : "123456",
      "returnUrl" : "http://shop/return?order=123456",
      "webhookUrl": "https://shop/hook?order=123456",
      "language" : "eng",
      "lastUpdate" : 1450871414476,
      "payUrl" : "https://onlinepayments.ccv.eu/vault/card.html?reference=V170802142051429CB87E199.2",
      "reference" : "V170802142051429CB87E199.2",
      "created" : 1450871254959,
      "method" : "vault",
      "type" : "token",
      "description" : "Enter card details for use in MyService",
      "status" : "success",
      "details" : {
        "dataType" : "card",
        "expirationDuration" : "P0Y2M1DT0H0M0.000S",
        "expirationTimestamp" : 1457871414476,
        "vaultAccessToken" : "5C810B0AD0B1BC0926EBEA53",
        "brand" : "mastercard",
        "maskedPan" : "XXXXXXXXXXXXX4227",
        "initialTransactionId": "ABC23456282"
      }
    }
    
  8. After effect of completing a payment (successfully or not) we will notify you using a webhook. This allows you to perform additional operations in your system like sending an email to your customer.

Obtaining Vault Access Token during a financial first transaction

You can also obtain a vault access token during a payment eg, when doing a first payment.

Request

curl --request POST \
--url https://api.psp.ccv.eu/api/v1/payment \
--user X: \
--header 'Content-Type: application/json' \
-d '{
  "amount": 10.00,
  "currency": "eur",
  "method": "card",
  "returnUrl": "https://shop/return?order=123456",
  "webhookUrl": "https://shop/payhook?order=123456",
  "merchantOrderReference": "123456",
  "description": "Order 123456",
  "language": "eng",
  "transactionType" : "sale",
  "storeInVault": "yes"
}'

Response

{
  "status": "success",
  "description": "Order 123456",
  "reference": "C250324151052457CB87E19D.Y",
  "method": "card",
  "type": "sale",
  "language": "eng",
  "currency": "eur",
  "merchantOrderReference": "123456",
  "lastUpdate": 1742825476594,
  "entryMode": "ecom",
  "returnUrl": "https://shop/return?order=123456",
  "details": {
    "scaToken": true,
    "maskedPan": "4000XXXXXXXX0028",
    "acquirerResponseCode": "00",
    "vaultAccessToken": "VAULT_ACCESS_TOKEN",
    "dataType": "card",
    "expirationTimestamp": 1745417476578,
    "acquirer": "Valitor",
    "cardholderLastName": "dfg",
    "authenticationProtocol": "3DS2",
    "acquirerResponseCodeDescription": "Approved",
    "expiryDate": "1225",
    "cardholderFirstName": "dfg",
    "expirationDuration": "P0Y0M30DT0H0M0.000S",
    "brand": "visa",
    "authenticationStatus": "Y",
    "initialTransactionId": "ABC23456282"
  },
  "cancelUrl": "https://api.psp.ccv.eu/api/v1/cancel?reference=C250324151052457CB87E19D.Y",
  "created": 1742825452464,
  "amount": 10.00,
  "brand": "visa",
  "payUrl": "https://onlinepayments.ccv.eu/card/payment.html?reference=C250324151052457CB87E19D.Y",
  "statusFinalDate": 1742825476594,
  "methodTransactionId": "5m8btX"
}

Using a Vault Access Token

When you have a Vault Access Token, you can use it to perform a payment without the need for the customer to enter their card details again.

Merchant Initiated Payment (MIT)

You can start a MIT payment using a vault access token with the following example. This will execute the payment with the data from the saved card details immediately without user interaction.

Request

curl --request POST \
--url https://api.psp.ccv.eu/api/v1/payment \
--user X: \
--header 'Content-Type: application/json' \

-d '{
  "method": "card",
  "amount": "5.00",
  "currency": "eur",
  "language": "nld",
  "returnUrl": "https://shop/return?order=123456",
  "merchantOrderReference": "My Order 123456",
  "details": {
    "vaultAccessToken": "VAULT_ACCESS_TOKEN",
    "initialTransactionId: "ABC1235671"
  },
  "sequenceInfo": {
    "type": "UNSCHEDULED",
    "mode": "SUBSEQUENT",
    "source": "MIT"
  }
}'

Response

{
  "status": "success",
  "reference": "C250324145223810CB87E194.Y",
  "method": "card",
  "type": "sale",
  "language": "nld",
  "currency": "eur",
  "lastUpdate": 1742824343856,
  "returnUrl": "https://shop/return?order=123456",
  "merchantOrderReference": "My Order 123456",
  "details": {
    "cardholderFirstName": "dfgd",
    "initialTransactionId": "SomeSchemeTrxId22chars",
    "maskedPan": "4000XXXXXXXX0028",
    "cardholderLastName": "dfg"
  },
  "cancelUrl": "https://api.psp.ccv.eu/api/v1/cancel?reference=C250324145223810CB87E194.Y",
  "created": 1742824343823,
  "amount": 5.00,
  "brand": "visa",
  "payUrl": "https://onlinepayments.ccv.eu/card/payment.html?reference=C250324145223810CB87E194.Y",
  "methodTransactionId": "9kFB9V"
}

Customer Initiated Payment (CIT)

You can start a CIT payment using a vault access token with the following example. This will execute the payment with the data from the saved card details after the customer has authenticated themselves using the payUrl. You should redirect the customer to the payUrl to authenticate themselves.

curl --request POST \
--url https://api.psp.ccv.eu/api/v1/payment \
--user X: \
--header 'Content-Type: application/json' \

-d '{
  "method": "card",
  "amount": "5.00",
  "currency": "eur",
  "language": "nld",
  "returnUrl": "https://shop/return?order=123456",
  "merchantOrderReference": "My Order 123456",
  "details": {
    "vaultAccessToken": "VAULT_ACCESS_TOKEN",
    "initialTransactionId: "ABC1235671"
  },
  "sequenceInfo": {
    "type": "UNSCHEDULED",
    "mode": "SUBSEQUENT",
    "source": "CIT"
  }
}'

Response

{
  "status": "pending",
  "reference": "C250324145403912CB87E198.Y",
  "method": "card",
  "type": "sale",
  "language": "nld",
  "currency": "eur",
  "lastUpdate": 1742824443972,
  "returnUrl": "https://shop/return?order=123456",
  "merchantOrderReference": "My Order 123456",
  "details": {
    "cardholderFirstName": "dfgd",
    "initialTransactionId": "SomeSchemeTrxId22chars",
    "maskedPan": "4000XXXXXXXX0028",
    "cardholderLastName": "dfg"
  },
  "cancelUrl": "https://api.psp.ccv.eu/api/v1/cancel?reference=C250324145403912CB87E198.Y",
  "created": 1742824443919,
  "amount": 5.00,
  "brand": "visa",
  "payUrl": "https://onlinepayments.ccv.eu/card/payment.html?reference=C250324145403912CB87E198.Y"
}

FAQ

Can I use the Vault for Customer Initiated Payments (CIT)?

Yes, you can use the Vault for Customer Initiated Payments. When you store the card details in the Vault, you can use the Vault Access Token for future payments.

You can initiate a payment with the Vault Access Token and the source in sequenceInfo object set to CIT.

{
  "sequenceInfo": {
    "type": "UNSCHEDULED",
    "mode": "SUBSEQUENT",
    "source": "CIT"
  }
}

Tou can combine the source with the mode to indicate if the payment is a subsequent CIT payment or a recurring CIT payment. Please note that the customer possibly needs to authenticate themselves before the payment can be completed.

Can I use the Vault for Merchant Initiated Payments (MIT)?

Yes, you can use the Vault for Merchant Initiated Payments. When you store the card details in the Vault, you can use the Vault Access Token for future payments.

You can initiate a payment with the Vault Access Token and the source in sequenceInfo object set to MIT.

{
  "sequenceInfo": {
    "type": "UNSCHEDULED",
    "mode": "SUBSEQUENT",
    "source": "MIT"
  }
}

Tou can combine the source with the mode to indicate if the payment is a subsequent MIT payment or a recurring MIT payment. No authentication is needed for MIT payments.

Can I use the Vault for recurring payments?

Yes, you can use the Vault for recurring payments. When you store the card details in the Vault, you can use the Vault Access Token for future payments.

You can initiate a payment with the Vault Access Token and the type in sequenceInfo object set to RECURRING.

{
  "sequenceInfo": {
    "type": "RECURRING",
    "mode": "SUBSEQUENT",
    "source": "MIT"
  }
}

Can I use the Vault for unscheduled payments?

Yes, you can use the Vault for unscheduled payments. When you store the card details in the Vault, you can use the Vault Access Token for future payments.

You can initiate a payment with the Vault Access Token and the type in sequenceInfo object set to UNSCHEDULED.

{
  "sequenceInfo": {
    "type": "UNSCHEDULED",
    "mode": "SUBSEQUENT",
    "source": "MIT"
  }
}

Do I have to store the initial transaction ID myself?

Yes, you have to store the initial transaction ID yourself. You have to pass the initialTransactionId in the sequenceInfo in the payment request when using a vault access token.

What if i do not want to store it myself?

You could check out our Mandates API. This API is specifically designed for this use case.

Can I use the Vault for Bancontact Wallet Initiated Payments (WIP)?

Yes you can, keep in mind there is a difference in the api usage when doing the subsequent transaction. See Bancontact WIP for more information.

Can I use the Vault for Apple Pay?

No you cannot. Please use our Mandates API.

Can I use the Vault for Google Pay?

No you cannot. Please use our Mandates API.

Can I use the Vault for other methods than card?

No you cannot. Please use our Mandates API for others.

Can I use the Vault in combination with authorise and capture?

Yes you can. You can use the Vault Access Token in the payment request as you would with any other payment. See Authorise and Capture for more information.

What happens if a Subsequent / Recurring transaction fails?

Please contact CCV support for more information. We will be able to help you with this. Retrying the MIT transaction will not help in many cases. You should be aware that these transactions are not guaranteed to succeed. Please act accordingly on your system…

What should I do if I want to use the Token Vault? Can I use it by default?

By Default, the Token Vault is not enabled. Please contact CCV support to enable the Vault for your account. Together with CCV support, we can validate your use-cases, needs, and requirements. This will allow us to setup the Token Vault correctly and support you on your api integration.

Go to

Home
Documentation




Cookies Privacy Statement