预授权支付参数
Method GETURL
https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?
以下参数提供给 PayMaster 进行付款处理。 UPP支付流程完成后,PayMaster将根据完成状态将客户的浏览器重定向到指定的返回URL。
- 请求参数
- 响应参数
必填/条件字段
字段名称 | 类型 | 长度 | 描述 | 例子 |
---|---|---|---|---|
PaymentID | String | 3 | 付款方式/功能。 | "U01" - UPP 交易, "U02" - UPP 交易状态查询 |
EcommMerchInd | String | 1 | 电子商务商户指标。 | "0" - 非电子商务商家, "1" - 电子商务(3D 安全)、 "2" - 电子商务(非 3D 安全/MOTO) |
TxnAmt | String (数字) | 12 | 交易金额保留两位小数和千位符号。 注意: 最大长度包括小数点后的数字。 | "1280.99" |
CurrCode | String | 3 | ISO 4217 货币数字代码。 | "458" |
ExpTxnAmt | String | 1 | 交易金额的指数。 | "2" |
MerchUserID | String | 50 | 条件字段 商户用户 ID。 注意: 如果 TokenFlag 为“Y”则为强制。 | "D1022012123" |
CountryCode | String | 2 | ISO 3166-1 alpha-2 国家代码。 | "MY" |
MerchRefNo | String | 40 | 唯一的商户参考号。 | "2021061414062021072" |
TokenFlag | String | 1 | 卡标记化。 | "Y" – 同意将用于付款的银行卡详细信息存储到 PayMaster 系统中 “N” – 不同意/FPX 付款 |
PreAuthFlag | String | 1 | 预授权交易。 | “A” – 账户验证交易, “N” – 正常交易, “Y” – 预授权交易 |
TokenShrtName | String | 20 | 条件字段 PAN(卡号)配置文件参考名称。 注意: 如果 TokenFlag 为“Y”,则为必填项。 | "ABC" |
CardIssuerCode | String | 512 | 条件字段 发卡机构代码用于指示哪个发卡机构的卡或 BIN/IIN 有权享受促销活动。 注意: 如果 PromoCode 为“49”或“60”,则为必填项。对于超过 1 个值;使用“|”作为分隔符。 | "XXB", "43220400|52685200|432206" |
FICode | String | 20 | 条件字段 有权享受促销活动的金融机构代码。 附录 4 注意: 如果 PromoCode 为“51”,则为必填项。 | "XXB" |
OrigCurrCode | String | 3 | 条件字段 原始交易 ISO 4217 货币数字代码。 注意: 如果 OrigTxnAmt 存在则为必填。 | "840" |
OrigTxnAmt | String (数字) | 12 | 条件字段 原始交易金额。 注意: 如果 OrigCurrCode 存在则为强制。 | "298.85" |
ExpOrigTxnAmt | String | 1 | 条件字段 原始交易金额的指数。 注意: 如果 OrigTxnAmt 存在则为强制。 | "2" |
Signature | String | 8 | 条件字段 签名。 附录 2 注意: 如果存在 PortalUserID ,则为必填项。 | "71800248" |
可选字段
字段名称 | 类型 | 长度 | 描述 | 例子 |
---|---|---|---|---|
OrderRefNo | String | 34 | 订单参考号。 | "OTMEGASTORE-20010831-ONLINE-007" |
OrderRefNo
字段具有以下格式。
OrderRefNo
字段具有以下格式。前两个字符表示使用类型,后跟 32 个字符的订单参考号。
支持的格式如下,并可能在未来扩展:
EC – 电子商务
MT – 邮购/电话订购
OF – 线下交易
OT – 其他的
AT – 机票;第3位至第16位为机票号码;位置 17-19 是航空公司 3 字母代码。
对于 EC、MT、OF 和 OT - 位置 3 到 34 由商家服务器自由格式化。
OrderDesc | String | 256 | 订单描述。 | "Coffee Table" |
UserEmail | String | 256 | 客户电子邮件地址。 | "customer123@gmail.com" |
UserContact | String | 20 | 客户联系电话。 注意: 从 6 开始 | "6012888888" |
UserIPAddress | String | 30 | 用户 IP 地址。 | "192.168.2.2" |
PromoCode | String | 2 | 促销代码。 | "01" – VISA card, "02" – MasterCard, "49" – 特定发卡机构, "60" – 发卡机构的 BIN/IIN 具体列表, "50" – 仅限直接付款, "51" – 特定直接借记银行 |
CardType | String | 3 | 卡型。 | "VSA" – Visa card, "MST" - Mastercard, "CUP" – China Union Pay, "AP" – Alipay+ |
CCProcFee | String (数字) | 12 | 信用卡手续费。 | "010" |
DDProcFee | String (数字) | 12 | 直接借记处理费。 | "010" |
InvoiceNo | String | 50 | 发票号码。 | "Inv202201120012" |
Fee | String | 257 | 延长费用。 | "f00103200f0020250" |
Fee
字段具有以下 TLV 格式。
Fee
字段具有以下 TLV 格式。字段 | 类型 | 长度 | 描述 |
---|---|---|---|
Tag | String | 4 | 包含标识费用类型的标签。 |
Length | String (数字) | 2 | 指定费用金额的长度。 |
Value | String (数字) | 包含标签中标识的实际费用金额。 |
SuccRespURL | String | 512 | 支付成功页面。 | "https://xxx.xxxxx.xxx/approved.jsp" |
UnsuccRespURL | String | 512 | 支付失败页面。 | "https://xxx.xxxxx.xxx/declined.jsp" |
CancelRespURL | String | 512 | 取消支付页面。 | "https://xxx.xxxxx.xxx/cancel.jsp" |
LangLocale | String | 5 | 显示页面的语言。 | "en" |
MerchHostID | String | 8 | 商户主机标识符。 | "M2022121" |
MerchSessionID | String | 256 | 商户会话 ID。 | "c8t3gprjtl35ms4sm937hj7s30" |
TerminalID | String | 8 | 终端 ID。 | "T2022121" |
PortalUserID | String | 256 | 门户用户 ID。 | "O5ACzHbvQNm3iNAwdvi1Sg==" |
POSEnvFlag | String | 1 | POS 环境标志。 | "C" – 未计划的凭证存档, "I" – 分期付款, "R" – 再次发生的 |
必填/条件字段
字段名称 | 类型 | 长度 | 描述 | 例子 |
---|---|---|---|---|
MerchantID | String | 15 | 商户 ID。 注意: 属性文件中存储的“MerchantID”值相同。 | "000010000099939" |
CardNo | String | 19 | 条件字段 卡号。 | "545301XXXXXX5323" |
ExpiryYear | String | 2 | 条件字段 卡到期年份。 | "27" |
ExpiryMth | String | 2 | 条件字段 卡到期月份。 | "10" |
TxnStatus | String | 2 | 交易状态。 附录 3 | "00" |
AuthIDRespCode | String | 6 | 条件字段 授权 ID 响应代码。 注意: 成功付款必须填写。 | "397939" |
RetrievalRefNo | String | 12 | 条件字段 检索参考号。 注意: 如果该字段由收单方在响应消息中返回,则可用。 | "301930987112" |
OrigRespCode | String | 8 | 条件字段 原始响应代码。附录 3 | "00" |
DDRespCode | String | 8 | 条件字段 直接借记响应代码。 注意: 如果 UPP_PM = 00 则可用。 | "00" |
FICode | String | 20 | 条件字段 金融机构代码。 | "MXX" |
MerchRefNo | String | 40 | 商户参考号。 | "20230119110520FNX" |
FPXRefNo | String | 20 | 条件字段 唯一的 FPX 参考号。 | "3143323587217932" |
OrgDDRespCode | String | 8 | 条件字段 原始直接借记响应代码。 注意: 如果 UPP_PM = 00 则可用。 | "22" |
CardType | String | 3 | 条件字段 卡型。 | "VSA" – Visa card, "MST" - Mastercard, "CUP" – China Union Pay, "AP" – Alipay+ |
Token | String | 19 | 条件字段 存储的新卡的参考号。 注意: 如果 TokenFlag 为“Y”则为强制。 | "8801923000216577863" |
MaskCardNo | String | 19 | 条件字段 屏蔽卡号。 注意: 如果 TokenFlag 为“Y”则为强制。 | "84415977423665" |
SHAlgorithmType | String | 3 | 安全哈希算法类型。 | "SH2" |
SHValue | String | 64 | 安全哈希值。 附录 1 | "..." |
可选字段
字段名称 | 类型 | 长度 | 描述 | 例子 |
---|---|---|---|---|
TxnDtTm | String | 14 | 交易日期和时间。 格式:yyyymmddhhmmss | "20230119110544" |
TxnAmt | String (数字) | 12 | 交易金额。 | "000000001000" |
CurrCode | String | 3 | 货币代码。 | "458" |
ExpTxnAmt | String | 1 | 交易金额的指数。 | "2" |
PymtGwRefNo | String | 20 | 支付网关参考号。 | "230119110548AC031FNX" |
TxnStatDetCde | String | 4 | 交易状态详细代码。 | "0000" |
TxnStatMsg | String | 256 | 交易状态信息。. | "SUCCESS" |
MerchHostID | String | 8 | 商户主机标识符。 | "M2022121" |
MerchSessionID | String | 256 | 商户会话 ID。 | "20230113172620" |
OrderRefNo | String | 34 | 订单参考号。 | "OTMEGASTORE-20010831-ONLINE-007" |
UppPymtMode | String | 2 | 付款方式。 | "00" – 信用卡/借记卡付款, "01" – FPX 支付, "02" – QR 支付, "99" – 未知或错误 |
AcqBank | String | 20 | 提供分期付款的收单银行。 | "EMXX" |
IPPTenure | String | 3 | 分期付款计划期限。 | "3" |
EcommMerchInd | String | 1 | 电子商务商户指标。 | "0" - 非电子商务商家, "1" - 电子商务(3D 安全)、 "2" - 电子商务(非 3D 安全/MOTO) |
TokenFlag | String | 1 | 卡标记化。 | “Y” – 同意将用于付款的银行卡详细信息存储到 PayMaster 系统中, “N” – 不同意/FPX 付款 |
MerchUserID | String | 50 | 商户用户 ID。 | "guest-finexus" |
TokenShrtName | String | 20 | 配置文件参考名称。 | "fnxcard1" |
POSEnvFlag | String | 1 | POS 环境标志。 | "C" – 未计划的凭证存档, "I" – 分期付款, "R" – 再次发生的 |
MerchRefNo
、SHAlgorithmType
、OrderRefNo
、CurrCode
、TxnAmt
、ExpTxnAmt
、CardType
、MerchUserID
、TokenFlag
、TokenShrtName
、MerchHostID
、MerchSessionID
、EcommMerchInd
和 POSEnvFlag
具有与先前付款请求中相同的值。
消息示例
- 请求
- 响应
UPP 付款授权请求
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" \
UPP 支付授权响应
"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"