Payment Methods & Capability Bitmap
Generated — source of truth:
data/reference/mpg_bits.yaml+src/render.py (_PM_NAMES, _ROLE_NAMES).
The capability bitmap is the last segment of every SKU code:
INDUSTRY-REGION-SOLUTION-VARIANT-BITS
Each bit position maps to one payment method (PM) slot. 1 = active, 0 = absent.
Capability Bitmap
| Bit Position | PM Slot | Payment Method | Active if bit = |
|---|---|---|---|
| 1 | PM0 | Bank Card | 1 |
| 2 | PM1 | Token | 1 |
| 3 | PM2 | QR MS | 1 |
| 4 | PM3 | QR GS | 1 |
| 5 | PM4 | Ecommerce | 1 |
| 6 | PM5 | Gift | 1 |
Example: 010010 → PM1 (Token) and PM4 (Ecommerce) active. PM0, PM2, PM3, PM5 absent.
Example: 110000 → PM0 (Bank Card) and PM1 (Token) active. No ecommerce.
PM99 — MPI / 3DS
PM slot 99 is reserved for MPI / 3DS authentication and is not encoded in the 6-bit
bitmap. Its presence is determined by the variant letter and the gateway schema
(schema/elavon.yaml has mpg: {pm: 99, role: mpi}).
PM Slot Reference
| PM Slot | Display Name | Description |
|---|---|---|
| PM0 | Bank Card | Card-present transactions through a physical terminal |
| PM1 | Token | Tokenised MOTO or card-on-file transactions |
| PM2 | QR MS | QR code payments (Mastercard Send) |
| PM3 | QR GS | QR code payments (Global Standard) |
| PM4 | Ecommerce | Browser-based via hosted payment page or Drop-in SDK |
| PM5 | Gift | Gift card / stored value |
| PM99 | MPI / 3DS | 3D Secure authentication (not in bitmap) |
Role Identifiers
Each MPG entry in a gateway schema carries a role string identifying its function
within the PM slot. Multiple entries can share the same PM slot with different roles
(e.g. MPGS PM1 has token_sync and token_async to support both processing modes).
| Role | Display Name | PM Slot | Notes |
|---|---|---|---|
bank_card |
Bank Card | PM0 | Standard card-present entry |
token |
Token | PM1 | Single token entry (Adyen) |
token_sync |
Token (Sync) | PM1 | Sync processing — defaultFlag=1 (MPGS) |
token_async |
Token (Async) | PM1 | Async processing — defaultFlag=0 (MPGS) |
ecom |
Ecommerce | PM4 | Single ecom entry (Adyen) |
ecom_widget |
Ecom Widget (HPP) | PM4 | Hosted payment page widget entry (MPGS) |
ecom_processing |
Ecom Processing | PM4 | Backend processing entry for ecom (MPGS) |
mpi |
MPI / 3DS | PM99 | 3DS authentication entry (Elavon) |
qr_ms |
QR MS | PM2 | QR Mastercard Send |
qr_gs |
QR GS | PM3 | QR Global Standard |
gift |
Gift | PM5 | Gift card / stored value |
Why does MPGS PM4 have two entries? The
ecom_widgetentry serves the Hosted Payment Page (no gateway credentials — HPP is served by MPGS directly). Theecom_processingentry handles the backend authorisation. Both must be provisioned for ecommerce to function.
See Also
- SKU Naming Convention — how the bitmap sits within the full SKU
- Solution IDs
- Industry Codes