Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesThe CCV SoftPOS app needs to be installed before you can initiate a SoftPOS payment.
This manual will walk you through that process.
There are two steps in the process:
Prerequisites
You have received a CCV SoftPOS dev kit.
If you don’t have one yet, request your dev kit
here.
The terminal is already created in the TMS system of CCV but it needs to be activated.
You need an installationsPayload to install a SoftPos terminal. You can retrieve this payload by executing the following request.
Response parameters
Parameter | Description |
---|---|
terminalId | The terminal id as assigned by CCV. |
terminalType | The terminal type. Possible values: ‘softpos’. |
installationStatus | The status of the terminal installation. |
installationPayload | The payload to continue the installation process for the terminal. |
Example
{ "terminalId": "SP001", "terminalType": "softpos", "installationStatus": "not_installed", "installationPayload": "IfhGLwDjRrr4mgeFOVr6tkA=" }
The second step in the installation process is starting the CCV SoftPOS app and passing throught the installationPayload
You can do this by starting an Android Intent or opening the installation deeplink.
Information
CCV provides two version of the 'CCV softPOS app', a development and production version.
The package names of these apps are different so you have to configure this properly in your POS application.
A common approach is to have a development and production build.
Intent example on development
String installationPayload = "Ia6FZr3jQ0oxoEBqe2iJtQY="; Intent intent = new Intent(); intent.setClassName("com.mypinpad.openmpos.terminal","com.mypinpad.openmpos.terminal.RootActivity"); intent.putExtra("action", "register"); intent.putExtra("data", installationPayload); startActivityForResult(intent, 1);
Intent example on production
String installationPayload = "Ia6FZr3jQ0oxoEBqe2iJtQY="; Intent intent = new Intent(); intent.setClassName("app.openmpos.ccv.terminal","com.mypinpad.openmpos.terminal.RootActivity"); intent.putExtra("action", "register"); intent.putExtra("data", installationPayload); startActivityForResult(intent, 1);
As you can see the ‘setClassName’ is different.
General Android Developer documentation can be found here.
A Result Intent will be received when the process is completed in the CCV SoftPOS app.
launchUrl(String.format("app://openmpos/register?data=%s\&callback=%s", installationPayload, ourWebAppReturnUrl));
When the installation is done, the ourWebAppReturnUrl will be opened
Once your POS app is back in the foreground, the installation in the CCV SoftPOS app is completed.
The CCV server needs to be informed that the installation is completed. Use the following API request to know the outcome of the installation.
Response parameters
Parameter | Description |
---|---|
terminalId | The terminal id as assigned by CCV. |
installationStatus | The status of the terminal installation. |
Example
{ "terminalId": "SP001", "installationStatus": "installed" }