TMS
Legacy API
Data Model

Data Model (MMS)

Legacy API — deprecated. Data models for the legacy /api/v2 endpoints. For the current version, see Data Model.

Request Type

OrderRequest

NameInTypePresenceDescription
AuthorizationheaderStringRequiredBearer Token
createdStartqueryString(date)Optionalnone
createdEndqueryString(date)Optionalnone
transactionIdqueryStringOptionalnone
acquirerRefNoqueryStringOptionalnone
deviceIdqueryStringOptionalnone
pageSizequeryNumberOptionalDefault 10, query all use -1
pageNumberqueryNumberOptionalDefault 1
settleStatequeryNumberOptionalWAIT_FOR_SETTLE: 0
statequeryNumberOptionalINIT: 0, PROCESSING: 1, APPROVED: 2, DECLINED: 3, VOIDED: 4, REFUNDED: 5, CLOSED: 6, REVERSED: 7

MerchantRequest

groupId is not a field on this request — the PBO is always taken from your auth token, and any groupId you send in the body is silently ignored. You do not need to send it (some older examples show it being passed; it has no effect).

NameSchemaPresenceDescription
mchNameStringOptionalMerchant name
providerReferenceStringOptionalPBO unique ID for the merchant (must be unique per merchant)
contactNameStringOptionalContact name of merchant
contactEmailStringOptionalContact email of merchant
contactAddressStringOptionalContact address of merchant (will be presented in e-receipt if set)
contactPhoneStringOptionalContact phone of merchant
mccStringOptionalMerchant category code (refer to ISO18245)
countryStringRequiredMerchant's country (ISO 3166-1 alpha-2 code), e.g. SG
stateintOptional1 - merchant is activated and allowed to do payment
0 - merchant is inactivated
timeZoneStringOptionalTimezone of merchant (if not provided, defaults to PBO's timezone)
receiptLogoStringOptionalMerchant logo URL or a base64-encoded jpg/jpeg/png image
extParamsObjectOptionalExtra parameters (e.g., MID/TID, SubMID, subTID, secret Token)
terminalEmvParamsObjectOptionalEMV parameters (won't impact settings for issued activation codes)
profileIdStringOptionalShorthand to bind this merchant to one acquirer profile, for every payment method that profile supports. Ignored if supportedPaymentMethods is also sent
supportedPaymentMethodsArray<Object>OptionalExplicit per-method acquirer bindings — see below. If both this and profileId are omitted, the merchant is bound to the PBO's default acquirer profile (the one with asDefault: true), if one is configured
supportedPaymentMethods[].paymentMethodStringRequiredVISA, MASTERCARD, UNIONPAY, AMEX, JCB, DISCOVER, DINERS, or the wildcard ALL (binds every payment method the target profile supports). Note: these are method names, not the numeric PaymentMethod codes used elsewhere (e.g. EMV/Acquirer methodList/emvList)
supportedPaymentMethods[].profileIdNumberRequiredAcquirer profile ID to bind this payment method to, from Get Acquirer Profiles. Must belong to your own PBO — a profileId from another group is silently skipped

DeviceRequest

NameSchemaPresenceDescription
emvParamsObjectRequiredEMV parameters for the device
emvParams.amexFloorLimitStringRequiredAmex floor limit (e.g., "00000100")
emvParams.terminalCountryCodeStringRequiredTerminal country code (e.g., "0840" for USA)
emvParams.txnCurrencyCodeStringRequiredTransaction currency code (e.g., "0840" for USD)
emvParams.amexExReaderCapabilityStringRequiredAmex extended reader capability (e.g., "18E00003")
emvParams.amexReaderCapabilityStringRequiredAmex reader capability (e.g., "C3")
emvParams.terminalTypeStringRequiredTerminal type (e.g., "21")
emvParams.terminalCapabilityStringRequiredTerminal capability (e.g., "0068C8")
emvParams.ifdSNStringOptionalIFD serial number (e.g., "00001234")
emvParams.emvFlagsStringRequiredEMV flags (e.g., "VMAUJDP")
activateCodeAliasStringRequiredActivation code alias
deviceTypeStringRequiredDevice type (e.g., "COTS")
methodListStringRequiredComma-separated list of payment methods
extParamsObjectRequiredExtra parameters (e.g., MID/TID values)
mchIdStringRequiredMerchant ID

EmvRequest

NameSchemaPresenceDescription
aidStringRequiredList of Application Identifiers (AID)
appVersionStringRequiredApplication version
terminalTransactionQualifiersStringOptionalTerminal transaction qualifiers (not available for MC and Amex)
clFloorLimitLongRequiredContactless floor limit (can be 0 for online only)
clTransLimitLongRequiredContactless transaction limit (transaction declined if amount exceeds this limit)
clCVMLimitLongRequiredContactless CVM limit (if amount is ≥ this value, reader requires CVM)
terminalRiskMgmtDataStringOptionalTerminal Risk Management Data (available for MC only)
defaultDDOLStringOptionalDynamic Data Authentication Data Object List (default or "039F3704")
defaultTDOLStringOptionalDefault Transaction Certificate Data Object List (default or "0F9F02065F2A029A039C0195059F3704")
kernelConfigurationStringOptionalTag DF811B (available for MC only)
isNewCVMRuleForMCBooleanOptionalEnable new MC CVM rules (available for MC only, default is false)
cvmCapabilityCVMRequiredStringOptionalCVM Capability – CVM Required (Tag DF8118)
cvmCapabilityNoCVMStringOptionalCVM Capability – No CVM Required (Tag DF8119)

AcqProfileRequest

Used by Create/Update Acquirer Profile. emvList and methodList are both sent as a JSON-encoded string (not a nested object — the same way they come back on AcquirerProfile, e.g. "methodList": "{\"01\":[]}"), keyed by PaymentMethod code (01 = VISA, 02 = MASTERCARD, 03 = UNIONPAY, 04 = AMEX, 05 = DISCOVER, 06 = JCB) — set a key only for the payment methods this acquirer profile actually accepts. The rows below describe the decoded shape of each string.

NameInTypeRequiredDescription
profileNamebodyStringRequiredDisplay name for this acquirer profile; must be unique within the PBO
currencybodyStringRequiredSettlement currency this profile is created for
connMessageFormatbodyStringRequiredHost message format used on this connection (e.g. MS_ENABLER)
connUrlbodyString?OptionalAcquirer host endpoint URL
notifyUrlbodyString?OptionalCallback URL for async notifications from this acquirer
connTimeoutbodyNumber?OptionalConnection timeout in milliseconds
connRequestTimeoutbodyNumber?OptionalRequest timeout in milliseconds
emvListbodyString?OptionalJSON-encoded map of EMV config IDs to apply per payment method — see note above
emvList.01decodedArray<Number>?OptionalEMV config IDs (from EMV Config) applied to VISA transactions
emvList.02decodedArray<Number>?OptionalEMV config IDs applied to MASTERCARD transactions
emvList.03decodedArray<Number>?OptionalEMV config IDs applied to UNIONPAY transactions
emvList.04decodedArray<Number>?OptionalEMV config IDs applied to AMEX transactions
emvList.05decodedArray<Number>?OptionalEMV config IDs applied to DISCOVER transactions
emvList.06decodedArray<Number>?OptionalEMV config IDs applied to JCB transactions
methodListbodyString?OptionalJSON-encoded map of allowed entry-mode tags (e.g. "contactless") per payment method — see note above
methodList.01decodedArray<String>?OptionalAllowed entry-mode tags for VISA
methodList.02decodedArray<String>?OptionalAllowed entry-mode tags for MASTERCARD
methodList.03decodedArray<String>?OptionalAllowed entry-mode tags for UNIONPAY
methodList.04decodedArray<String>?OptionalAllowed entry-mode tags for AMEX
methodList.05decodedArray<String>?OptionalAllowed entry-mode tags for DISCOVER
methodList.06decodedArray<String>?OptionalAllowed entry-mode tags for JCB

Response Type

PboInfo

NameSchemaPresenceDescription
groupNameStringAlways
messageFormatStringAlways
groupIdStringAlways
supportUrlString?Optional
logoString?Optional
timeZoneString?Optional
emailSenderString?Optional
updatedAtStringAlways

AcquirerProfile

NameSchemaPresenceDescription
profileIdIntAlwaysAcquirer profile ID
profileNameStringAlwaysDisplay name for this acquirer profile
groupIdStringAlwaysOwning PBO group ID
asDefaultBooleanOptionalWhether this is the PBO's default acquirer profile
asSettleBlockBooleanOptionalWhether transactions on this profile are excluded from PBO settlement processing
currencyStringAlwaysSettlement currency this profile is created for
connUrlStringAlwaysAcquirer host endpoint URL
notifyUrlStringAlwaysCallback URL for async notifications from this acquirer
connMessageFormatStringAlwaysHost message format used on this connection
connTimeoutIntAlwaysConnection timeout in milliseconds
connRequestTimeoutIntAlwaysRequest timeout in milliseconds
connRetryCountIntOptionalNumber of retries on a failed request to the acquirer host
connSyncIntOptionalWhether the connection to the acquirer host is synchronous (1) or asynchronous (0)
connExtraParamsStringAlwaysJSON-encoded extra connection parameters passed to the host
merchantParamsStringOptionalComma/semicolon-separated list of merchant-level param field names for this profile; independent of enablerParams — a merchant-level value seeds the device-level default but either can be overridden at its own level
methodListStringAlwaysJSON-encoded map of PaymentMethod code → allowed entry-mode tags, see AcqProfileRequest
emvListStringAlwaysJSON-encoded map of PaymentMethod code → EMV config IDs, see AcqProfileRequest
createdByStringAlwaysUser/API key that created this profile
createdAtStringAlwaysCreation timestamp
updatedAtStringOptionalLast update timestamp

EmvInfo

NameSchemaPresenceDescription
idNumberRequiredEMV config ID
groupIdStringAlwaysOwning PBO group ID
emvNameStringRequiredEMV configuration name
paymentMethodStringRequiredPayment method
paramsStringRequiredJSON-encoded string of EMV parameters — decoded shape below
params.aidStringOptionalApplication Identifier
params.appVersionStringOptionalApplication version
params.clCVMLimitNumberOptionalContactless CVM limit
params.clFloorLimitNumberOptionalContactless floor limit
params.clTransLimitNumberOptionalContactless transaction limit
params.defaultDDOLStringOptionalDefault DDOL
params.defaultTDOLStringOptionalDefault TDOL
params.isNewCVMRuleForMCBooleanOptionalEnable new MC CVM rules
params.terminalRiskMgmtDataStringOptionalTerminal Risk Management Data
params.terminalTransactionQualifiersStringOptionalTerminal transaction qualifiers
aidStringOptionalTop-level Application Identifier, duplicate of params.aid
emvVersionStringOptionalEMV config version tag
createdAtStringOptionalCreation timestamp
updatedAtStringOptionalLast update timestamp

Merchant

NameSchemaPresenceDescription
mchNameStringOptionalMerchant name
mchIdStringRequiredMerchant unique ID generated by MineSec system
providerReferenceStringOptionalPBO unique ID for the merchant (must be unique per merchant)
contactNameStringOptionalContact name of merchant
contactEmailStringOptionalContact email of merchant
contactAddressStringOptionalContact address of merchant (will be presented in e-receipt if set)
contactPhoneStringOptionalContact phone of merchant
mccStringOptionalMerchant category code (refer to ISO18245)
countryStringOptionalCountry code (ISO 3166-1 alpha-2)
activatedBooleanOptionaltrue - merchant is activated and allowed to do payment
false - merchant is inactivated
timeZoneStringOptionalTimezone of merchant (if not provided, defaults to PBO's timezone)
receiptLogoStringOptionalMerchant logo URL or a base64-encoded jpg/jpeg/png image
extParamsObjectOptionalExtra parameters (e.g., MID/TID, SubMID, subTID, secret Token)
terminalEmvParamsObjectOptionalEMV parameters (won't impact settings for issued activation codes)
supportedPaymentsArray<String>OptionalFlattened list of every PaymentMethod code bound to this merchant across all acquirer profiles — a convenience view derived from the merchant's payment config
hasKioskTerminalBooleanOptionalWhether this merchant currently has at least one terminal/device registered as a kiosk-type device

PaymentMethodBinding

NameSchemaPresenceDescription
paymentMethodStringAlwaysPayment method
mchIdStringAlwaysMerchant unique ID (generated by MineSec)
profileIdIntAlwaysAcquirer profile ID (generated by MineSec)
profileNameStringAlwaysAcquirer profile display name

Device

NameSchemaPresenceDescription
deviceIdStringRequiredDevice identifier (in path or, for list responses, the activation-code/device ID)
uuidStringOptionalDevice's own unique identifier, distinct from deviceId
deviceTypeStringOptionalDevice type
deviceStatusNumberOptionalDevice status code. Confirmed values (from Terminal Logout & Suspend): 2 = Logged out, 3 = Decommissioned. Other values seen in list responses (e.g. 1, for an active/normal device) aren't explicitly enumerated elsewhere in the API reference
isDeviceBooleanOptionalWhether this record is an activated device bound to a physical/SDK instance, as opposed to an unused activation code still awaiting activation
deviceAdminStringOptionalDevice admin
activateCodeAliasStringOptionalActivation code alias
activesAtStringOptionalTimestamp the device was activated
createdAtStringOptionalCreation timestamp
updatedAtStringOptionalLast update timestamp
emvParamsStringOptionalEMV parameters
methodListStringOptionalList of payment methods
extParamsStringOptionalExtra parameters

OrderList

NameSchemaPresenceDescription
tranIdStringOptionalTransaction ID
amountObjectOptionalTransaction amount information
amount.currencyStringOptionalCurrency code
amount.valueIntOptionalAmount value (in smallest unit)
approvalCodeStringOptionalApproval code
batchNoStringOptionalBatch number
cvmPerformedStringOptionalCVM method used: NO_CVM, SIGNATURE, PIN, CDCVM
appNameStringOptionalApplication name
linkedTranIdStringOptionalLinked transaction ID (for refunds/voids)
mchNameStringOptionalMerchant name
tsiStringOptionalTransaction Status Indicator
acqTidStringOptionalAcquirer Terminal ID
rrnStringOptionalRetrieval Reference Number
tcStringOptionalTransaction Certificate
tranStatusStringOptionalTransaction status: PROCESSING, APPROVED, DECLINED, VOIDED, REVERSED, AUTH_ONLY, ADJUSTED
tranTypeStringOptionalTransaction type: SALE, REFUND, AUTH
atcStringOptionalApplication Transaction Counter
tvrStringOptionalTerminal Verification Results
traceStringOptionalTrace number
acqMidStringOptionalAcquirer Merchant ID
accountMaskedStringOptionalMasked card number
sdkIdStringOptionalSDK identifier
paymentMethodStringOptionalPayment method used (see Enums section for values)
hostMessageFormatStringOptionalHost message format
aidStringOptionalApplication Identifier
entryModeStringOptionalEntry mode

OrderDetail

NameSchemaPresenceDescription
tranIdStringOptionalTransaction ID
approvalCodeStringOptionalApproval code
cvmPerformedStringOptionalCVM method used: NO_CVM, SIGNATURE, PIN, CDCVM
tsiStringOptionalTransaction Status Indicator
tranStatusStringOptionalTransaction status: PROCESSING, APPROVED, DECLINED, VOIDED, REVERSED, AUTH_ONLY, ADJUSTED
tranTypeStringOptionalTransaction type: SALE, REFUND, AUTH
atcStringOptionalApplication Transaction Counter
traceStringOptionalTrace number
acqMidStringOptionalAcquirer Merchant ID
callbackUrlStringOptionalCallback URL
entryModeStringOptionalEntry mode
amountObjectOptionalTransaction amount information
amount.currencyStringOptionalCurrency code
amount.valueIntegerOptionalAmount value (in smallest unit)
batchNoStringOptionalBatch number
appNameStringOptionalApplication name
linkedTranIdStringOptionalLinked transaction ID (for refunds/voids)
mchNameStringOptionalMerchant name
acqTidStringOptionalAcquirer Terminal ID
rrnStringOptionalRetrieval Reference Number
tcStringOptionalTransaction Certificate
tvrStringOptionalTerminal Verification Results
accountMaskedStringOptionalMasked card number
sdkIdStringOptionalSDK identifier
paymentMethodStringOptionalPayment method (see Enums section for values)
hostMessageFormatStringOptionalHost message format
actionsArray<Object>OptionalTransaction actions
actions[].tranIdStringOptionalTransaction ID
actions[].actionTypeStringOptionalAction type
actions[].reasonStringOptionalAction reason
actions[].amountObjectOptionalAction amount
actions[].amount.currencyStringOptionalCurrency code
actions[].amount.valueIntegerOptionalAmount value
actions[].traceStringOptionalTrace number
actions[].actionStatusStringOptionalAction status
actions[].hostRespCodeStringOptionalHost response code
actions[].actionIdStringOptionalAction ID
aidStringOptionalApplication Identifier

SettleDetail

NameSchemaPresenceDescription
paymentAmtIntOptionalTotal payment amount
profileNameStringOptionalAcquirer profile name
profileMessageStringOptionalProfile message
refundCountIntOptionalNumber of refund transactions
uuidStringOptionalUnique settlement identifier
acquirerMidStringOptionalAcquirer Merchant ID
mchNameStringOptionalMerchant name
voidAmtIntOptionalTotal void amount
batchIdStringOptionalBatch identifier
transactionsArray<Object>OptionalList of transactions in the settlement
transactions[].amountIntOptionalTransaction amount
transactions[].transTypeStringOptionalTransaction type
transactions[].countIntOptionalCount of transactions
transactions[].paymentMethodStringOptionalPayment method used
createdAtStringOptionalSettlement creation timestamp
successTimeStringOptionalSettlement success timestamp
currencyStringOptionalCurrency code
acquirerTidStringOptionalAcquirer Terminal ID
stateIntOptionalSettlement state: 0 - WAIT_FOR_SETTLE, 1 - SETTLED, 2 - SETTLE_FAILED
acquirerRefNoStringOptionalAcquirer reference number
acquirerCodeStringOptionalAcquirer code
paymentCountIntOptionalNumber of payment transactions
refundAmtIntOptionalTotal refund amount
voidCountIntOptionalNumber of void transactions

Common

Response<T>

NameSchemaPresenceDescription
msgStringAlways
codeIntAlways
dataT?OptionalOnly exist if success

Response List<T>

NameSchemaPresenceDescription
msgStringAlways
codeIntAlways
dataT?OptionalOnly exist if success
totalNumberAlwaysTotal records count
currentNumberAlwaysCurrent page number
recordsArray<T>AlwaysPage records
hasNextBooleanAlwaysHas next page flag

Enums

PaymentMethod

PropertyValueCode
paymentMethodVISA01
paymentMethodMASTERCARD02
paymentMethodUNIONPAY03
paymentMethodAMEX04
paymentMethodDISCOVER05
paymentMethodJCB06
paymentMethodDINERS07
paymentMethodAPPLE08
paymentMethodGOOGLE09
paymentMethodHIMYAN14
paymentMethodNAPS15
paymentMethodELO16
paymentMethodTAKAPAY17
paymentMethodCPACE20
paymentMethodNAPAS22
paymentMethodMAESTRO23
paymentMethodSADEEQ25
paymentMethodUCARD26
paymentMethodCUP27
paymentMethodSMARTPAY28
paymentMethodMY_DEBIT29
paymentMethodTROY30
paymentMethodWECHATA1
paymentMethodALIPAYA2
paymentMethodEZ_PAYA3
paymentMethodVISA_QRB1
paymentMethodMASTERCARD_QRB2
paymentMethodUNIONPAY_QRB3
paymentMethodSHOPEE_PAY_QRC1
paymentMethodPAY_NOWC2
paymentMethodLINEPAY_QRC3
paymentMethodPI_QRC4
paymentMethodESUNWALLET_QRC5
paymentMethodTAIWANPAY_QRC6
paymentMethodEASYWALLET_QRC7
paymentMethodGRAB_PAY_QRC8
paymentMethodGAMA_PAY_QRC9
paymentMethodICASH_PAY_QRC10
paymentMethodIPASSMONEY_PAY_QRC11
paymentMethodJKOPAY_QRC12
paymentMethodOPAY_QRC13
paymentMethodPXPAYPLUS_QRC14
paymentMethodPLUSPAY_QRC15
paymentMethodXIAOYOU_PAY_QRC16
paymentMethodALIPAY_PLUS_QRC17
paymentMethodDUIT_NOW_QRC18
paymentMethodBONUSPAY_QRC19
paymentMethodCASHLEZ_QRC20
paymentMethodJCB_EMV_QRC21
paymentMethodPH_QRC22
paymentMethodLINEPAYMONEY_QRC23
paymentMethodPAYPAY_QRC24
paymentMethodBCCARD_QRC25
paymentMethodNETS_QRC26
paymentMethodNTTDATA_QRC27