Terminal Configuration — MPGS
Generated page — source of truth is
schema/mpgs.yamlandtemplates/mpgs-uat.j2. Do not edit this file directly.
What is Terminal Configuration?
Every MPGS merchant has one or more terminals — the logical endpoints that process payment transactions. A terminal in MGMT is not necessarily a physical device. For ecommerce and MOTO flows, it represents a processing lane or a workstation identifier that groups transactions together.
Each terminal has two records in MGMT:
- Terminal (
terminal) — identity, status, token handling flags. - Terminal Config (
terminalConfig) — how that terminal processes transactions: which channel it uses, whether it runs sync or async, what acquirer credentials apply.
A single terminal can have multiple terminal config rows — one per processing mode.
In a standard MPGS provisioning, each terminal gets two terminalConfig rows: one
async row (for token and ecom transactions) and one sync row (for card-present).
How Terminal Config Connects to MPG
The channelId in each terminalConfig row determines which MPG entry the terminal
uses for that processing mode. This is the link between the terminal layer and the
MPG array:
terminalConfig row 1: channelId=20189 (sync) → PM0 Bank Card MPG + PM1 Token Sync MPG
terminalConfig row 2: channelId=20188 (async) → PM1 Token Async MPG + PM4 Ecom Processing MPG
The asyncFlag on each row determines the processing mode for that config:
asyncFlag=0→ synchronous processing (response waits for gateway)asyncFlag=1→ asynchronous processing (response is deferred)
The MPG entries for PM1 Token and PM4 Ecom are separated into sync and async entries
specifically because of this terminal config mechanism. A terminal configured with
asyncFlag=1 routes to the defaultFlag=0 MPG entries; a terminal with asyncFlag=0
routes to defaultFlag=1.
Terminal Fields
One terminal record is created per physical or logical terminal.
| Field | Var | MGMT Field | Required | Notes |
|---|---|---|---|---|
| Terminal ID | ter_id |
terId | Required | Also written to workstationId. Unique per merchant. |
Additional fields set by the template with fixed values:
| MGMT Field | Value | Notes |
|---|---|---|
status |
2 |
Active |
description |
MPGS |
|
tokenFlag |
2 |
|
createClientIdFlag |
false |
Terminal Config Fields
Each terminalConfig row connects a terminal to a channel and processing mode.
A standard MPGS provisioning creates two rows per terminal.
| Field | Var | MGMT Field | Required | Sample (UAT) | Notes |
|---|---|---|---|---|---|
| Terminal ID | ter_id |
terId | Required | <TER_ID> |
Must match a terminal record |
| Channel ID | channel_id |
channelId | Required | 20188 or 20189 |
Determines MPG routing |
| Async Flag | async_flag |
asyncFlag | Required | 0 or 1 |
0=sync, 1=async |
| Channel Terminal ID | channel_terminal_id |
channelTerminalId | Required | <secret> |
Acquirer terminal ID |
| Channel Merchant ID | channel_merchant_id |
channelMerchantId | Required | <secret> |
Acquirer merchant ID |
| Partial Auth | partial_auth |
extData1 | Conditional | true |
true = allow partial authorisations |
| API Version | api_version |
extData3 | Conditional | 72 |
MPGS API version |
Fixed template values on every terminalConfig row:
| MGMT Field | Value | Notes |
|---|---|---|
printReceiptFlag |
0 |
Standard Two-Row Terminal Config
A typical MPGS terminal provisioning creates exactly two terminalConfig rows:
Row 1 — Async (Token + Ecom)
| Field | Value | Notes |
|---|---|---|
channelId |
20188 |
Async channel |
asyncFlag |
1 |
Async processing |
channelTerminalId |
<secret> |
|
channelMerchantId |
<secret> |
Row 2 — Sync (Card Present)
| Field | Value | Notes |
|---|---|---|
channelId |
20189 |
Sync channel |
asyncFlag |
0 |
Sync processing |
channelTerminalId |
<secret> |
|
channelMerchantId |
<secret> |
Channel IDs are UAT only — extracted from
values/mpgs-uat.yaml. SIT and PROD values are not in this repository. See Open Item OI-003.
Provisioning Checklist
- [ ] At least one terminal record exists for the merchant
- [ ] Each terminal has a
terminalConfigrow for the async channel (asyncFlag=1) - [ ] Each terminal has a
terminalConfigrow for the sync channel (asyncFlag=0) - [ ]
channelTerminalIdandchannelMerchantIdare supplied via secrets manager - [ ]
channelIdon each row matches the corresponding channel in the MPG array
Open Items
| # | Item | Impact |
|---|---|---|
| OI-003 | Channel IDs are UAT only | Cannot document SIT/PROD terminal config values |
See Also
- MerchantPaymentGateway Configuration — how channel IDs link terminal config to MPG entries
- Merchant Configuration — merchant and group fields
- Tokenisation — STS token space setup
- Field Catalog — full field reference