Endpoint Solutions Overview

Before you open any gateway configuration page, read this. It takes five minutes and will make every other page in this portal make sense.


The Platform in One Sentence

This platform provisions merchants onto payment gateways by writing configuration to a chain of MGMT API endpoints — in a fixed order — so that each payment method a merchant supports has a complete, connected set of records.


1. The Provisioning Dependency Chain

The seven-object view is useful, but it is only the top-level abstraction. The real provisioning flow in the Jinja template is a dependency chain: each provisioning context must be created in the right order because downstream objects depend on the ones that came before them.

The current template in templates/mpgs-uat.j2 materializes this flow as a sequence of provisioning contexts: group, merchant, mpg, apiuser, terminals, terminalconfigs, and sts. The STS portion is especially important because it contains sub-steps that are conceptually separate even though they sit under one STS block in the template.

Group (optional)
  └── Merchant
        ├── MerchantPaymentGateway entries ×N
        ├── API User
        └── Terminal(s)
              ├── TerminalConfig rows ×N
              └── STS context (if token flows are needed)
                    ├── Token Space
                    ├── Token Repository
                    ├── STS API User / access principal
                    └── Token-channel permissions
Step Provisioning context What it creates Why it must come here
1 Group Logical container for merchants at the same property Establishes the owning container before any merchant-specific records
2 Merchant Core merchant identity, gateway credentials, SKU stamp Creates the root merchant record that all downstream objects reference
3 MerchantPaymentGateway One or more MPG entries for the active PM slots Depends on the merchant and on the selected payment-method configuration
4 API User Service account used for system-to-system access Depends on the merchant context and is required for subsequent automation steps
5 Terminal(s) Physical or virtual point of interaction Required before terminal-level configuration can be attached
6 TerminalConfig rows Per-terminal routing and processing settings Depends on the terminal object and the selected processing mode
7 STS Token Space Logical container for STS repositories Required before any token repository or token access can exist
8 STS Token Repository Storage location for token records Depends on the token space and is required for token-based flows
9 STS API User / access principal Identity used to access the STS Depends on the token space and is needed for token operations
10 STS token-channel permissions Access grants for the token channel Depends on the STS context and the channel configuration

Why does order matter? The provisioning graph is sequential. You cannot create a MerchantPaymentGateway before the Merchant exists, you cannot create TerminalConfig before the Terminal exists, and you cannot create STS repositories or access grants before the STS token space exists. The Jinja template encodes this order so the automation can materialize the full workflow in one run.

Note: The repository currently exposes the STS setup as a single sts block in the template, with sub-objects for token space, repository, API user, and token-channel config. If a future version introduces separate STS user objects or additional permission objects, they should be added as additional dependency steps in this sequence.


2. SKU Naming Convention First

Before you read any schema or gateway detail, start with the SKU naming convention. A SKU is a five-segment code that uniquely identifies a merchant product configuration. Every field in the system traces back to the SKU — it determines which gateway is used, which payment methods are active, and which schema fields apply.

C2C  -  ALL  -  0006  -  A  -  010010
 │       │       │       │      │
 │       │       │       │      └── Capability Bitmap (6 bits, one per PM slot)
 │       │       │       └───────── Variant letter
 │       │       └───────────────── Solution ID → maps to a gateway + integration
 │       └───────────────────────── Region code (ALL = global)
 └───────────────────────────────── Industry code

Decoded example — C2C-ALL-0006-A-010010:

Segment Value Meaning
Industry C2C C2C Ecommerce
Region ALL All regions
Solution 0006 MPGS SPF
Variant A Baseline variant
Bitmap 010010 PM1 (Token) + PM4 (Ecommerce) active

See SKU Naming Convention for the full reference.


3. What Are Payment Method Slots?

A payment method slot (PM slot) defines a channel of payment acceptance. Each active slot in a merchant's bitmap requires at least one MerchantPaymentGateway entry — sometimes two if the gateway splits the same slot into sync and async processing modes.

PM Slot Channel Typical use case
PM0 Bank Card (Card Present) Physical POS terminal
PM1 Token MOTO, card-on-file, recurring
PM2 QR MS QR code via Mastercard Send
PM3 QR GS QR code via Global Standard
PM4 Ecommerce Hosted payment page / Drop-in SDK
PM5 Gift Gift card / stored value
PM99 MPI / 3DS 3DS authentication (not in bitmap)

The bitmap tells you exactly how many MPG entries to create:

Bitmap Active PMs MPG entries needed
110000 PM0 + PM1 3 (PM0×1 + PM1×2 for sync/async on MPGS)
010010 PM1 + PM4 4 (PM1×2 + PM4×2 widget/processing on MPGS)
110000 PM0 + PM1 2 (PM0×1 + PM1×1 on Adyen — no sync/async split)

MPGS PM1 has two entries; Adyen PM1 has one. The gateway determines the entry count per slot — not the bitmap alone. Always read the gateway's MPG Configuration page alongside the bitmap.

See Payment Methods & Capability Bitmap for the full reference including role identifiers.


4. Solutions and Gateways

A Solution ID maps an industry product to a specific gateway and integration pattern. The solution determines which schema file applies and which gateway configuration pages to follow. For new work, microservice-based solutions are the preferred target state. SPF solutions remain documented for backward compatibility, reference, and migration planning while the platform transitions over time.

Solution Gateway Integration Status
0001 Adyen SPF Retiring
0002 FreedomPay SPF Active
0003 Elavon SPF Active
0004 Planet SPF Active
0005 Shift4 SPF Active
0006 MPGS SPF Active
1002 FreedomPay MS Active
1003 Elavon MS Active
1004 Planet MS Active

Note

See Solution IDs for the full reference.


5. Active Products (SKUs)

The portal currently documents the following active SKUs:

SKU Industry Gateway PM Slots Documentation
C2C-ALL-0006-A-010010 C2C Ecommerce MPGS SPF PM1 + PM4 ✅ Full
FNB-ALL-0006-A-110000 Food & Beverage MPGS SPF PM0 + PM1 ✅ Full
FNB-ALL-0001-A-110000 Food & Beverage Adyen SPF PM0 + PM1 ⚠️ Partial
C2C-US-1003-A-010010 C2C Ecommerce Elavon MS PM1 + PM4 ⚠️ Partial
C2C-US-1003-B-010010 C2C Ecommerce Elavon MS PM1 + PM4 ⚠️ Partial

Documentation References

The documentation is organized by task. Use the following pages based on what you need to perform.

Task Documentation
Understand the provisioning model and platform architecture This page
Decode a SKU identifier SKU Naming Convention
Determine the payment methods and MPG entries required by a SKU Payment Methods & Bitmap
Understand gateway-specific behavior and configuration Gateway Overview (for example, MPGS)
Configure a specific merchant or product The applicable SKU Variant page (for example, C2C-ALL-0006-A-010010)
Look up a configuration field The Gateway Field Catalog (for example, MPGS Field Catalog)
Decode industry codes (for example, FNB, C2C, LOD) Industry Codes
Identify the gateway associated with a solution ID Solution IDs