- You have a SoftPos terminal with an installationsStatus success
More info can be found at Install a terminal
Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesThis guide will walk you through the process to do a payment with CCV SoftPOS.
Prerequisites
CCV has a single Payment API that support multiple payment solutions.
The following request starts a SoftPOS payment.
Response parameters
Parameter | Description |
---|---|
type | Fixed value: sale |
amount | The amount of the transaction |
currency | An ISO 4217 three-letter code. |
method | The payment method that the customer chooses. |
language | The language of the customer. |
details.terminalId | The terminal id as assigned by CCV. |
merchantOrderReference | Own reference, maximum 255 characters, of the order associated with this payment |
Example
{ "type": "sale", "amount": 5, "currency": "eur", "method": "softpos", "language": "eng", "details": { "terminalId": "SP001" } }
Response parameters
Parameter | Description |
---|---|
status | The status of the payment |
type | Fixed value: sale |
amount | The amount of the transaction |
currency | An ISO 4217 three-letter code. |
method | The payment method that the customer chooses. |
language | The language of the customer. |
reference | A reference, maximum 255 characters, of the order associated with this payment |
created | The local server datetime the payment was created, epoch timestamp. |
lastUpdate | The local server datetime the payment was updated, epoch timestamp. |
methodTransactionId | A third party transaction ID which identifies the payment transaction in external systems. If empty no such id was available or no third party was employed. |
details.terminalId | The terminal id as assigned by CCV. |
Example
{ "status": "pending", "type": "sale", "amount": 5, "currency": "eur", "method": "softpos", "language": "eng", "reference": "TL220621151342826CB87E2F6.0", "created": 1655817222828, "lastUpdate": 1655817222828, "methodTransactionId": "665b139a-ff38-44ed-be78-4ff010cbd31b", "details": { "terminalId": "SP001" } }
The second step in the payment flowis starting the CCV SoftPOS app and passing throught the methodTransactionId.
You can do this by starting an Android Intent or opening the payment deeplink.
Information
CCV provides two version of the 'CCV softPOS app', a development and production version.
Just like the instalation flow, the package name is differently in the development and production build.
Intent example on development
String methodTransactionId = "665b139a-ff38-44ed-be78-4ff010cbd31b="; Intent intent = new Intent(); intent.setClassName("com.mypinpad.openmpos.terminal","com.mypinpad.openmpos.terminal.RootActivity"); intent.putExtra("action", "transaction"); intent.putExtra("data", methodTransactionId); startActivityForResult(intent, 1);
Intent example on production
String methodTransactionId = "665b139a-ff38-44ed-be78-4ff010cbd31b="; Intent intent = new Intent(); intent.setClassName("app.openmpos.ccv.terminal","com.mypinpad.openmpos.terminal.RootActivity"); intent.putExtra("action", "transaction"); intent.putExtra("data", methodTransactionId); startActivityForResult(intent, 1);
A Result Intent will be received when the payment is completed in the CCV SoftPOS app.
launchUrl(String.format("app://openmpos/transaction?data=%s\&callback=%s", methodTransactionId, ourWebAppReturnUrl));
When the transaction is done, the ourWebAppReturnUrl will be opened
Once the POS app is back in the forground, you can retrieve all the information about the transaction with the following request.
Response parameters
Parameter | Description |
---|---|
status | The status of the payment |
type | Fixed value: sale |
amount | The amount of the transaction |
currency | An ISO 4217 three-letter code. |
method | The payment method that the customer chooses. |
language | The language of the customer. |
merchantOrderReference | Own reference, maximum 255 characters, of the order associated with this payment |
reference | A reference, maximum 255 characters, of the order associated with this payment |
created | The local server datetime the payment was created, epoch timestamp. |
lastUpdate | The local server datetime the payment was updated, epoch timestamp. |
details.terminalId | The terminal id as assigned by CCV. |
Example
{ "type":"sale", "amount":5.00, "currency":"eur", "method":"softpos", "brand":"maestro", "language":"nld", "reference":"TL220621152314122CB87E2F4.0", "lastUpdate":1655817804294, "created":1655817794124, "status":"success", "details":{ "terminalId":"SP001", "customerReceipt":"[\" Kopie Kaarthouder\",\" \",\"********* PAS OP: TEST SYSTEEM *********\",\" \",\" \",\"Terminal: 20000002 Merchant: 1234 \",\"Periode: 2172 Transactie: 00003324\",\"Contactloze betaling\",\" (A0000000043060)\",\"Kaart: 67340xxxxxxxxxxxxxx\",\"Kaartnr: 01 Exp. Datum: 31/03/23\",\" \",\"BETALING\",\"21/06/2022 15:23 Auth. code: n0SG25\",\" \",\"Totaal: 5,00 EUR\",\" \",\" AKKOORD\"]", "journalReceipt":"[\" JOURNAAL\",\" \",\"********* PAS OP: TEST SYSTEEM *********\",\" \",\" \",\"Terminal: 20000002 Merchant: 1234 \",\"Periode: 2172 Transactie: 00003324\",\" (A0000000043060)\",\"Kaart: 67340xxxxxxxxxxxxxx\",\"Kaartnr: 01 Exp. Datum: 31/03/23\",\" \",\"BETALING\",\"21/06/2022 15:23 Auth. code: n0SG25\",\" \",\"Totaal: 5,00 EUR\",\" AKKOORD\",\"ACQUIRER ID: 00000002\",\"TRANSACTION TREATMENT RES. 0000\",\" ================\"]", "eJournal":"\r\n \r\n \r\n 20000002\r\n 1234\r\n \r\n \r\n 2172\r\n 00003324\r\n BETALING (Contactloze betaling)\r\n 2022-06-21T15:23\r\n n0SG25\r\n 5,00\r\n 5,00\r\n AKKOORD\r\n 00000002\r\n 0000\r\n \r\n \r\n Maestro\r\n \r\n \r\n 67340xxxxxxxxxxxxxx\r\n 01\r\n 31/03/23\r\n \r\n \r\n \r\n" } }