Merchant Management Service
API Reference(NEW)
Data Model

Data Model

Shapes returned by the Service API. Request bodies are documented field-by-field on each endpoint page.

Response Type

AcquirerProfile

NameSchemaPresenceDescription
profileIdIntAlwaysAcquirer profile ID
profileNameStringAlwaysDisplay name for this acquirer profile
groupIdStringAlwaysOwning PBO group ID
acqTypeStringOptional"card" or "qr" — the kind of payment methods this profile can accept, see PaymentMethod
asDefaultBooleanOptionalWhether this is the default profile for its acqType (only one per acqType can be default)
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
enablerMsgFormatStringOptionalOverrides the PBO-level Enabler message format for this profile only
enablerParamsStringOptionalComma/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
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
emvListStringAlwaysJSON-encoded map of PaymentMethod code → EMV config IDs
createdByStringAlwaysUser/API key that created this profile
createdAtStringAlwaysCreation timestamp
updatedAtStringOptionalLast update timestamp

EmvInfo

NameSchemaPresenceDescription
idNumberRequiredEMV config ID
groupIdStringAlwaysOwning PBO group ID
emvNameStringRequiredEMV configuration name
paymentMethodStringRequiredPaymentMethod code this config applies to
currencyStringOptionalCurrency this config applies to
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
createdAtStringOptionalCreation timestamp
updatedAtStringOptionalLast update timestamp

Merchant

NameSchemaPresenceDescription
mchIdStringRequiredMerchant unique ID generated by MineSec system
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)
countryStringOptionalCountry code (ISO 3166-1 alpha-2)
currencyStringOptionalMerchant's default settlement currency (ISO 4217)
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)
acquirersArray<Object>OptionalRead-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[].profileIdNumberOptionalAcquirer profile ID
acquirers[].profileNameStringOptionalAcquirer profile display name
acquirers[].currencyStringOptionalSettlement currency of this binding
acquirers[].acqTypeStringOptional"card" or "qr"
acquirers[].enablerMsgFormatStringOptionalEnabler message format override on this profile, if any
acquirers[].methodListStringOptionalJSON-encoded map of PaymentMethod code → allowed entry-mode tags for this profile
acquirers[].emvListStringOptionalJSON-encoded map of PaymentMethod code → EMV config IDs for this profile
supportedPaymentsArray<String>OptionalFlattened list of every PaymentMethod code bound to this merchant across all acquirer profiles — a convenience view derived from acquirers
hasKioskTerminalBooleanOptionalWhether 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.

NameSchemaPresenceDescription
merchantIdStringAlwaysMerchant unique ID
acquirerProfileIdStringAlwaysAcquirer profile ID this binding applies to
acquirerProfileNameStringAlwaysAcquirer profile display name
acqTypeStringAlways"card" or "qr"
currencyStringAlwaysCurrency this binding applies to
midStringOptionalMerchant ID at the acquirer host for this binding, if different from the PBO-level default
paymentMethodsArray<Object>AlwaysPayment methods bound under this profile/currency
paymentMethods[].paymentMethodCodeStringAlwaysPaymentMethod code
paymentMethods[].paymentMethodNameStringAlwaysPayment method name, e.g. VISA
paymentMethods[].displayNameStringAlwaysHuman-readable display name, e.g. Visa
paymentMethods[].paymentTypeStringAlways"card" or "qr"
paymentMethods[].allowsArray<String>?OptionalAllowed transaction types; reserved for future use
paymentMethods[].emvsArray<Object>OptionalEMV configs applied to this payment method
paymentMethods[].emvs[].emvIdNumberAlwaysEMV config ID
paymentMethods[].emvs[].emvNameStringAlwaysEMV config 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

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

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.

PropertyValueCodeType
paymentMethodVISA01card
paymentMethodMASTERCARD02card
paymentMethodUNIONPAY03card
paymentMethodAMEX04card
paymentMethodDISCOVER05card
paymentMethodJCB06card
paymentMethodDINERS07card
paymentMethodAPPLE08card
paymentMethodGOOGLE09card
paymentMethodHIMYAN14card
paymentMethodNAPS15card
paymentMethodELO16card
paymentMethodTAKAPAY17card
paymentMethodCPACE20card
paymentMethodNAPAS22card
paymentMethodMAESTRO23card
paymentMethodSADEEQ25card
paymentMethodUCARD26card
paymentMethodCUP27card
paymentMethodSMARTPAY28card
paymentMethodMY_DEBIT29card
paymentMethodTROY30card
paymentMethodWECHATA1qr
paymentMethodALIPAYA2qr
paymentMethodEZ_PAYA3qr
paymentMethodVISA_QRB1qr
paymentMethodMASTERCARD_QRB2qr
paymentMethodUNIONPAY_QRB3qr
paymentMethodSHOPEE_PAY_QRC1qr
paymentMethodPAY_NOWC2qr
paymentMethodLINEPAY_QRC3qr
paymentMethodPI_QRC4qr
paymentMethodESUNWALLET_QRC5qr
paymentMethodTAIWANPAY_QRC6qr
paymentMethodEASYWALLET_QRC7qr
paymentMethodGRAB_PAY_QRC8qr
paymentMethodGAMA_PAY_QRC9qr
paymentMethodICASH_PAY_QRC10qr
paymentMethodIPASSMONEY_PAY_QRC11qr
paymentMethodJKOPAY_QRC12qr
paymentMethodOPAY_QRC13qr
paymentMethodPXPAYPLUS_QRC14qr
paymentMethodPLUSPAY_QRC15qr
paymentMethodXIAOYOU_PAY_QRC16qr
paymentMethodALIPAY_PLUS_QRC17qr
paymentMethodDUIT_NOW_QRC18qr
paymentMethodBONUSPAY_QRC19qr
paymentMethodCASHLEZ_QRC20qr
paymentMethodJCB_EMV_QRC21qr
paymentMethodPH_QRC22qr
paymentMethodLINEPAYMONEY_QRC23qr
paymentMethodPAYPAY_QRC24qr
paymentMethodBCCARD_QRC25qr
paymentMethodNETS_QRC26qr
paymentMethodNTTDATA_QRC27qr