Merchant Management Service
API Reference(NEW)
EMV Config

EMV configs are referenced by ID from Acquirer Profile (emvList) and Merchant payment config (paymentMethods[].emvs) — an EMV config isn't tied to one acquirer or merchant, it's a reusable template within the PBO.

EMV List

GET /api/openapi/v1/emv
Authorization: Bearer {jwt}

Parameters

NameTypeRequiredDescription
paymentMethodqueryfalseFilter by payment method code, see PaymentMethod enum
currencyqueryfalseFilter by currency(ISO-4217)
emvNamequeryfalseFilter by EMV config name (partial match)
pageNumberqueryfalseDefault 1
pageSizequeryfalseDefault 20; use -1 to return all on one page

Response

StatusMeaningDescriptionSchema
200OK (opens in a new tab)OKWrapper: Response List<T>
Data: EmvInfo

Example Response (200)

{
  "msg": "SUCCESS",
  "code": 0,
  "data": {
    "total": 1,
    "current": 1,
    "hasNext": false,
    "records": [
      {
        "id": 1675,
        "groupId": "G-12345678",
        "emvName": "l3-visa",
        "paymentMethod": "01",
        "currency": "USD",
        "params": "{\"aid\":\"A0000000031010\",\"appVersion\":\"0002\",\"clFloorLimit\":0,\"clTransLimit\":99999999,\"clCVMLimit\":100000}",
        "createdAt": "2026-05-01T02:12:57+0000",
        "updatedAt": "2026-05-01T02:12:57+0000"
      }
    ]
  }
}

EMV Create

POST /api/openapi/v1/emv
Content-Type: application/json
Authorization: Bearer {jwt}

Parameters

NameTypeRequiredDescription
emvNameStringYesName for this EMV config; must be unique within the PBO
paymentMethodStringYesPayment method code this config applies to, see PaymentMethod enum
currencyStringYesCurrency this config applies to
paramsStringYesJSON-encoded string of EMV parameters (aid, appVersion, clFloorLimit, clTransLimit, clCVMLimit, etc.) — see EmvInfo for the full key list

Request Body Example

{
  "emvName": "l3-visa",
  "paymentMethod": "01",
  "currency": "USD",
  "params": "{\"aid\":\"A0000000031010\",\"appVersion\":\"0002\",\"clFloorLimit\":0,\"clTransLimit\":99999999,\"clCVMLimit\":100000,\"defaultDDOL\":\"039F3704\",\"defaultTDOL\":\"0F9F02065F2A029A039C0195059F3704\"}"
}

Response

StatusMeaningDescriptionSchema
200OK (opens in a new tab)CreatedWrapper: Response<T>
Data: { id: number }
code: 10000, "name exist"emvName already used in this PBO

Example Response (200)

{
  "msg": "SUCCESS",
  "code": 0,
  "data": {
    "id": 1675
  }
}

EMV Update

emvId and paymentMethod are immutable — only currency and params can be changed.

PUT /api/openapi/v1/emv/{emvId}
Content-Type: application/json
Authorization: Bearer {jwt}

Parameters

NameInTypeRequiredDescription
emvIdpathnumbertrueEMV config ID
currencybodyStringYesCurrency this config applies to
paramsbodyStringYesJSON-encoded string of EMV parameters, same as Create

Request Body Example

{
  "currency": "USD",
  "params": "{\"aid\":\"A0000000031010\",\"appVersion\":\"0002\",\"clFloorLimit\":0,\"clTransLimit\":50000000,\"clCVMLimit\":100000}"
}

Response

StatusMeaningDescriptionSchema
200OK (opens in a new tab)OKWrapper: Response<T>

EMV Delete

Fails if any acquirer/merchant still has bound to this emv — remove those bindings first

DELETE /api/openapi/v1/emv/{emvId}
Authorization: Bearer {jwt}

Parameters

NameInTypeRequiredDescription
emvIdpathnumbertrueEMV config ID

Response

StatusMeaningDescriptionSchema
200OK (opens in a new tab)OKWrapper: Response<T>