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
    • payment_features terminal_actions general hardware_access

Return to solutions

  • generalexpand_more
    • Getting started
    • Demo application
    • Result states
    • Errorcodes
    • Logging
    • Ep2
    • Download sdk
    • Release notes
  • basic operationsexpand_more
    • Make a payment
    • Stop ongoing payment
    • Recover a payment
  • payment featuresexpand_more
    • Additional receipt text
    • Allow or deny card brands
    • Authorisation by voice
    • Authorise
    • Capture
    • Card detection
    • Card validation
    • Customer display
    • E receipt
    • Manual card information entry
    • Payment reversal
    • Refund
    • Request transaction information
    • Reservation
  • terminal actionsexpand_more
    • Card circuits
    • Check password
    • Factory reset
    • Get config
    • Get status
    • Mobile phone prepaid
    • Period closing
    • Possible transaction types
    • Reprint last ticket
    • Retrieve open pre authorisations
    • Taxfree
    • Terminal discovery
    • Ticket reprint period closing
    • Transaction overview
    • Check password
  • hardware accessexpand_more
    • Getting started
    • Nfc
    • Internal printer
    • Qr and barcode scanner
  • API Referenceexpand_more
    • API reference

Welcome

Hi fellow code warrior, we hope you enjoy our local payment api and to keep evolving we want to collect as much feedback as possible.
So if you have any remarks/improvements please share it with us here.

To get going with the SDK we would like to introduce our global flow which is maintained through the api:

  • create an instance of the api you need (PaymentApi, TerminalApi, TerminalDiscoveryApi, TokenApi)
  • to know which one you need, I would recommend you our javadoc
  • retrieve terminal information to create a request object, this will help with these information
  • call instance method with request object

The following steps will guide you through your journey as a ccv integrator:

  1. Start the terminal and connect it to the internet
  2. Add the library to your project, add the jars/aars to the libs folder of your project
  3. Follow the flow steps described above and start your integration journey

For android integrators we suggest reading our android part below

Initialize Android SDK

In the onCreate method of your MainActivity you need to initialize the Android SDK like follows:


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        MAPI.initialize(this);
    }

Now you’re all set up to make a payment

Retrieve terminal information

This information is required to create the terminal request object which is used across the api.

IP address

  • Android terminals (IM30/A920/A77) use 127.0.0.1
  • Other
    • We recommend to use our terminalDiscoveryService (discovery-guide) which will return the terminal request object that can be used further in the api
    • You can also manually find the ip using next steps:
      • Press red, green, yellow (x3)
      • Go to display info
      • Go to ethernet or wifi
      • Go to IP info
      • You will find the IP address at IP:

Android integration tips

We have 3 possible android pos integrations which will have their own tip & tricks:

  • Integration with a separate standalone terminal (VX820, P400, …)
  • Integration with an Android terminal (Pax A920, A77, …)
  • Integration with an Android PhonePOS

Global

Compatibility Android API Levels

The compatibility is for all possible solutions. As our api uses some Java 8 features that are not compatible with all Android API Levels. If your projects provides support for Android API Levels that don’t support Java 8 features you will need to add some this functionality to your app build.gradle file.

Here you can find more information about Java 8 support for Android.


    android {
      defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
      }
    
      compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
    }
    
    dependencies {
      coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
    }

Integration with an Android terminal

Switch from app to payment-engine and back

In order to switch from the local payment engine back to the integrator-app, you need to add an intent-filter to the activity in the AndroidManifest.xml file.

    
    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
        <activity>
            <intent-filter>
                <action android:name="eu.ccv.service.ECR" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

To prevent that the integrator-app restarts the activity when switching back from the local payment engine, you need to add android:launchMode=“singleTask” to the activity in the AndroidManifest.xml file.

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="orientation"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar"
            android:launchMode="singleTask">
        ...
        </activity>
    </application>

Integration with an Android phonePOS

This part is still under construction, if you require more information about this please contact us here

Go to

Home
Documentation




Cookies Privacy Statement