CONFIRMATION
Last updated: 07-Apr-2025
The Secondary port Confirmation command is invoked when the application has requested for a POS confirmation on the customer ID check through an unsolicited message for an APM (Ex: Klarna) transaction.
Up on confirmation of the ID, the POS must trigger this Confirmation with the field value as CONFIRMED or DENIED.
Request Packet
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
FUNCTION_TYPE | Required | Static value | N/A | N/A | SECONDARYPORT | Type of function. |
COMMAND | Required | Static value | N/A | N/A | CONFIRMATION | Command name |
VALUE | Required | Static value | N/A | N/A |
|
The field value to be triggered based on POS confirmation on the customer ID check through an unsolicited message and requested by the application. |
POS_RECON | Optional | Character | 1 | 30 | POS reconciliation. POS Reconciliation field to be echoed back in response to POS. Example: RetailPOS1 | |
COUNTER | Required | Numeric | 1 | 10 | COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is used to authenticate the POS. Example: 100 | |
MAC | Required | Base64 Encoded Data | N/A | N/A | Message Authentication Code. This is used to authenticate the POS. | |
MAC_LABEL | Required | Character | 1 | 50 | Associated label that tells the device which MAC_KEY to use to decrypt the value of MAC. This is used to authenticate the POS. Example: REG1 |
Example
Following is an example of request packet
<TRANSACTION>
<FUNCTION_TYPE>SECONDARYPORT</FUNCTION_TYPE>
<COMMAND>CONFIRMATION</COMMAND>
<VALUE>CONFIRMED</VALUE>
</TRANSACTION>
Response Packet
Field | Type | Value | Description |
---|---|---|---|
RESPONSE_TEXT | Character | Processor response text. Example: SUCCESS | |
RESULT | Character | This indicates the Result details. Example: OK | |
RESULT_CODE | Numeric | Expected result code: -1, 59070, 59069 | This indicates the result code. Refer to Result/Error Codes for details. |
TERMINATION_STATUS | Character | SUCCESS and FAILURE | This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE. |
SECONDARY_DATA | Numeric | Refer to Secondary Data Values for all the secondary data value. | This indicates the status of the secondary data upon sending the queries for VHQ updates. Example: 57 = Klarna ID Check Processing |
DETAILED_STATUS | Numeric | Refer to Detailed Status Values for all the status codes and description. | Returns the status code. Example: 170 = PROCESSING CP_APP_REQUESTS_POS_INPUT |
POS_RECON | Character | POS reconciliation field echoed back if sent in request. Example: RetailPOS1 | |
COUNTER | Numeric | Echoes counter sent in the request. Example: 100 |
Transaction Performance Metric
Note
These fields are returned, if SCAPERFMETRIC parameter (Application Parameters) is enabled.
Field | Type | Value | Description |
---|---|---|---|
UI_TIME | Time | This indicates the time duration, for which the device screen is displayed (like error message, prompt screen, remove card screen) till any user action is performed in the command execution flow. This field is not applicable to capture the time for the Processing, Authorizing and transaction status screen. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <UI_TIME>44.028</UI_TIME> |
|
HOST_TIME | Time | This indicates the time taken for the Connection to the host, sending request and receives data from the host. This field also take the cumulative time for multiple requests which may sent to the host during the transaction including two legged transactions, timeout requests, Auto Last Tran requests, DCC, Credit app proxy. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <HOST_TIME>1.389</HOST_TIME> |
|
CMD_TIME | Time | This field indicates the total amount of time for a command, which is executed by the application from request received to the response sent. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <CMD_TIME>70.765</CMD_TIME> |
Example
Following is an example of response packet.
<RESPONSE>
<RESPONSE_TEXT>SUCCESS</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<SECONDARY_DATA>57</SECONDARY_DATA>
<DETAILED_STATUS>170</DETAILED_STATUS>
</RESPONSE>
Following is an example of response packet with error codes.
<RESPONSE>
<RESPONSE_TEXT>Incorrect Confirmation Value</RESPONSE_TEXT>
<RESULT>FIELD_ERROR</RESULT>
<RESULT_CODE>59070</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<SECONDARY_DATA>57</SECONDARY_DATA>
</RESPONSE>
<RESPONSE>
<RESPONSE_TEXT>Confirmation Unexpected</RESPONSE_TEXT>
<RESULT>ERROR</RESULT>
<RESULT_CODE>59069</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<SECONDARY_DATA>2</SECONDARY_DATA>
<DETAILED_STATUS>-1</DETAILED_STATUS>
</RESPONSE>
Rate this article: