Data Model (MMS)
Legacy API — deprecated. Data models for the legacy
/api/v2endpoints. For the current version, see Data Model.
Request Type
OrderRequest
| Name | In | Type | Presence | Description |
|---|---|---|---|---|
Authorization | header | String | Required | Bearer Token |
createdStart | query | String(date) | Optional | none |
createdEnd | query | String(date) | Optional | none |
transactionId | query | String | Optional | none |
acquirerRefNo | query | String | Optional | none |
deviceId | query | String | Optional | none |
pageSize | query | Number | Optional | Default 10, query all use -1 |
pageNumber | query | Number | Optional | Default 1 |
settleState | query | Number | Optional | WAIT_FOR_SETTLE: 0 |
state | query | Number | Optional | INIT: 0, PROCESSING: 1, APPROVED: 2, DECLINED: 3, VOIDED: 4, REFUNDED: 5, CLOSED: 6, REVERSED: 7 |
MerchantRequest
groupIdis not a field on this request — the PBO is always taken from your auth token, and anygroupIdyou 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).
| Name | Schema | Presence | Description |
|---|---|---|---|
mchName | String | Optional | Merchant name |
providerReference | String | Optional | PBO unique ID for the merchant (must be unique per merchant) |
contactName | String | Optional | Contact name of merchant |
contactEmail | String | Optional | Contact email of merchant |
contactAddress | String | Optional | Contact address of merchant (will be presented in e-receipt if set) |
contactPhone | String | Optional | Contact phone of merchant |
mcc | String | Optional | Merchant category code (refer to ISO18245) |
country | String | Required | Merchant's country (ISO 3166-1 alpha-2 code), e.g. SG |
state | int | Optional | 1 - merchant is activated and allowed to do payment0 - merchant is inactivated |
timeZone | String | Optional | Timezone of merchant (if not provided, defaults to PBO's timezone) |
receiptLogo | String | Optional | Merchant logo URL or a base64-encoded jpg/jpeg/png image |
extParams | Object | Optional | Extra parameters (e.g., MID/TID, SubMID, subTID, secret Token) |
terminalEmvParams | Object | Optional | EMV parameters (won't impact settings for issued activation codes) |
profileId | String | Optional | Shorthand to bind this merchant to one acquirer profile, for every payment method that profile supports. Ignored if supportedPaymentMethods is also sent |
supportedPaymentMethods | Array<Object> | Optional | Explicit 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[].paymentMethod | String | Required | VISA, 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[].profileId | Number | Required | Acquirer 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
| Name | Schema | Presence | Description |
|---|---|---|---|
emvParams | Object | Required | EMV parameters for the device |
emvParams.amexFloorLimit | String | Required | Amex floor limit (e.g., "00000100") |
emvParams.terminalCountryCode | String | Required | Terminal country code (e.g., "0840" for USA) |
emvParams.txnCurrencyCode | String | Required | Transaction currency code (e.g., "0840" for USD) |
emvParams.amexExReaderCapability | String | Required | Amex extended reader capability (e.g., "18E00003") |
emvParams.amexReaderCapability | String | Required | Amex reader capability (e.g., "C3") |
emvParams.terminalType | String | Required | Terminal type (e.g., "21") |
emvParams.terminalCapability | String | Required | Terminal capability (e.g., "0068C8") |
emvParams.ifdSN | String | Optional | IFD serial number (e.g., "00001234") |
emvParams.emvFlags | String | Required | EMV flags (e.g., "VMAUJDP") |
activateCodeAlias | String | Required | Activation code alias |
deviceType | String | Required | Device type (e.g., "COTS") |
methodList | String | Required | Comma-separated list of payment methods |
extParams | Object | Required | Extra parameters (e.g., MID/TID values) |
mchId | String | Required | Merchant ID |
EmvRequest
| Name | Schema | Presence | Description |
|---|---|---|---|
aid | String | Required | List of Application Identifiers (AID) |
appVersion | String | Required | Application version |
terminalTransactionQualifiers | String | Optional | Terminal transaction qualifiers (not available for MC and Amex) |
clFloorLimit | Long | Required | Contactless floor limit (can be 0 for online only) |
clTransLimit | Long | Required | Contactless transaction limit (transaction declined if amount exceeds this limit) |
clCVMLimit | Long | Required | Contactless CVM limit (if amount is ≥ this value, reader requires CVM) |
terminalRiskMgmtData | String | Optional | Terminal Risk Management Data (available for MC only) |
defaultDDOL | String | Optional | Dynamic Data Authentication Data Object List (default or "039F3704") |
defaultTDOL | String | Optional | Default Transaction Certificate Data Object List (default or "0F9F02065F2A029A039C0195059F3704") |
kernelConfiguration | String | Optional | Tag DF811B (available for MC only) |
isNewCVMRuleForMC | Boolean | Optional | Enable new MC CVM rules (available for MC only, default is false) |
cvmCapabilityCVMRequired | String | Optional | CVM Capability – CVM Required (Tag DF8118) |
cvmCapabilityNoCVM | String | Optional | CVM Capability – No CVM Required (Tag DF8119) |
AcqProfileRequest
Used by Create/Update Acquirer Profile.
emvListandmethodListare 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.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
profileName | body | String | Required | Display name for this acquirer profile; must be unique within the PBO |
currency | body | String | Required | Settlement currency this profile is created for |
connMessageFormat | body | String | Required | Host message format used on this connection (e.g. MS_ENABLER) |
connUrl | body | String? | Optional | Acquirer host endpoint URL |
notifyUrl | body | String? | Optional | Callback URL for async notifications from this acquirer |
connTimeout | body | Number? | Optional | Connection timeout in milliseconds |
connRequestTimeout | body | Number? | Optional | Request timeout in milliseconds |
emvList | body | String? | Optional | JSON-encoded map of EMV config IDs to apply per payment method — see note above |
emvList.01 | decoded | Array<Number>? | Optional | EMV config IDs (from EMV Config) applied to VISA transactions |
emvList.02 | decoded | Array<Number>? | Optional | EMV config IDs applied to MASTERCARD transactions |
emvList.03 | decoded | Array<Number>? | Optional | EMV config IDs applied to UNIONPAY transactions |
emvList.04 | decoded | Array<Number>? | Optional | EMV config IDs applied to AMEX transactions |
emvList.05 | decoded | Array<Number>? | Optional | EMV config IDs applied to DISCOVER transactions |
emvList.06 | decoded | Array<Number>? | Optional | EMV config IDs applied to JCB transactions |
methodList | body | String? | Optional | JSON-encoded map of allowed entry-mode tags (e.g. "contactless") per payment method — see note above |
methodList.01 | decoded | Array<String>? | Optional | Allowed entry-mode tags for VISA |
methodList.02 | decoded | Array<String>? | Optional | Allowed entry-mode tags for MASTERCARD |
methodList.03 | decoded | Array<String>? | Optional | Allowed entry-mode tags for UNIONPAY |
methodList.04 | decoded | Array<String>? | Optional | Allowed entry-mode tags for AMEX |
methodList.05 | decoded | Array<String>? | Optional | Allowed entry-mode tags for DISCOVER |
methodList.06 | decoded | Array<String>? | Optional | Allowed entry-mode tags for JCB |
Response Type
PboInfo
| Name | Schema | Presence | Description |
|---|---|---|---|
groupName | String | Always | |
messageFormat | String | Always | |
groupId | String | Always | |
supportUrl | String? | Optional | |
logo | String? | Optional | |
timeZone | String? | Optional | |
emailSender | String? | Optional | |
updatedAt | String | Always |
AcquirerProfile
| Name | Schema | Presence | Description |
|---|---|---|---|
profileId | Int | Always | Acquirer profile ID |
profileName | String | Always | Display name for this acquirer profile |
groupId | String | Always | Owning PBO group ID |
asDefault | Boolean | Optional | Whether this is the PBO's default acquirer profile |
asSettleBlock | Boolean | Optional | Whether transactions on this profile are excluded from PBO settlement processing |
currency | String | Always | Settlement currency this profile is created for |
connUrl | String | Always | Acquirer host endpoint URL |
notifyUrl | String | Always | Callback URL for async notifications from this acquirer |
connMessageFormat | String | Always | Host message format used on this connection |
connTimeout | Int | Always | Connection timeout in milliseconds |
connRequestTimeout | Int | Always | Request timeout in milliseconds |
connRetryCount | Int | Optional | Number of retries on a failed request to the acquirer host |
connSync | Int | Optional | Whether the connection to the acquirer host is synchronous (1) or asynchronous (0) |
connExtraParams | String | Always | JSON-encoded extra connection parameters passed to the host |
merchantParams | String | Optional | Comma/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 |
methodList | String | Always | JSON-encoded map of PaymentMethod code → allowed entry-mode tags, see AcqProfileRequest |
emvList | String | Always | JSON-encoded map of PaymentMethod code → EMV config IDs, see AcqProfileRequest |
createdBy | String | Always | User/API key that created this profile |
createdAt | String | Always | Creation timestamp |
updatedAt | String | Optional | Last update timestamp |
EmvInfo
| Name | Schema | Presence | Description |
|---|---|---|---|
id | Number | Required | EMV config ID |
groupId | String | Always | Owning PBO group ID |
emvName | String | Required | EMV configuration name |
paymentMethod | String | Required | Payment method |
params | String | Required | JSON-encoded string of EMV parameters — decoded shape below |
params.aid | String | Optional | Application Identifier |
params.appVersion | String | Optional | Application version |
params.clCVMLimit | Number | Optional | Contactless CVM limit |
params.clFloorLimit | Number | Optional | Contactless floor limit |
params.clTransLimit | Number | Optional | Contactless transaction limit |
params.defaultDDOL | String | Optional | Default DDOL |
params.defaultTDOL | String | Optional | Default TDOL |
params.isNewCVMRuleForMC | Boolean | Optional | Enable new MC CVM rules |
params.terminalRiskMgmtData | String | Optional | Terminal Risk Management Data |
params.terminalTransactionQualifiers | String | Optional | Terminal transaction qualifiers |
aid | String | Optional | Top-level Application Identifier, duplicate of params.aid |
emvVersion | String | Optional | EMV config version tag |
createdAt | String | Optional | Creation timestamp |
updatedAt | String | Optional | Last update timestamp |
Merchant
| Name | Schema | Presence | Description |
|---|---|---|---|
mchName | String | Optional | Merchant name |
mchId | String | Required | Merchant unique ID generated by MineSec system |
providerReference | String | Optional | PBO unique ID for the merchant (must be unique per merchant) |
contactName | String | Optional | Contact name of merchant |
contactEmail | String | Optional | Contact email of merchant |
contactAddress | String | Optional | Contact address of merchant (will be presented in e-receipt if set) |
contactPhone | String | Optional | Contact phone of merchant |
mcc | String | Optional | Merchant category code (refer to ISO18245) |
country | String | Optional | Country code (ISO 3166-1 alpha-2) |
activated | Boolean | Optional | true - merchant is activated and allowed to do paymentfalse - merchant is inactivated |
timeZone | String | Optional | Timezone of merchant (if not provided, defaults to PBO's timezone) |
receiptLogo | String | Optional | Merchant logo URL or a base64-encoded jpg/jpeg/png image |
extParams | Object | Optional | Extra parameters (e.g., MID/TID, SubMID, subTID, secret Token) |
terminalEmvParams | Object | Optional | EMV parameters (won't impact settings for issued activation codes) |
supportedPayments | Array<String> | Optional | Flattened list of every PaymentMethod code bound to this merchant across all acquirer profiles — a convenience view derived from the merchant's payment config |
hasKioskTerminal | Boolean | Optional | Whether this merchant currently has at least one terminal/device registered as a kiosk-type device |
PaymentMethodBinding
| Name | Schema | Presence | Description |
|---|---|---|---|
paymentMethod | String | Always | Payment method |
mchId | String | Always | Merchant unique ID (generated by MineSec) |
profileId | Int | Always | Acquirer profile ID (generated by MineSec) |
profileName | String | Always | Acquirer profile display name |
Device
| Name | Schema | Presence | Description |
|---|---|---|---|
deviceId | String | Required | Device identifier (in path or, for list responses, the activation-code/device ID) |
uuid | String | Optional | Device's own unique identifier, distinct from deviceId |
deviceType | String | Optional | Device type |
deviceStatus | Number | Optional | Device 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 |
isDevice | Boolean | Optional | Whether this record is an activated device bound to a physical/SDK instance, as opposed to an unused activation code still awaiting activation |
deviceAdmin | String | Optional | Device admin |
activateCodeAlias | String | Optional | Activation code alias |
activesAt | String | Optional | Timestamp the device was activated |
createdAt | String | Optional | Creation timestamp |
updatedAt | String | Optional | Last update timestamp |
emvParams | String | Optional | EMV parameters |
methodList | String | Optional | List of payment methods |
extParams | String | Optional | Extra parameters |
OrderList
| Name | Schema | Presence | Description |
|---|---|---|---|
tranId | String | Optional | Transaction ID |
amount | Object | Optional | Transaction amount information |
amount.currency | String | Optional | Currency code |
amount.value | Int | Optional | Amount value (in smallest unit) |
approvalCode | String | Optional | Approval code |
batchNo | String | Optional | Batch number |
cvmPerformed | String | Optional | CVM method used: NO_CVM, SIGNATURE, PIN, CDCVM |
appName | String | Optional | Application name |
linkedTranId | String | Optional | Linked transaction ID (for refunds/voids) |
mchName | String | Optional | Merchant name |
tsi | String | Optional | Transaction Status Indicator |
acqTid | String | Optional | Acquirer Terminal ID |
rrn | String | Optional | Retrieval Reference Number |
tc | String | Optional | Transaction Certificate |
tranStatus | String | Optional | Transaction status: PROCESSING, APPROVED, DECLINED, VOIDED, REVERSED, AUTH_ONLY, ADJUSTED |
tranType | String | Optional | Transaction type: SALE, REFUND, AUTH |
atc | String | Optional | Application Transaction Counter |
tvr | String | Optional | Terminal Verification Results |
trace | String | Optional | Trace number |
acqMid | String | Optional | Acquirer Merchant ID |
accountMasked | String | Optional | Masked card number |
sdkId | String | Optional | SDK identifier |
paymentMethod | String | Optional | Payment method used (see Enums section for values) |
hostMessageFormat | String | Optional | Host message format |
aid | String | Optional | Application Identifier |
entryMode | String | Optional | Entry mode |
OrderDetail
| Name | Schema | Presence | Description |
|---|---|---|---|
tranId | String | Optional | Transaction ID |
approvalCode | String | Optional | Approval code |
cvmPerformed | String | Optional | CVM method used: NO_CVM, SIGNATURE, PIN, CDCVM |
tsi | String | Optional | Transaction Status Indicator |
tranStatus | String | Optional | Transaction status: PROCESSING, APPROVED, DECLINED, VOIDED, REVERSED, AUTH_ONLY, ADJUSTED |
tranType | String | Optional | Transaction type: SALE, REFUND, AUTH |
atc | String | Optional | Application Transaction Counter |
trace | String | Optional | Trace number |
acqMid | String | Optional | Acquirer Merchant ID |
callbackUrl | String | Optional | Callback URL |
entryMode | String | Optional | Entry mode |
amount | Object | Optional | Transaction amount information |
amount.currency | String | Optional | Currency code |
amount.value | Integer | Optional | Amount value (in smallest unit) |
batchNo | String | Optional | Batch number |
appName | String | Optional | Application name |
linkedTranId | String | Optional | Linked transaction ID (for refunds/voids) |
mchName | String | Optional | Merchant name |
acqTid | String | Optional | Acquirer Terminal ID |
rrn | String | Optional | Retrieval Reference Number |
tc | String | Optional | Transaction Certificate |
tvr | String | Optional | Terminal Verification Results |
accountMasked | String | Optional | Masked card number |
sdkId | String | Optional | SDK identifier |
paymentMethod | String | Optional | Payment method (see Enums section for values) |
hostMessageFormat | String | Optional | Host message format |
actions | Array<Object> | Optional | Transaction actions |
actions[].tranId | String | Optional | Transaction ID |
actions[].actionType | String | Optional | Action type |
actions[].reason | String | Optional | Action reason |
actions[].amount | Object | Optional | Action amount |
actions[].amount.currency | String | Optional | Currency code |
actions[].amount.value | Integer | Optional | Amount value |
actions[].trace | String | Optional | Trace number |
actions[].actionStatus | String | Optional | Action status |
actions[].hostRespCode | String | Optional | Host response code |
actions[].actionId | String | Optional | Action ID |
aid | String | Optional | Application Identifier |
SettleDetail
| Name | Schema | Presence | Description |
|---|---|---|---|
paymentAmt | Int | Optional | Total payment amount |
profileName | String | Optional | Acquirer profile name |
profileMessage | String | Optional | Profile message |
refundCount | Int | Optional | Number of refund transactions |
uuid | String | Optional | Unique settlement identifier |
acquirerMid | String | Optional | Acquirer Merchant ID |
mchName | String | Optional | Merchant name |
voidAmt | Int | Optional | Total void amount |
batchId | String | Optional | Batch identifier |
transactions | Array<Object> | Optional | List of transactions in the settlement |
transactions[].amount | Int | Optional | Transaction amount |
transactions[].transType | String | Optional | Transaction type |
transactions[].count | Int | Optional | Count of transactions |
transactions[].paymentMethod | String | Optional | Payment method used |
createdAt | String | Optional | Settlement creation timestamp |
successTime | String | Optional | Settlement success timestamp |
currency | String | Optional | Currency code |
acquirerTid | String | Optional | Acquirer Terminal ID |
state | Int | Optional | Settlement state: 0 - WAIT_FOR_SETTLE, 1 - SETTLED, 2 - SETTLE_FAILED |
acquirerRefNo | String | Optional | Acquirer reference number |
acquirerCode | String | Optional | Acquirer code |
paymentCount | Int | Optional | Number of payment transactions |
refundAmt | Int | Optional | Total refund amount |
voidCount | Int | Optional | Number of void transactions |
Common
Response<T>
| Name | Schema | Presence | Description |
|---|---|---|---|
msg | String | Always | |
code | Int | Always | |
data | T? | Optional | Only exist if success |
Response List<T>
| Name | Schema | Presence | Description |
|---|---|---|---|
msg | String | Always | |
code | Int | Always | |
data | T? | Optional | Only exist if success |
total | Number | Always | Total records count |
current | Number | Always | Current page number |
records | Array<T> | Always | Page records |
hasNext | Boolean | Always | Has next page flag |
Enums
PaymentMethod
| Property | Value | Code |
|---|---|---|
| paymentMethod | VISA | 01 |
| paymentMethod | MASTERCARD | 02 |
| paymentMethod | UNIONPAY | 03 |
| paymentMethod | AMEX | 04 |
| paymentMethod | DISCOVER | 05 |
| paymentMethod | JCB | 06 |
| paymentMethod | DINERS | 07 |
| paymentMethod | APPLE | 08 |
| paymentMethod | 09 | |
| paymentMethod | HIMYAN | 14 |
| paymentMethod | NAPS | 15 |
| paymentMethod | ELO | 16 |
| paymentMethod | TAKAPAY | 17 |
| paymentMethod | CPACE | 20 |
| paymentMethod | NAPAS | 22 |
| paymentMethod | MAESTRO | 23 |
| paymentMethod | SADEEQ | 25 |
| paymentMethod | UCARD | 26 |
| paymentMethod | CUP | 27 |
| paymentMethod | SMARTPAY | 28 |
| paymentMethod | MY_DEBIT | 29 |
| paymentMethod | TROY | 30 |
| paymentMethod | A1 | |
| paymentMethod | ALIPAY | A2 |
| paymentMethod | EZ_PAY | A3 |
| paymentMethod | VISA_QR | B1 |
| paymentMethod | MASTERCARD_QR | B2 |
| paymentMethod | UNIONPAY_QR | B3 |
| paymentMethod | SHOPEE_PAY_QR | C1 |
| paymentMethod | PAY_NOW | C2 |
| paymentMethod | LINEPAY_QR | C3 |
| paymentMethod | PI_QR | C4 |
| paymentMethod | ESUNWALLET_QR | C5 |
| paymentMethod | TAIWANPAY_QR | C6 |
| paymentMethod | EASYWALLET_QR | C7 |
| paymentMethod | GRAB_PAY_QR | C8 |
| paymentMethod | GAMA_PAY_QR | C9 |
| paymentMethod | ICASH_PAY_QR | C10 |
| paymentMethod | IPASSMONEY_PAY_QR | C11 |
| paymentMethod | JKOPAY_QR | C12 |
| paymentMethod | OPAY_QR | C13 |
| paymentMethod | PXPAYPLUS_QR | C14 |
| paymentMethod | PLUSPAY_QR | C15 |
| paymentMethod | XIAOYOU_PAY_QR | C16 |
| paymentMethod | ALIPAY_PLUS_QR | C17 |
| paymentMethod | DUIT_NOW_QR | C18 |
| paymentMethod | BONUSPAY_QR | C19 |
| paymentMethod | CASHLEZ_QR | C20 |
| paymentMethod | JCB_EMV_QR | C21 |
| paymentMethod | PH_QR | C22 |
| paymentMethod | LINEPAYMONEY_QR | C23 |
| paymentMethod | PAYPAY_QR | C24 |
| paymentMethod | BCCARD_QR | C25 |
| paymentMethod | NETS_QR | C26 |
| paymentMethod | NTTDATA_QR | C27 |