Who pays whom, in which currency, through which institution, and who holds the funds at every step. Every later architectural argument resolves back to this diagram.
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.
Which licence covers this flow, which entity holds it, and which obligations land on software rather than on the licensed party. This constrains the design, not the other way round.
Which acquirers, PSPs and methods are actually contracted or reachable, and what each one supports. A roadmap provider is a risk, not a requirement.
Not the annual figure but the busiest hour, the average value, the refund rate and the payout frequency. Those four numbers size the whole system.
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.
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.
- Read the specification and produce a gap list of what this provider cannot do at all.
- Map requests: authorize, capture, refund, void and payout in the partner's own format.
- Map responses: every status and reason code into the single taxonomy your engine reads.
- Certify against the partner's test pack, including declines, timeouts and duplicates.
- 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.
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.
Explicit conditions with explicit destinations, evaluated in order and editable without a release. Build this before anything data-driven, because it is the only version you can fully explain to a partner, an auditor or a colleague six months later, and it captures most of the available benefit on its own.
Live approval, latency and error rates per provider per segment, measured against each route's own baseline rather than a global average. Without this, routing decisions are made on contract age and vendor promises rather than on what your traffic is actually doing this week.
Which declines are eligible, how deep a cascade may go, and the idempotency and status-check discipline that prevents a duplicate charge. This is the part that goes wrong quietly, so it needs a test suite that deliberately reproduces lost responses and repeated notifications. The mechanics are set out on cascading payments.
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
Decide the scope early
PCI obligation follows the card data. Hosted fields keep it out of your systems; touching a raw number once pulls your logging and backups into the assessment.
Vault, then reference
Store the number inside the certified perimeter and use a token everywhere else. Tokens are also what make retries and recurring charges possible at all.
Separate the secrets
Provider credentials per merchant and per environment, in a managed store with rotation, never in a deployment file that outlives the person who wrote it.
Plan the assessment
Certification is an annual commitment with evidence requirements, not a one-off milestone. It belongs in the running cost model from the first estimate.
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.
Full control and a permanent engineering commitment: PCI scope, connector maintenance and certification cycles are all yours. Right when the payment logic is the product.
A branded platform on dedicated infrastructure, live in weeks, with the vendor carrying maintenance. Your rules, your merchants, somebody else's roadmap for the engine.
The usual answer. Licence the engine, the vault and the connectors; build only the layer that makes your product different. See white label payment app.
Write down what you would build that nobody sells. If that list is short, the build is a distraction from the product it was meant to serve.
Use Cases
Five projects we are typically asked about, and what each one really needs.
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?
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?
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?
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?
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?
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?
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?
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?
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.