Skip to main content

Payment Parameters

Method POST

URL

https://xxx.finexusgroup.com/fnx-fintech/xxx/mqpos-host/api/submit

Duplicate checking will be performed based on the combination of sequenceNo and the paymentTime.

Field NameRequiredTypeDescription
SignatureYesStringContains 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.
sourceSystemYesStringThe system ID of the message originator.

Body

Please refer to Embed Code to encrypt the content and prepend the Message Type Indicator 0011 to the body.

Field NameRequiredTypeLengthDescriptionExample
msgVerYesString8Version number."1.0"
billerTypeYesString2Type of payment."AM" - Automated Machine
callerDeviceTypeYesString2Caller device type."21" - KPOS initiates the Pre-authorization, POS system will initiate the Completion Sales Completion/Capture request.
callerDeviceVerYesString8Application version number of the caller device."1"
sequenceNoYesString16A running message sequence number which unique within system on a calendar day and shall restart from 1 every day.

Note: The recommended format is [Terminal ID][Message Type Code][Running Number].
"20090XX110000001"
sellerIdYesString6Provided by FINEXUS to identify the seller or taxpayer (the Merchant) for e-Invoice processing.

Note: If no e-invoice is available, default to '000000'.
"000000"
midYesString15Merchant ID"100000"
isPaymentReqYesString1Payment request indicator"Y" - Trigger payment at KPOS.
"N" - No payment processing will be initiated.
isInvoiceReqYesString1Invoice request indicator"N" - No invoice will submit.
paymentConditionalObjectPayment Object.

Object: payment

Field NameRequiredTypeLengthDescriptionExample
mrnYesString40A unique reference number assigned by POS system to identify the original payment transaction."8e8c6e61-f9e4-40f0-a4a5-9e561579c901"
requiredPaymentYesString1Indicates whether payment is required for the request."Y" - This request will trigger payment at KPOS.
paymentMethodYesNumber2The preferred payment method will be triggered at KPOS."01" - Card payment
currencyYesNumber3ISO 4217 numeric currency code of this transaction."458"
amountYesNumber18Amount, Transaction.
The purchase transaction amount in supported currency.
"1000"
descriptionNoString256Order description."Food order"
paymentNotiUrlConditionalString256Primary payment notification URL. The URL that is used to receive the payment result notification. For security reasons, the URL must be an HTTPS URL. Only applicable for HTTPs POST integration."https://xxx/xxx/xxx.paymentNotiUrl"
paymentNotiUrl2ConditionalString256Secondary payment notification URL."https://xxx/xxx/xxx.paymentNotiUrl2"
paymentTimeYesString25Payment time. The value follows the ISO 8601 standard format."2024-06-30T12:12:12+0800"
emailConditionalString64Email login to KPOS. It is mandatory if payment request via HTTPs POST"customer123@gmail.com"
deviceSNConditionalString32Device SN. It is mandatory if payment request via HTTPs POST"PPXXX72209005XXX"
printPaymentReceiptYesString1"Y" - KPOS will display an e-receipt and print a payment receipt if the payment is approved.
"N" - KPOS will display an e-receipt, do not print a payment receipt if the payment is approved.
"Y"
nonBlockingNoString1"Y" - KPOS will return an acknowledgment in the submit response as soon as the request is received from the PSP.
"N" - KPOS will fully process the request and return the final result to the PSP.

Default is "Y"
"Y"
paymentTypeYesString3Specifies the type of payment transaction, such as sale, pre-authorization, or sales completion"SLC" - Sale Completion
htrYesString20Host Transaction Reference to retrieve the original transaction."20XX10181544723010"

Example Request and Response Body

Encrypt the content and prepend the Message Type Indicator 0011 to the body.

Before encryption
{
"msgVer": "1.0",
"billerType": "AM",
"callerDeviceType": "21",
"callerDeviceVer": "1",
"sequenceNo": "20090XX110000001",
"sellerId": "000000",
"mid": "000010000012XXX",
"isPaymentReq": "Y",
"payment": {
"mrn": "2021061414062021078",
"requiredPayment": "Y",
"paymentMethod": "01",
"currency": "458",
"amount": "1000",
"description": "test",
"paymentTime": "2024-09-23T10:30:29.249",
"email": "customer123@gmail.com",
"deviceSN": "PPXXX72209005XXX",
"printPaymentReceipt": "N",
"nonBlocking": "N",
"paymentType": "SLC",
"htr": "20XX10181544723010"
}
}
After encrytion and add Message Type Indicator
0011eyJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsImtpZCI6ImU4NmQ0Y2ZiLTFkNzMtNDJkNi05MGVlLWRlNWJlNjcwMjVlOSIsIngiOiI0UmxIeDAzX3ZlTURWaGFaTl91TVppZ2YzV1dPWGlveG52Zy1rRXhyMzFrIiwieSI6ImcyU1VqNkJnVHdYakxWYWlTRnVobGtSWklrMndaWlNaMWJEWG1DSTZSVXcifSwia2lkIjoiMTIzIiwiZW5jIjoiQTI1NkNCQy1IUzUxMiIsImFsZyI6ImRpciJ9..UIzHIjrFX8fPX91SEUzZpA.9hmtgLHx_UZjYTwduAtdruZB60QPRPjvczVeJwSI7tomXmEU720zuokvMdf9VxQqHOh2PHvtTtqW8OZQuIqYyDmss06ii-fy73a897AJv2KXPARY6DduoiLSJwDCJKhBiJlnZkAMyRZdB5xGzJwXL21QaXbO86EF6_d9qzrOhQvrNlfkTOBQYnv5Mhnnetda0_zm59HRMW2mg-rEOGj1W0Q4U0I8ZZrXQSxO3MnalxuzWQ4oTU2uHZrFnsyL93PeKiG_RmIszQGXqG0bN8WsoJfL0BTd20rnxldLQcSZYNdxGJw0EBGwlSp7DTpcmP1kzd1v2PzLGISZiPa9zadcVuLaODBZQ5GdHoPgIi76pTRwDJrv1CuD8ugfuuu_L5DxFIErnqs5cTONqxhCQ23ZeCSbnuDJDJju9yyr2wYoFFKQQciZmPddPgi2phew31DRjju4y4Ab6H7Vv01gqk6h2b9clR7v54wZSvR0CVROLZj79nKM1eLDhEo8JEv6T5APb2EHMTaU-sIlT-XqENbwV-A5HSEuEdvU7K3fsgioU5qJWwk9SS1WWmyqHnvCK1Rl5azJcKbfyN07a7znZD66IAoSUoCHjsqmFC4bd6ckdLA.Q3Ys35PhzHsnNnlJQ3rzwR-RsfEmYeDxXDsw9h97Azo

Example Message

POST Request
curl -X POST "https://xxx.finexusgroup.com/fnx-fintech/xxx/mqpos-host/api/submit" \
-H "Accept: application/json" \
-H "Content-Type: text/plain" \
-H "Signature: ..." \
-H "sourceSystem: ..." \
-d '0011eyJlcGsiOnsia3R5IjoiRUMiLCJ...'