CVM Signature Check Integration
When utilising the CVM Signature integration, you will need to update axept® PRO of the outcome of a CVM Signature Check as and when one is required, you do so by using a POST/ProcessDecision request.
The POST/ProcessDecision request is used in conjunction with the posSignatureCheck query parameter being enabled within a transaction, i.e. when the integrated POS is responsible for handling CVM signature checks; this request is used to update axept® PRO on the signature check result and whether the conclude or reverse the transaction.
If you are omitting the posSignatureCheck parameter from transaction requests, or including but setting to false then you should not use this feature.
Transaction Requirements
In order to utilise the CVM Signature integration feature you will need to set the posSignatureCheck parameter in the initial transaction request so that axept® PRO will know it will receive signature decisions from the integrated POS system rather than displaying prompts on the device screen.
Below are the parameter(s) that need to be enabled:
| POST /transaction - Body Parameters required for CVM Signature Integration | |||
|---|---|---|---|
| Field Name | State | Data Type | Description |
| posSignatureCheck | Optional | Boolean | Default = false. Setting this to true will enable the posSignatureCheck to update, if required, based on whether a CVM Signature Check is required. |
Example
POST /Transaction HTTP/1.1
Content-Type: application/json
Authorization: Bearer [hashed]
User-Agent: PostmanRuntime/7.51.1
Accept: */*
Postman-Token: 8a40ee39-af49-427b-b6d2-1866918b0bdb
Host: optomany-axeptconnectcloudmerchant-ppe.azurewebsites.net
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 317
{
"uti": "56a46547-10da-4ddf-ae60-3bd189c26012",
"expirationDate": "2026-02-26T12:22:03.498Z",
"tid":"1853195101",
"transType": "SALE",
"amountTrans": 3000,
"amountGratuity": 0,
"posSignatureCheck": true, // Integrated POS will handle CVM Signature Decisions
"language": "en-GB",
"disablePrinting": true,
"reference": "Test"
}
POS Monitoring
If the CVM Signature Check integration feature is being used then the integrated POS system needs to be monitoring the device for scenarios where a signature will be prompted, in such instances the GET/transaction response body will display a posActionStatus of 1.
Example
{
"uti": "56a46547-10da-4ddf-ae60-3bd189c26012",
"transType": "SALE",
"transApproved": false,
"transPartiallyApproved": false,
"transCancelled": false,
"amountTrans": 150,
"amountGratuity": 0,
"amountCashback": 0,
"cvmSignatureRequired": false,
"cvmPinVerified": false,
"reference": "Test",
"createdDateTime": "2026-02-26T08:10:25.5168273Z",
"merchantStoreId": 14759,
"status": "InProgress",
"posActionStatus": 1 // Signature Required
}
If a GET/transaction response body contains "posActionStatus": 1 this means axept® PRO is waiting on a signature decision from the integrated POS, you should program the POS system to print a merchant signature reciept and provide an on screen prompt for the EPOS user.
You can get a rundown of the posActionStatus and all its potential values in the GET/transaction Response table of values here.
POST/ProcessDecision
In the event of a signature requirement and axept® PRO waiting on a decision from the integrated POS, the axept® Connect integration can be used to send an updated posActionStatus that will inform axept® PRO on what to do next.
Below are the URL's you need to utilise:
TEST: https://optomany-axeptconnectcloudmerchant-ppe.azurewebsites.net/Transaction/(UTI)/ProcessDecision
LIVE: https://optomany-axeptconnectcloudmerchant-live.azurewebsites.net/Transaction/(UTI)/ProcessDecision
Note: the UTI property is the UTI of the transaction that requires a signature decision.
The main request body needs only the following parameter:
| POST /ProcessDecision - Body Parameters required for CVM Signature Decision | |||||||
|---|---|---|---|---|---|---|---|
| Field Name | State | Data Type | Description | ||||
| posActionStatus | Mandatory | Integer | Field needs to contain one of the following values:
| ||||
Example
POST /transaction/eea86a36-d2e4-4e3a-998e-f8cd97c6bcd8/ProcessDecision HTTP/1.1
Content-Type: application/json
Authorization: Bearer [hashed]
User-Agent: PostmanRuntime/7.51.1
Accept: */*
Postman-Token: 0d20d22e-5f35-4524-a6f8-e29205fe81c3
Host: optomany-axeptconnectcloudmerchant-ppe.azurewebsites.net
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 27
Cookie: ARRAffinity=29d8c3f38164feebdbfcbd1240d27c77d80e112106541885ec16b5405c801270; ARRAffinitySameSite=29d8c3f38164feebdbfcbd1240d27c77d80e112106541885ec16b5405c801270
{
"posActionStatus": 2 // Accept Signature
}
POST /transaction/eea86a36-d2e4-4e3a-998e-f8cd97c6bcd8/ProcessDecision HTTP/1.1
Content-Type: application/json
Authorization: Bearer [hashed]
User-Agent: PostmanRuntime/7.51.1
Accept: */*
Postman-Token: 0d20d22e-5f35-4524-a6f8-e29205fe81c3
Host: optomany-axeptconnectcloudmerchant-ppe.azurewebsites.net
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 27
Cookie: ARRAffinity=29d8c3f38164feebdbfcbd1240d27c77d80e112106541885ec16b5405c801270; ARRAffinitySameSite=29d8c3f38164feebdbfcbd1240d27c77d80e112106541885ec16b5405c801270
{
"posActionStatus": 3 // Refuse Signature
}
This should update the status of the transaction on axept® PRO and proceed to either finalisation (approval) or reversal (refused signature), the new status should also be reflected in the GET/transaction response body.
Example
{
"uti": "56a46547-10da-4ddf-ae60-3bd189c26012",
"transType": "SALE",
"transApproved": false,
"transPartiallyApproved": false,
"transCancelled": false,
"amountTrans": 150,
"amountGratuity": 0,
"amountCashback": 0,
"cvmSignatureRequired": false,
"cvmPinVerified": false,
"reference": "Test",
"createdDateTime": "2026-02-26T08:10:25.5168273Z",
"merchantStoreId": 14759,
"status": "InProgress",
"posActionStatus": 2 // Signature Accepted
}
{
"uti": "56a46547-10da-4ddf-ae60-3bd189c26012",
"transType": "SALE",
"transApproved": false,
"transPartiallyApproved": false,
"transCancelled": false,
"amountTrans": 150,
"amountGratuity": 0,
"amountCashback": 0,
"cvmSignatureRequired": false,
"cvmPinVerified": false,
"reference": "Test",
"createdDateTime": "2026-02-26T08:10:25.5168273Z",
"merchantStoreId": 14759,
"status": "InProgress",
"posActionStatus": 2 // Signature Refused
}