UPP Payment Parameters
Method GETURL
https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?
The following parameters are provided to PayMaster for payment processing. Upon completion of the UPP payment process, PayMaster will redirect the customer’s browser to the specified return URL based on the completion status.
- Request Parameters
- Response Parameters
Mandatory / Conditional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
PaymentID | String | 3 | Payment method / function. | "U01" - UPP Transaction, "C04" - Recurring Transaction, "C15" - Reversal for E-Commerce Transaction |
EcommMerchInd | String | 1 | Ecommerce merchant indicator. | "0" - Non-E-Commerce merchant, "1" - E-Commerce (3D Secure), "2" - E-Commerce (Non-3D Secure/MOTO) |
MerchRefNo | String | 40 | Unique merchant reference number. | "2021061414062021072" |
CountryCode | String | 2 | ISO 3166-1 alpha-2 country code. | "MY" |
CurrCode | String | 3 | ISO 4217 currency numeric code. | "458" |
TxnAmt | String (Numeric) | 12 | Transaction amount with two decimals and thousand symbols. Note: Maximum length includes the digit(s) after the decimal place. | "1280.99" |
ExpTxnAmt | String | 1 | Exponent of transaction amount. | "2" |
TokenFlag | String | 1 | Card tokenization. | "Y" – Agree to store the card details used for the payment into PayMaster system, "N" – Disagree/FPX payment |
MerchUserID | String | 50 | Conditional field Merchant user ID. Note: Mandatory if TokenFlag is "Y". | "D1022012123" |
PreAuthFlag | String | 1 | Pre-authorization transaction. | "A" – Account verification transaction, "N" – Normal transaction, "Y" – Pre-authorization transaction |
TokenShrtName | String | 20 | Conditional field PAN (Card Number) Profile reference name. Note: Mandatory if TokenFlag is “Y”. | "ABC" |
CardIssuerCode | String | 512 | Conditional field Card Issuer Code is used to indicate which Card Issuer’s card or BINs/IINs is entitled for the promotion. Note: Mandatory if PromoCode is "49" or "60". For more than 1 value; use “|” as separator. | "MXX", "43220400|52685200|432206" |
FICode | String | 20 | Conditional field Financial insitution code that entitled for the promotion. Appendix 4 Note: Mandatory if PromoCode is "51". | "MXX" |
OrigCurrCode | String | 3 | Conditional field Original transaction ISO 4217 currency numeric code. Note: Mandatory if OrigTxnAmt exists. | "840" |
OrigTxnAmt | String (Numeric) | 12 | Conditional field Original transaction amount. Note: Mandatory if OrigCurrCode exists. | "298.85" |
ExpOrigTxnAmt | String | 1 | Conditional field Exponent of original transaction amount. Note: Mandatory if OrigTxnAmt exists. | "2" |
Signature | String | 8 | Conditional field Signature. Appendix 2 Note: Mandatory if PortalUserID is present. | "71800248" |
Optional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
OrderRefNo | String | 34 | Order reference number. | "OTMEGASTORE-20010831-ONLINE-007" |
OrderRefNo
field has the following format.
OrderRefNo
field has the following format.First two characters indicate the Usage type and followed by 32 characters of order reference number.
Supported format are as below and subject to future expansion:
EC – eCommerce
MT – Mail Order/Telephone Order
OF – Offline Transaction
OT – Others
AT – Airline Ticket; position 3 to 16 are the Airline Ticket Number; position 17-19 is the Airline 3 alpha code.
For EC, MT, OF and OT - position 3 to 34 are freely formatted by merchant server.
OrderDesc | String | 256 | Order description. | "Coffee Table" |
UserEmail | String | 256 | Customer email address. | "customer123@gmail.com" |
UserContact | String | 20 | Customer contact number. Note: Starting with 6 | "6012888888" |
UserIPAddress | String | 30 | User IP address. | "192.168.2.2" |
PromoCode | String | 2 | Promotion code. | "01" – VISA card, "02" – MasterCard, "49" – Specific card issuer, "60" – Specific list of BINs/IINs of card issuer, "50" – Direct Debit only, "51" – Specific direct debit bank |
CardType | String | 3 | Card type. | "VSA" – Visa card, "MST" - Mastercard, "CUP" – China Union Pay, "AP" – Alipay+ |
CCProcFee | String (Numeric) | 12 | Credit card processing fee. | "010" |
DDProcFee | String (Numeric) | 12 | Direct debit processing fee. | "010" |
InvoiceNo | String | 50 | Invoice number. | "Inv202201120012" |
Fee | String | 257 | Extended fee. | "f00103200f0020250" |
Fee
field has the following TLV format.
Fee
field has the following TLV format.Field | Type | Length | Description |
---|---|---|---|
Tag | String | 4 | Contains the tag identifying the fee type. |
Length | String (Numeric) | 2 | Specifies the length of the fee amount. |
Value | String (Numeric) | Contains the actual fee amount as identified in the tag. |
SuccRespURL | String | 512 | Successful payment page. | "https://xxx.xxxxx.xxx/approved.jsp" |
UnsuccRespURL | String | 512 | Unsuccessful payment page. | "https://xxx.xxxxx.xxx/declined.jsp" |
CancelRespURL | String | 512 | Cancel payment page. | "https://xxx.xxxxx.xxx/cancel.jsp" |
LangLocale | String | 5 | Language of displayed page. | "en" |
MerchHostID | String | 8 | Merchant host identifier. | "M2022121" |
MerchSessionID | String | 256 | Merchant session ID. | "c8t3gprjtl35ms4sm937hj7s30" |
TerminalID | String | 8 | Terminal ID. | "T2022121" |
PortalUserID | String | 256 | Portal user ID. | "O5ACzHbvQNm3iNAwdvi1Sg==" |
POSEnvFlag | String | 1 | POS environment flag. | "C" – Unscheduled credential on file, "I" – Installment, "R" – Recurring |
Mandatory / Conditional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
MerchantID | String | 15 | Merchant ID. Note: Same value of MerchantID stored in properties file. | "000010000099939" |
CardNo | String | 19 | Conditional field Card number. | "545301XXXXXX5323" |
ExpiryYear | String | 2 | Conditional field Card expiry year. | "27" |
ExpiryMth | String | 2 | Conditional field Card expiry month. | "10" |
TxnStatus | String | 2 | Transaction status. Appendix 3 | "00" |
AuthIDRespCode | String | 6 | Conditional field Authorization ID response code. Note: Mandatory for successful payment. | "397939" |
RetrievalRefNo | String | 12 | Conditional field Retrieval reference number. Note: Available if this field returned by Acquirer in the response message. | "301930987112" |
OrigRespCode | String | 8 | Conditional field Original response code. Appendix 3 | "00" |
DDRespCode | String | 8 | Conditional field Direct Debit Response Code. Note: Available if UPP_PM = 00. | "00" |
FICode | String | 20 | Conditional field Financial insitution code. Appendix 4 | "MXX" |
MerchRefNo | String | 40 | Merhant Reference Number. | "20230119110520FNX" |
FPXRefNo | String | 20 | Conditional field Unique FPX reference number. | "3143323587217932" |
OrgDDRespCode | String | 8 | Conditional field Original Direct Debit Response Code. Note: Available if UPP_PM = 00. | "22" |
CardType | String | 3 | Conditional field Card type. | "VSA" – Visa card, "MST" - Mastercard, "CUP" – China Union Pay, "AP" – Alipay+ |
Token | String | 19 | Conditional field Reference number of new card stored. Mandatory if TokenFlag is "Y". | "8801923000216577863" |
MaskCardNo | String | 19 | Conditional field Masked card number. Mandatory if TokenFlag is "Y". | "84415977423665" |
SHAlgorithmType | String | 3 | Secure Hash Algorithm type. | "SH2" |
SHValue | String | 64 | Secure Hash Value. Appendix 1 | "..." |
Optional Fields
Field Name | Type | Length | Description | Example |
---|---|---|---|---|
TxnDtTm | String | 14 | Transaction date and time. Format: yyyymmddhhmmss | "20230119110544" |
TxnAmt | String (Numeric) | 12 | Transaction amount. | "000000001000" |
CurrCode | String | 3 | Currency code. | "458" |
ExpTxnAmt | String | 1 | Exponent of transaction amount. | "2" |
PymtGwRefNo | String | 20 | Payment Gateway reference number. | "230119110548AC031FNX" |
TxnStatDetCde | String | 4 | Transaction status detail code. | "0000" |
TxnStatMsg | String | 256 | Transaction status message. | "SUCCESS" |
MerchHostID | String | 8 | Merchant host identifier. | "M2022121" |
MerchSessionID | String | 256 | Merchant session ID. | "20230113172620" |
OrderRefNo | String | 34 | Order reference number. | "OTMEGASTORE-20010831-ONLINE-007" |
UppPymtMode | String | 2 | Payment mode. | "00" – Credit/Debit card payment, "01" – FPX payment, "02" – QR payment, "99" – Unknown or error |
AcqBank | String | 20 | Acquirer bank that provided installment payment bank. | "EMXX" |
IPPTenure | String | 3 | Installment payment plan tenure. | "3" |
EcommMerchInd | String | 1 | Ecommerce merchant indicator. | "0" - Non-E-Commerce merchant, "1" - E-Commerce (3D Secure), "2" - E-Commerce (Non-3D Secure/MOTO) |
TokenFlag | String | 1 | Card tokenization. | "Y" – Agree to store the card details used for the payment into PayMaster system, "N" – Disagree/FPX payment |
MerchUserID | String | 50 | Merchant user ID. | "guest-finexus" |
TokenShrtName | String | 20 | Profile reference name. | "fnxcard1" |
POSEnvFlag | String | 1 | POS environment flag. | "C" – Unscheduled credential on file, "I" – Installment, "R" – Recurring |
MerchRefNo
, SHAlgorithmType
, OrderRefNo
, CurrCode
, TxnAmt
, ExpTxnAmt
, CardType
, MerchUserID
, TokenFlag
, TokenShrtName
, MerchHostID
, MerchSessionID
, EcommMerchInd
and POSEnvFlag
have the same value as in prior payment request.
Example Message
- Request
- Response
curl -X GET
"https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?h001_MTI=0280&h002_VNO=06&h003_TDT=20221225&h004_TTM=150505000&f001_MID=D1022012123&f007_TxnAmt=000000128099&f010_CurrCode=458&f019_ExpTxnAmt=2&f247_OrgTxnAmt=000000029885&f248_OrgCurrCode=840&f249_TxnCh=API&f250_CCProcFee=000000000010&f251_DDProcFee=000000000010&f252_PromoCode=01&f253_CntyCode=MY&f255_IssCode=43220400|52685200|432206&f256_FICode=MXX&f260_ServID=FNX&f261_HostID=M2022121&f262_SessID=c8t3gprjtl35ms4sm937hj7s30&f263_MRN=2021061414062021072&f264_Locale=en&f270_ORN=OTMEGASTORE-20010831-ONLINE-007&f271_ODesc=Coffee+Table&f278_EMailAddr=customer123%40gmail.com&f279_HP=6012888888&f280_RURL_UPPPS=http%3A%2F%2Fxxx.xxxxx.xxx%2Fapproved.jsp&f281_RURL_UPPPU=http%3A%2F%2Fxxx.xxxxx.xxx%2Fdeclined.jsp&f282_RURL_UPPPC=http%3A%2F%2Fxxx.xxxxx.xxx%2Fcancel.jsp&f285_IPAddr=192.168.2.2&f287_ExpOrgTxnAmt=2&f350_CrdTyp=VSA&f354_TID=T2022121&f325_ECommMercInd=1&f339_TokenFlg=N&f344_MercCustId=&f347_TokenShrtNm=ABC&f362_PreAuthFlg=N&f363_InvNum=Inv202201120012&f364_Fee=f00103200f0020250&f365_POSEnvFlg=C&t001_SHT=SH2&t002_SHV=E73CEDA9D9A8D1AAF59BDB919EF7C82D52671A4B457CE816BCE91AFF31485259" \
"https://xxx.finexusgroup.com/success?h001_MTI=0290&h002_VNO=06&h003_TDT=20230119&h004_TTM=11054420&f001_MID=000010000099939&f004_PAN=545301XXXXXX5323&f005_ExpDate=2710&f006_TxnDtTm=20230119110544&f007_TxnAmt=000000001000&f009_RespCode=00&f010_CurrCode=458&f011_AuthIDResp=397939&f019_ExpTxnAmt=2&f023_RRN=301930987112&f024_OrgRespCode=00&f254_DDRespCode=00&f256_FICode=&f257_PGRN=230119110548AC031FNX&f258_TxnStatDetCde=0000&f259_TxnStatMsg=SUCCESS&f261_HostID=&f262_SessID=20230113172620&f263_MRN=20230119110520FNX&f270_ORN=&f277_DDRN=&f283_UPP_PM=00&f286_OrgDDRespCode=22&f350_CrdTyp=MST&f352_AcqBank=&f353_IPPTenure=&f325_ECommMercInd=1&f339_TokenFlg=Y&f344_MercCustId=guest-finexus&f346_Token=8801923000216577863&f347_TokenShrtNm=fnxcard1&f348_MaskPAN=&f365_POSEnvFlg=R&t001_SHT=SH2&t002_SHV=0F3086E879F80EB6BFA8D0E3FFD2D489AE8F4DDFA7B8F8511151B0BE27CF3B79"