QR Payment Parameters
Method GETURL
https://xxx.finexusgroup.com/upp/faces/qrPushPayment.xhtml?
The following parameters are provided to PayMaster for payment processing.
Upon completion of the QR Transaction Request, PayMaster will send a response to the merchant server. The merchant server should then examine the transaction status (TxnStat
) to determine the outcome of the QR Transaction Request.
- Request Parameters
- Response Parameters
Mandatory / Conditional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
PaymentID | String | 3 | Payment method / function. | "Q03" - QR Payment for Duitnow Normal Sales |
MerchantID | String | 15 | Assigned merchant ID (MID). | "000010000099939" |
ProcCode | String | 6 | Procedure Code. | "003000" |
SndrID | String | 34 | Conditional field Sender Identification. Note: Optional for PaymentID = "Q01". SndrID can be a Primary Account Number; LOC Account number; URN; LOC Account Number + last 4 digits PAN or Token to use to uniquely identify the consumer presented QR. | "FNXSMYNX" |
TxnAmt | String (Numeric) | 12 | Transaction amount. | "1280.99" |
POSCond | String | 2 | Point-of-sale or Point-of-service condition code. | "67" |
CurrCode | String | 3 | ISO 4217 currency numeric code. | "458" |
ExpTxnAmt | String | 1 | Exponent of transaction amount. | "2" |
OrigTxnAmt | String (Numeric) | 12 | Conditional field Original transaction amount. Note: Applicable to PaymentID = "Q02" only. Mandatory if OrigCurrCode exists. | "298.85" |
OrigCurrCode | String | 3 | Conditional field Original transaction ISO 4217 currency numeric code. Note: Mandatory if OrigTxnAmt exists. | "840" |
CountryCode | String | 2 | Conditional field ISO 3166-1 alpha-2 country code. Note: Applicable to PaymentID = "Q02" only. | "MY" |
FICode | String | 20 | Conditional field Financial insitution code that entitled for the promotion. Appendix 4 | "CIMB" |
ServiceID | String | 3 | Service ID. | "FNX" |
MerchRefNo | String | 40 | Unique merchant reference number. | "2021061414062021072" |
SuccRespURL | String | 512 | Successful payment page. | "https://xxx.xxxxx.xxx/approved.jsp " |
BizNm | String | 35 | Conditional field Business Name. Note: Applicable to PaymentID = "Q02" only. | "Inside Scoop Sdn. Bhd" |
BizAddrZIPCode | String | 10 | Conditional field Business Address ZIP Code. Note: Applicable to PaymentID = "Q02" only. | "63000" |
BizAddrStateCode | String | 4 | Conditional field Business Address State Code. Note: Applicable to PaymentID = "Q02" only. | "10" |
TerminalID | String | 8 | Terminal ID. Note: An identification code of fewer than 8 positions must be left-justified and the remainder of the field space-filled. | "T2022121" |
PayloadInd | String | 2 | QR Payload Indicator. | "12" – Merchant Presented Dynamic QR Code |
PANInd | String | 2 | PAN Indicator. | "26" – DuitNow RPP, "97" – Alipay+ |
SndrIDType | String | 1 | Conditional field Sender Identification Type. Note: Optional for PaymentID = "Q01". | "2" - Unique Reference Number (URN) |
QRPayload | String | 512 | Conditional field QR Payload. Note: Applicable to PaymentID = "Q02" only. Refers to QRPayload in response message of the previous PaymentID = "Q01". | "…" |
TxnFlag | String | 2 | Conditional field Indication of the transaction response reaction. Note: Applicable to PaymentID = "Q02" only. | "CP" – Consumer Presented Payment |
MerchPAN | String | 31 | Conditional field Merchant PAN. Note: Applicable to PaymentID = "Q02" only. | "4322071003601010" |
ExpiryYear | String | 2 | Card expiry year Format: YY. | "27" |
ExpiryMth | String | 2 | Card expiry month Format: MM. | "10" |
Fields formats
TxnAmt
andOrigTxnAmt
- Transaction amount with two decimals and thousand symbols. Maximum length includes the digit(s) after the decimal place.
Optional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
AuthIDRespCode | String | 6 | Authorisation ID Response Code (AuthIDRespCode ) of the response message of the previous PaymentID = "Q01". Note: Applicable to PaymentID = "Q02" only. | "000000" |
RetrievalRefNo | String | 12 | Retrieval Reference Number. Note: Applicable to PaymentID = "Q02" only. | "306274008021" |
UserContact | String | 20 | Customer contact number. | "6012888888" |
UserIPAddress | String | 30 | User IP address. Note: Subjected to Payment Provider requirement. | "192.168.2.2" |
PortalUserID | String | 256 | Portal user ID. | O5ACzHbvQNm3iNAwdvi1Sg== |
DeviceID | String | 64 | Customer Device ID. | "463508442328857/02" |
MCC | String | 4 | Merchant category code or merchant classification code. Note: Applicable to PaymentID = "Q02" only. | "5411" |
TxnID | String | 50 | Transaction ID. Note: Only supported for UnionPay URL QR. Applicable to PaymentID = "Q02" only. | "9205845" |
Mandatory / Conditional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
MerchantID | String | 15 | Merchant ID. Note: Same value of MerchantID stored in properties file. | "000010000099939" |
TxnStatus | String | 2 | Transaction status. Appendix 3 | "00" |
RetrievalRefNo | String | 12 | Conditional field Retrieval reference number. Note: Available if this field returned by Acquirer in the response message. | "301930987112" |
ServiceID | String | 3 | Service ID. | "FNX" |
MerchRefNo | String | 40 | Unique merchant reference number. | "2021061414062021072" |
QRPayload | String | 512 | Quick Response Payload. Note: Available if good response received. | "…" |
BarcodePayload | String | 512 | Conditional field Barcode Payload. Note: Applicable to PaymentID = Q01 only. | "…" |
SHValue | String | 64 | Secure Hash Value. Appendix 1 | "..." |
Optional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
SndrID | String | 34 | Sender Identification. | "FNXSMYNX" |
TxnAmt | String (Numeric) | 12 | Transaction amount. | "000000001000" |
CurrCode | String | 3 | Currency code. | "458" |
AuthIDRespCode | String | 6 | Authorisation ID Response Code. Note: Generated by issuer and forwarded to Acquirer to indicate the approval of a transaction. Available for successful payment. | "000000" |
ExpTxnAmt | String | 1 | Exponent of transaction amount. | "2" |
TxnStatDetCde | String | 4 | Transaction status detail code. | "0000" |
TxnStatMsg | String | 256 | Transaction status message. | "SUCCESS" |
MerchRefNo
, CurrCode
, TxnAmt
and SndrID
have the same value as in prior payment request.
Example Message
- Request
- Response
Consumer Presented QR Payment Request
curl -X GET
"https://xxx.finexusgroup.com/upp/faces/qrPushPayment.xhtml?h001_MTI=0240&h002_VNO=06&h003_TDT=20241105&h004_TTM=07373024&f001_MID=000010000012XXX&f003_ProcCode=003000&f004_PAN=466542XX03893XXX&f005_ExpDate=2710&f007_TxnAmt=000000000500&f008_POSCond=69&f010_CurrCode=458&f011_AuthIDResp=&f019_ExpTxnAmt=2&f023_RRN=&f247_OrgTxnAmt=&f248_OrgCurrCode=&f253_CntyCode=MY&f256_FICode=&f260_ServID=FNX&f263_MRN=20241105XXX730XXX&f265_RURL_CCPS=https%3A%2F%2Fxxx.finexusgroup.com%2Fdevserver%2Fadmin%2Fapi%2Fpaymaster%2Fintrx&f279_HP=&f285_IPAddr=&f289_CustId=&f297_BussName=&f304_BusZip=&f305_BusStcde=&f354_TID=20003XXX&f366_PayloadInd=12&f367_PANInd=26&f368_AcctInd=2&f369_DevID=&f370_QRPayload=...&f372_TxnFlag=CP&f373_MercPAN=&f374_MCC=&f378_TxnId=&t001_SHT=SH2&t002_SHV=3F8C6AE9596ABAFB72B460E7643628DD2DDD9D2EA57B17AC6F8CFC2D4BB45164
Consumer Presented QR Payment Response
"https://xxx.finexusgroup.com/devserver/admin/api/paymaster/intrx?h001_MTI=0250&h002_VNO=06&h003_TDT=20241105&h004_TTM=07373024&f001_MID=000010000012XXX&f004_PAN=466542XXXXXX3XXX&f007_TxnAmt=000000000500&f009_RespCode=00&f010_CurrCode=458&f011_AuthIDResp=&f019_ExpTxnAmt=2&f023_RRN=241105000057&f258_TxnStatDetCde=0000&f259_TxnStatMsg=Approved&f263_MRN=202411051XXX30XXX&f370_QRPayload=...&f375_MrkUpFee=&f376_DiscAmt=&f377_DiscNote=&f379_QrcVocNo=&f350_CrdTyp=VSA&f378_TxnId=&f354_TID=20003XXX&t001_SHT=SH2&t002_SHV=FA67C17CB16552EA609F5475EE2B682875F2F6CD5316BD9F84C78D4D8F961B82