What Kind of Payment System Are You Building?

Six very different projects hide behind the same phrase. A gateway that carries transactions to one destination. A PSP platform that onboards and manages merchants. An orchestration layer that chooses between providers you already hold. A merchant payment stack serving one business. A wallet or consumer payment app. Or an internal payment engine that moves money between accounts you control. They share vocabulary and almost nothing else, and the first job of any serious discovery is to establish which one is actually being commissioned before a single architectural decision is made. Where the answer turns out to be a licensed platform rather than a build, the components are listed on payment gateway infrastructure.

Discovery and Product Requirements

Four passes before anyone writes code. Discovery is where a build is made cheap or expensive, and it is the stage most commonly compressed to save a fortnight that later costs a quarter.

Discovery output is a written scope with named integrations and explicit exclusions. A development estimate produced without it is a guess wearing a spreadsheet.

Payment System Architecture

Seven layers, what each one owns, and where the effort actually goes. The surprise for most teams is that the transaction engine is the easy part.

Layer
Transaction engine
Provider layer
Tokenization
Merchant configuration
Risk layer
Ledger
Reporting
What it owns
States, transitions, idempotency and recovery
Connectors, routing, retries and provider health
The card vault and every reference to it
Onboarding, limits, fees, descriptors, accounts
Scoring, rules and the three-way decision
Double-entry records and settlement matching
Segmented analytics and merchant statements
Where the effort goes
Specifiable up front, so usually built well
Permanent maintenance, on partners' schedules
Certification, not code
Deferred in builds, then blocks scaling
Tuning forever, on your own traffic
Cheap to start, expensive to correct later
Underestimated until finance asks for it
Transaction engine
Owns
States, transitions, idempotency and recovery
Effort
Specifiable up front, so usually built well
Provider layer
Owns
Connectors, routing, retries and provider health
Effort
Permanent maintenance, on partners' schedules
Tokenization
Owns
The card vault and every reference to it
Effort
Certification, not code
Merchant configuration
Owns
Onboarding, limits, fees, descriptors, accounts
Effort
Deferred in builds, then blocks scaling
Risk layer
Owns
Scoring, rules and the three-way decision
Effort
Tuning forever, on your own traffic
Ledger
Owns
Double-entry records and settlement matching
Effort
Cheap to start, expensive to correct later
Reporting
Owns
Segmented analytics and merchant statements
Effort
Underestimated until finance asks for it

The same seven layers are described from an operating rather than a development perspective on payment processing infrastructure.

Payment Gateway and Processor Integrations

Every integration follows the same five steps, and the fifth is the one that never ends. Budget for all of them per provider, not once for the project.

  1. Read the specification and produce a gap list of what this provider cannot do at all.
  2. Map requests: authorize, capture, refund, void and payout in the partner's own format.
  3. Map responses: every status and reason code into the single taxonomy your engine reads.
  4. Certify against the partner's test pack, including declines, timeouts and duplicates.
  5. Maintain it, because the API will version, the codes will change and the settlement file will drift.

The adapter pattern behind this work is described in detail on payment connector. Teams that skip the abstraction and integrate directly find their fourth provider costs the same as their first.

Glass adapter modules linking one engine block to several external endpoints

APIs, Webhooks and Developer Experience

If merchants or internal teams will build against this system, six properties decide whether they recommend it or tolerate it.

A versioned API where a breaking change is announced rather than discovered in production.

Idempotency on every mutating call, so a retried request never creates a second payment.

Signed webhooks with replay, because a consumer endpoint will be unavailable at some point.

A sandbox reproducing declines, timeouts and duplicate events, not just the happy path.

Error messages that name the cause, so a support ticket closes without escalation.

Documentation generated from the live contract rather than written once and left behind.

Payment Routing and Orchestration

Once a second provider exists, routing stops being optional. Three components, and they are usually the highest-return part of the whole build.

Ledger, Settlement and Reconciliation

The ledger records what happened to money, in double entry, as it happens. Authorisations, captures, refunds, chargebacks, fees and reserve movements each get an entry, and every entry ties back to a transaction your system can still explain months later.

Reconciliation compares that record against what each acquirer actually settled. Files arrive in different formats on different schedules, get normalised, and are matched line by line so that only the exceptions reach a human.

The mistake that is expensive to undo

Teams routinely build the ledger last, deriving balances from provider reports until volume makes that untenable. By then there is a year of history to correct and a finance team that no longer trusts the numbers. Build the ledger in the first phase, even if it is thin. Retrofitting double entry into a system that grew without it is one of the few payment development tasks that is genuinely harder than starting over.

Security, PCI DSS and Data Protection

Fraud, KYC/KYB and Compliance Integrations

Risk belongs in one place in the architecture, applied before authorisation and identically on every route. Distributing it across connectors means maintaining the same policy in as many versions as you have providers, and finding the drift during an incident.

Approve, decline or step up to further verification. KYC and KYB providers are called from the same layer, and the results are stored against the customer or merchant record rather than only in the vendor's dashboard. Compliance obligations remain with your licensed entity; the software supplies the controls and the evidence trail.

Console-like glass panels arranged as an operator workspace above a thin grid

Admin and Merchant Interfaces

Two consoles, not one. Your internal team needs to onboard merchants, set limits and fees, work the payout queue, look up a single transaction and change routing rules, with role-based access and every action logged.

Merchants need a far narrower view: their own transactions, their own settlements, their own disputes and their own API keys, on your domain and under your brand. Building one console and hiding fields from it is a shortcut that fails the first security review.

Both are routinely underestimated. In most builds the interfaces cost more than the transaction engine, because every operational decision the system defers to a human needs a screen and a permission model behind it.

Role-based access control: defining what each internal role may see and do, rather than granting the whole console to everyone with a login. It is the control auditors ask about first, and retrofitting it into a mature admin panel is significantly harder than designing it in.

Development Stages

Discovery produces the money map, the regulatory position and a written scope with named integrations. Architecture turns it into a component design, a data model and a decision on what will be built versus licensed. Implementation delivers the transaction engine, the risk layer and the ledger against that design.

Integration is where each provider connector is written and mapped, and where the estimate most often moves, because partner documentation is rarely as complete as the sales call implied.

QA and certification covers functional testing, the deliberate failure cases, scheme certification per acquirer and the PCI assessment. It runs longer than teams expect because part of it is somebody else's queue.

Launch moves traffic in cohorts against a holdback rather than switching over. Maintenance then begins and does not stop: API versions, new reason codes, settlement format drift, recertification and the rule tuning that follows your own traffic.

Testing and Reliability

A payment system that passes only its happy-path tests is untested. The cases that matter are the ugly ones: a provider that times out after taking the money, a webhook delivered twice, a webhook delivered an hour late, a refund issued against a capture that never settled, a network partition mid-authorisation. Each one has exactly one correct outcome, and a test suite that does not deliberately produce all of them is deferring the discovery to production, where the cost is a duplicate charge and a customer.

Build vs White Label vs Hybrid

Three routes, and the honest test for choosing between them is whether the payment logic itself is your differentiation.

Use Cases

Five projects we are typically asked about, and what each one really needs.

The ask
Launch a PSP
Add payments to a platform
Replace a legacy gateway
Consolidate several providers
Enter a new market
What it actually needs
Merchant management and a ledger, before anything clever.
A payout workflow, which is where platform builds stall.
A migration plan and token portability, agreed in writing.
An orchestration layer, not another direct integration.
Local methods and a connector, rarely any new engine work.
Launch a PSP
Actually needs
Merchant management and a ledger, before anything clever.
Add payments to a platform
Actually needs
A payout workflow, which is where platform builds stall.
Replace a legacy gateway
Actually needs
A migration plan and token portability, agreed in writing.
Consolidate several providers
Actually needs
An orchestration layer, not another direct integration.
Enter a new market
Actually needs
Local methods and a connector, rarely any new engine work.

Where the answer is a licensed platform rather than a build, the components are set out on payment gateway infrastructure.

Frequently Asked Questions

How long does payment system development take?Toggle Icon

A first live transaction is not the milestone. Reaching merchant management, reconciliation, certification and two maintained acquirer connectors is, and for most teams that is a multi-year commitment rather than a project with an end date.

What drives the cost of a build?Toggle Icon

Three things, in order: the number of provider integrations, the depth of merchant management, and certification. The transaction engine itself is rarely the expensive part, which is why estimates built around it come in low.

Can you work with our existing development team?Toggle Icon

Yes, and it is a common arrangement. Your team owns the product surface it already knows; we supply the payment engine, the connectors and the certified environment underneath it.

Do we need a licence before development starts?Toggle Icon

Not to start, but you need a clear position on which entity will hold it and which obligations that entity carries. That answer shapes the architecture, so discovering it late is the most expensive kind of late.

Who owns the code and the data?Toggle Icon

Ownership terms are agreed per engagement. Your merchants, their transaction history and their settlement records are yours in every model we offer, and that is the ownership that decides whether the arrangement is portable.

Does PayAdmit hold funds or act as a PSP?Toggle Icon

No. PayAdmit is a payment software vendor. Acquiring, settlement and custody of funds stay with the licensed institutions you contract with, and that separation is deliberate.

What is the fastest path to a live system?Toggle Icon

Licence the engine and build only your differentiator. A deployment of that shape typically reaches live payments in one to two months, against a build that reaches feature parity in a year or more. The layer you would be licensing is described on igaming payments platform.

How do you handle maintenance after launch?Toggle Icon

Platform maintenance, PCI upkeep, connector updates and 24/7 technical support are part of the engagement, so you do not need to carry a standing payments engineering team purely to keep integrations current.