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
| Name | Type | Required | Description |
|---|---|---|---|
| paymentMethod | query | false | Filter by payment method code, see PaymentMethod enum |
| currency | query | false | Filter by currency(ISO-4217) |
| emvName | query | false | Filter by EMV config name (partial match) |
| pageNumber | query | false | Default 1 |
| pageSize | query | false | Default 20; use -1 to return all on one page |
Response
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK (opens in a new tab) | OK | Wrapper: 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
| Name | Type | Required | Description |
|---|---|---|---|
| emvName | String | Yes | Name for this EMV config; must be unique within the PBO |
| paymentMethod | String | Yes | Payment method code this config applies to, see PaymentMethod enum |
| currency | String | Yes | Currency this config applies to |
| params | String | Yes | JSON-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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK (opens in a new tab) | Created | Wrapper: 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| emvId | path | number | true | EMV config ID |
| currency | body | String | Yes | Currency this config applies to |
| params | body | String | Yes | JSON-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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK (opens in a new tab) | OK | Wrapper: 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| emvId | path | number | true | EMV config ID |
Response
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK (opens in a new tab) | OK | Wrapper: Response<T> |