Data Model
Shapes returned by the Service API. Request bodies are documented field-by-field on each endpoint page.
Response Type
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 |
acqType | String | Optional | "card" or "qr" — the kind of payment methods this profile can accept, see PaymentMethod |
asDefault | Boolean | Optional | Whether this is the default profile for its acqType (only one per acqType can be default) |
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 |
enablerMsgFormat | String | Optional | Overrides the PBO-level Enabler message format for this profile only |
enablerParams | String | Optional | Comma/semicolon-separated list of device/activation-code-level param field names (e.g. "acqMid,acqTid") this profile expects under extParams.acquirers.{profileId} on Generate Activation Code; falls back to the PBO's group-level list when blank |
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 |
emvList | String | Always | JSON-encoded map of PaymentMethod code → EMV config IDs |
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 | PaymentMethod code this config applies to |
currency | String | Optional | Currency this config applies to |
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 |
createdAt | String | Optional | Creation timestamp |
updatedAt | String | Optional | Last update timestamp |
Merchant
| Name | Schema | Presence | Description |
|---|---|---|---|
mchId | String | Required | Merchant unique ID generated by MineSec system |
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 | Optional | Country code (ISO 3166-1 alpha-2) |
currency | String | Optional | Merchant's default settlement currency (ISO 4217) |
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) |
acquirers | Array<Object> | Optional | Read-only summary of the acquirer profiles currently bound to this merchant through Merchant payment config. One entry per distinct acquirer profile the merchant has at least one payment method bound to — not the full method/EMV detail |
acquirers[].profileId | Number | Optional | Acquirer profile ID |
acquirers[].profileName | String | Optional | Acquirer profile display name |
acquirers[].currency | String | Optional | Settlement currency of this binding |
acquirers[].acqType | String | Optional | "card" or "qr" |
acquirers[].enablerMsgFormat | String | Optional | Enabler message format override on this profile, if any |
acquirers[].methodList | String | Optional | JSON-encoded map of PaymentMethod code → allowed entry-mode tags for this profile |
acquirers[].emvList | String | Optional | JSON-encoded map of PaymentMethod code → EMV config IDs for this profile |
supportedPayments | Array<String> | Optional | Flattened list of every PaymentMethod code bound to this merchant across all acquirer profiles — a convenience view derived from acquirers |
hasKioskTerminal | Boolean | Optional | Whether this merchant currently has at least one terminal/device registered as a kiosk-type device |
MerchantPaymentConfig
Response shape for List Payment Config. One entry per
(acquirerProfileId, currency)binding on the merchant.
| Name | Schema | Presence | Description |
|---|---|---|---|
merchantId | String | Always | Merchant unique ID |
acquirerProfileId | String | Always | Acquirer profile ID this binding applies to |
acquirerProfileName | String | Always | Acquirer profile display name |
acqType | String | Always | "card" or "qr" |
currency | String | Always | Currency this binding applies to |
mid | String | Optional | Merchant ID at the acquirer host for this binding, if different from the PBO-level default |
paymentMethods | Array<Object> | Always | Payment methods bound under this profile/currency |
paymentMethods[].paymentMethodCode | String | Always | PaymentMethod code |
paymentMethods[].paymentMethodName | String | Always | Payment method name, e.g. VISA |
paymentMethods[].displayName | String | Always | Human-readable display name, e.g. Visa |
paymentMethods[].paymentType | String | Always | "card" or "qr" |
paymentMethods[].allows | Array<String>? | Optional | Allowed transaction types; reserved for future use |
paymentMethods[].emvs | Array<Object> | Optional | EMV configs applied to this payment method |
paymentMethods[].emvs[].emvId | Number | Always | EMV config ID |
paymentMethods[].emvs[].emvName | String | Always | EMV config 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 |
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
Every payment method is either a card or a qr method. An acquirer profile has an
acqType of card or qr, and can only be bound to payment methods of the matching type.
| Property | Value | Code | Type |
|---|---|---|---|
| paymentMethod | VISA | 01 | card |
| paymentMethod | MASTERCARD | 02 | card |
| paymentMethod | UNIONPAY | 03 | card |
| paymentMethod | AMEX | 04 | card |
| paymentMethod | DISCOVER | 05 | card |
| paymentMethod | JCB | 06 | card |
| paymentMethod | DINERS | 07 | card |
| paymentMethod | APPLE | 08 | card |
| paymentMethod | 09 | card | |
| paymentMethod | HIMYAN | 14 | card |
| paymentMethod | NAPS | 15 | card |
| paymentMethod | ELO | 16 | card |
| paymentMethod | TAKAPAY | 17 | card |
| paymentMethod | CPACE | 20 | card |
| paymentMethod | NAPAS | 22 | card |
| paymentMethod | MAESTRO | 23 | card |
| paymentMethod | SADEEQ | 25 | card |
| paymentMethod | UCARD | 26 | card |
| paymentMethod | CUP | 27 | card |
| paymentMethod | SMARTPAY | 28 | card |
| paymentMethod | MY_DEBIT | 29 | card |
| paymentMethod | TROY | 30 | card |
| paymentMethod | A1 | qr | |
| paymentMethod | ALIPAY | A2 | qr |
| paymentMethod | EZ_PAY | A3 | qr |
| paymentMethod | VISA_QR | B1 | qr |
| paymentMethod | MASTERCARD_QR | B2 | qr |
| paymentMethod | UNIONPAY_QR | B3 | qr |
| paymentMethod | SHOPEE_PAY_QR | C1 | qr |
| paymentMethod | PAY_NOW | C2 | qr |
| paymentMethod | LINEPAY_QR | C3 | qr |
| paymentMethod | PI_QR | C4 | qr |
| paymentMethod | ESUNWALLET_QR | C5 | qr |
| paymentMethod | TAIWANPAY_QR | C6 | qr |
| paymentMethod | EASYWALLET_QR | C7 | qr |
| paymentMethod | GRAB_PAY_QR | C8 | qr |
| paymentMethod | GAMA_PAY_QR | C9 | qr |
| paymentMethod | ICASH_PAY_QR | C10 | qr |
| paymentMethod | IPASSMONEY_PAY_QR | C11 | qr |
| paymentMethod | JKOPAY_QR | C12 | qr |
| paymentMethod | OPAY_QR | C13 | qr |
| paymentMethod | PXPAYPLUS_QR | C14 | qr |
| paymentMethod | PLUSPAY_QR | C15 | qr |
| paymentMethod | XIAOYOU_PAY_QR | C16 | qr |
| paymentMethod | ALIPAY_PLUS_QR | C17 | qr |
| paymentMethod | DUIT_NOW_QR | C18 | qr |
| paymentMethod | BONUSPAY_QR | C19 | qr |
| paymentMethod | CASHLEZ_QR | C20 | qr |
| paymentMethod | JCB_EMV_QR | C21 | qr |
| paymentMethod | PH_QR | C22 | qr |
| paymentMethod | LINEPAYMONEY_QR | C23 | qr |
| paymentMethod | PAYPAY_QR | C24 | qr |
| paymentMethod | BCCARD_QR | C25 | qr |
| paymentMethod | NETS_QR | C26 | qr |
| paymentMethod | NTTDATA_QR | C27 | qr |