Cancel Payment Parameters
Method POSTURL
https://xxx.finexusgroup.com/fnx-fintech/sandbox/mqpos-host/api/cancel
- Request Parameters
- Response Parameters
Header
Field Name | Required | Type | Description |
---|---|---|---|
Signature | Yes | String | Contains the signature value of the message. The message originator is responsible for generating the signature, while the message receiver must verify it to ensure the integrity, authenticity, and non-repudiation of the message . Please refer to Appendix 1. |
sourceSystem | Yes | String | The system ID of the message originator. |
Body
Please refer to Embed Code to encrypt the content and prepend the Message Type Indicator 0014
to the body.
Field Name | Required | Type | Length | Description | Example |
---|---|---|---|---|---|
msgVer | Yes | String | 8 | Version number. | "1.0" |
billerType | Yes | String | 2 | Type of payment. | "PS" - POS System |
callerDeviceType | Yes | String | 2 | Caller device type. | "02" - Android EDC/Card Payment Terminal |
callerDeviceVer | Yes | String | 8 | Application version number of the caller device. | "1" |
sequenceNo | Yes | String | 16 | A running message sequence number which unique within system on a calendar day and shall restart from 1 every day. | "202409288868" |
sellerId | Yes | String | 6 | Provided by FINEXUS to identify the seller or taxpayer (the Merchant) for e-Invoice processing. | "A123" |
mid | Yes | String | 15 | Merchant ID | "100000" |
mrn | Yes | String | 50 | An unique reference number assigned by POS system to identify the original payment transaction. | "8e8c6e61-f9e4-40f0-a4a5-9e561579c901" |
cancelMrn | Yes | String | 50 | Merchant reference number for current cancel request. | "8e8c6e61-f9e4-40f0-a4a5-9e561579c901" |
currency | Yes | Number | 3 | ISO 4217 numeric currency code of this transaction. | "458" |
refundAmount | Yes | Number | 18 | Amount, Transaction. The purchase transaction amount in supported currency. | "1000" |
invoice | Conditional | Object | Invoice object to submit to LHDN for e-invoice purpose. | ||
cancelReason | Yes | String | 300 | Cancellation Reason. | "..." |
Field Name | Required | Type | Length | Description | Example |
---|---|---|---|---|---|
sequenceNo | Yes | String | 16 | Sequence number echo from the request. | "1726817309256" |
resultCode | Yes | String | 5 | Result code. | "00000" |
advMsg | No | String | 1000 | Advisory message from KPOS. | "..." |
issuedInvoiceInd | Conditional | String | 1 | The final issued -Invoice document for this cancellation request. | "..." |
Example Request and Response Body
- Request
- Response
Encrypt the content and prepend the Message Type Indicator 0014
to the body.
Before encryption
{
"msgVer": "1.0",
"billerType": "PS",
"callerDeviceType": "02",
"callerDeviceVer": "1",
"sequenceNo": "2022091511262185",
"sellerId": "A123",
"mid": "000010000012XXX",
"mrn": "8e8c6e61-f9e4-40f0-a4a5-9e561579c901",
"cancelMrn": "8e8c6e61-f9e4-40f0-a4a5-9e561579c902",
"currency": "458",
"refundAmount": "100",
"cancelReason": "..."
}
After encrytion and add Message Type Indicator
0013eyJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsImtpZCI6ImU4NmQ0Y2ZiLTFkNzMtNDJkNi05MGVlLWRlNWJlNjcwMjVlOSIsIngiOiI0UmxIeDAzX3ZlTURWaGFaTl91TVppZ2YzV1dPWGlveG52Zy1rRXhyMzFrIiwieSI6ImcyU1VqNkJnVHdYakxWYWlTRnVobGtSWklrMndaWlNaMWJEWG1DSTZSVXcifSwia2lkIjoiMTIzIiwiZW5jIjoiQTI1NkNCQy1IUzUxMiIsImFsZyI6ImRpciJ9..UIzHIjrFX8fPX91SEUzZpA.9hmtgLHx_UZjYTwduAtdruZB60QPRPjvczVeJwSI7tomXmEU720zuokvMdf9VxQqHOh2PHvtTtqW8OZQuIqYyDmss06ii-fy73a897AJv2KXPARY6DduoiLSJwDCJKhBiJlnZkAMyRZdB5xGzJwXL21QaXbO86EF6_d9qzrOhQvrNlfkTOBQYnv5Mhnnetda0_zm59HRMW2mg-rEOGj1W0Q4U0I8ZZrXQSxO3MnalxuzWQ4oTU2uHZrFnsyL93PeKiG_RmIszQGXqG0bN8WsoJfL0BTd20rnxldLQcSZYNdxGJw0EBGwlSp7DTpcmP1kzd1v2PzLGISZiPa9zadcVuLaODBZQ5GdHoPgIi76pTRwDJrv1CuD8ugfuuu_L5DxFIErnqs5cTONqxhCQ23ZeCSbnuDJDJju9yyr2wYoFFKQQciZmPddPgi2phew31DRjju4y4Ab6H7Vv01gqk6h2b9clR7v54wZSvR0CVROLZj79nKM1eLDhEo8JEv6T5APb2EHMTaU-sIlT-XqENbwV-A5HSEuEdvU7K3fsgioU5qJWwk9SS1WWmyqHnvCK1Rl5azJcKbfyN07a7znZD66IAoSUoCHjsqmFC4bd6ckdLA.Q3Ys35PhzHsnNnlJQ3rzwR-RsfEmYeDxXDsw9h97Azo
Remove the Message Type Indicator 0014
from the body and decrypt the content.
Before decryption
0014eyJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsImtpZCI6ImI0YjIxMmM5LTIyNjMtNDAxYi1hZjdkLTMwOWI3MjRlOTEzOSIsIngiOiJvYmx1ZFdKRy1TTWJlakVqY1hlY3Q2dl9zY19ZZExyTzUtWEV2ZGFZQjdNIiwieSI6Il9MaFdTUDRrUUMwSkpWc09GMkJndWpfamc3dFZSMlRRcTctVExoUFZOeFUifSwia2lkIjoiOGM0MDFlYWMtYjM0OS00MDIyLWJhYTItZWNhMmQ3M2I4NTc5IiwiZW5jIjoiQTI1NkNCQy1IUzUxMiIsImFsZyI6ImRpciJ9..L2N0tzgQbvbbqjTa5XFCeA.TIgLgaNOwqFEchw3r0ls75zFL74mWBCJjuQFm7e7a2Ahk83m_xoS47g6m-Y7AewFcGFWBKbb4i0aGKW1moH70g.4JNcfZMyJqQKcadQIfxb224fqiM3MoUQ5ytA7lUQ4Bw
After remove Message Type Indicator and perform decryption
{
"sequenceNo": "2022091511262185",
"resultCode": "00000",
"advMsg": "..."
}
Example Message
- Request
- Response
POST Request
curl -X POST "https://xxx.finexusgroup.com/fnx-fintech/sandbox/mqpos-host/api/cancel" \
-H "Accept: application/json" \
-H "Content-Type: text/plain" \
-H "Signature: ..." \
-H "sourceSystem: ..." \
-d '0013eyJlcGsiOnsia3R5IjoiRUMiLCJ...'
POST Response
0013eyJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsImtpZCI6ImI0YjIxMmM5LTIyNjMtNDAxYi1hZjdkLTMwOWI3MjRlOTEzOSIsIngiOiJvYmx1ZFdKRy1TTWJlakVqY1hlY3Q2dl9zY19ZZExyTzUtWEV2ZGFZQjdNIiwieSI6Il9MaFdTUDRrUUMwSkpWc09GMkJndWpfamc3dFZSMlRRcTctVExoUFZOeFUifSwia2lkIjoiOGM0MDFlYWMtYjM0OS00MDIyLWJhYTItZWNhMmQ3M2I4NTc5IiwiZW5jIjoiQTI1NkNCQy1IUzUxMiIsImFsZyI6ImRpciJ9..L2N0tzgQbvbbqjTa5XFCeA.TIgLgaNOwqFEchw3r0ls75zFL74mWBCJjuQFm7e7a2Ahk83m_xoS47g6m-Y7AewFcGFWBKbb4i0aGKW1moH70g.4JNcfZMyJqQKcadQIfxb224fqiM3MoUQ5ytA7lUQ4Bw