TMS
Legacy API
EMV Config
⚠️

Legacy API — deprecated. This page documents the legacy /api/v2 EMV Config endpoints, kept for existing integrations. New integrations should use the current EMV Config API. Once your PBO group has been switched over to the current Service API, every endpoint on this page — including reads — returns code: 13310 ("Your group has open the multi_acquirers;please use the new Service API") instead of working. See the Service API overview for details.

EMV List

Retrieve the EMV information of a given token bearer.

GET /api/v2/emv
Authorization: Bearer {jwt}

Request

NameInTypeRequiredDescription
pageSizequerynumberfalseDefault 10, query all use -1
pageNumberquerynumberfalseDefault 1

Responses

StatusMeaningDescriptionSchema
200OK (opens in a new tab)Example responseWrapper: Response<T>
Data: EmvInfo
401UnauthorizedAuthentication failedData: Response Code

200 Response

{
  "msg": "SUCCESS",
  "code": 0,
  "data": {
    "total": 9,
    "current": 1,
    "records": [
      {
        "emvName": "l3-mastercard",
        "createdAt": "2024-11-26T02:12:57+0000",
        "groupId": "G-15450991",
        "paymentMethod": "02",
        "id": 1675,
        "params": "{\"appVersion\":\"0002\",\"clTransLimit\":99999999,\"defaultDDOL\":\"039F3704\",\"isNewCVMRuleForMC\":true,\"kernelConfiguration\":\"b0\",\"cvmCapabilityCVMRequired\":\"20\",\"clFloorLimit\":0,\"terminalRiskMgmtData\":\"082C00800000000000\",\"defaultTDOL\":\"0F9F02065F2A029A039C0195059F3704\",\"clCVMLimit\":100000,\"cvmCapabilityNoCVM\":\"08\",\"aid\":\"A0000000041010\"}",
        "aid": "A0000000041010",
        "emvVersion": "v1",
        "updatedAt": "2024-11-26T02:12:57+0000"
      }
    ],
    "hasNext": false
  }
}

EMV Create

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

Request

NameInTypeRequiredDescription
paramsbodyobjecttrueEMV parameters object containing configuration values
emvNamebodystringtrueName of the EMV configuration
paymentMethodbodystringtruePayment method identifier

EMV Parameters

Object KeyTypeComments
aidStringList of Application Identifiers (AID)
appVersionStringapplication version
terminalTransactionQualifiersStringNot available for MC and Amex
clFloorLimitLongContactless floor limit, can keep it as 0 for online only
clTransLimitLongContactless transaction limit, transaction will be declined if auth amount is exceed this limit
clCVMLimitLongContactless CVM limit, If the transaction amount is greater than or equal to the Reader CVM Required Limit, then the reader requires a CVM for the transaction, VISA/UPI/DISCOVER/JCB(greater or equal), MC/Amex(greater)
terminalRiskMgmtDataStringAvailable for MC only
defaultDDOLStringDynamic Data Authentication Data Object List, Can keep the value in json file as default or "039F3704"
defaultTDOLStringDefault Transaction Certificate Data Object List, Can keep the value in json file as default or "0F9F02065F2A029A039C0195059F3704"
kernelConfigurationStringTag DF811B Available for MC only
isNewCVMRuleForMCbooleanAvailable for MC only, default is false
cvmCapabilityCVMRequiredStringTag DF8118
cvmCapabilityNoCVMStringTag DF8119

Body example

{
  "params": {
    "aid": "A0000000041010",
    "appVersion": "0002",
    "clCVMLimit": 100000,
    "clFloorLimit": 0,
    "clTransLimit": 99999999,
    "defaultDDOL": "039F3704",
    "defaultTDOL": "0F9F02065F2A029A039C0195059F3704",
    "isNewCVMRuleForMC": true,
    "terminalRiskMgmtData": "082C00800000000000",
    "terminalTransactionQualifiers": "36000000"
  },
  "emvName": "l3-mastercard",
  "paymentMethod": "02"
}

Responses

StatusMeaningDescriptionSchema
200OK (opens in a new tab)Example responseInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
idnumberfalsenonenone

EMV Delete

DELETE /api/v2/emv/{emvId}
Authorization: Bearer {jwt}

Parameters

NameInTypeRequiredDescription
emvIdpathstringtruenone

Responses

StatusMeaningDescriptionSchema
200OK (opens in a new tab)OKNone

Example Response (200)

Example Response - Delete EMV Config
{
  "msg": "SUCCESS",
  "code": 0
}

EMV Update

Only params is actually persisted by this endpoint, as a merge on top of the existing params object (top-level keys you send overwrite the matching existing key; keys you omit are left untouched) — it is not a full replace. emvName and paymentMethod are accepted in the request body and validated for format, but have no effect on the stored record (the EMV config's name and payment method can't be changed after creation via this endpoint).

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

Request

NameInTypeRequiredDescription
paramsbodyobjecttrueKeys to merge into the existing EMV parameters — see EMV Parameters for available keys
emvNamebodystringfalseValidated but not persisted — has no effect on the stored record
paymentMethodbodystringfalseValidated but not persisted — has no effect on the stored record

Params

EMV Parameters

Request Body Example

Only changing clTransLimit — every other existing key on this EMV config is left untouched:

Example Request - Update EMV Config (partial merge)
{
  "params": {
    "clTransLimit": 50000000
  },
  "emvName": "l3-mastercard",
  "paymentMethod": "02"
}

Responses

StatusMeaningDescriptionSchema
200OK (opens in a new tab)Example responseInline

Example Response (200)

Example Response - Update EMV Config
{
  "msg": "SUCCESS",
  "code": 0
}