Problems & solutions · Custom Software

Payment Facilitator Platform Problems: The 7 That Cost Real Money, and How to Avoid Them

Payment Facilitator Platform architecture and database illustration showing common problems and fixes.
The short answer

The single most expensive failure in this category is shipping a payouts table with a status column instead of a double entry ledger. It works for about four months, until the first partial refund lands on a transaction that has already been paid out, somebody posts a negative row to make the screen look right, and the settlement account stops tying to the bank. From that point every month end costs three people a week of tracing, the true margin per sub merchant segment becomes unknowable, and the first acquirer or auditor question about a funding difference has no defensible answer. Rebuilding the ledger after go live, with live balances and real money in flight, typically costs more than the original first release.

Why does a facilitator project get scoped as a payments integration so often?

Because the first conversation is always about the processor. The proposal reads: connect to the processor, split the funds, pay the sub merchant. That sentence is true and it describes roughly a fifth of the work. A facilitator is a small bank living inside a software company. It underwrites merchants, it holds money it does not own, it decides when somebody gets paid, it carries the loss when a sub merchant refunds a customer and disappears, and it has to prove every one of those decisions to an acquirer and to the IRS.

The scope gap shows up as a data model. In the quotes we are asked to review, the funds movement is almost always a payouts table with a status column and a sub merchant balance stored as a number that gets updated. Both are fine on a whiteboard and both fail the first time reality is not linear: a refund on an already settled transaction, a rolling reserve release landing on a different day than the schedule assumed, a monthly platform fee arriving as one lump that has to be allocated across thousands of sub merchants.

The fix is procedural rather than technical. Make the first deliverable of the engagement a ledger diagram, before any screen is designed. Funds in transit from the processor, available balance and pending balance per sub merchant, reserve held per sub merchant, platform fee revenue, chargeback liability, and negative balance owed all have to exist as accounts before anyone writes an onboarding form. If a developer wants to start with the sub merchant signup flow because it demos well, that is the moment to slow the project down.

What goes wrong when you move sub merchants and balances off the platform you are leaving?

Almost nobody builds a facilitator from zero. You are moving off Stripe Connect or Adyen for Platforms, which means the migration is not a data export, it is a change in who the merchant of record is. That single fact generates most of the pain.

Every sub merchant has to be re-underwritten under your own policy and re-papered, because the agreement is now with you rather than with the platform. Sub merchants who were approved by a general risk model and never questioned may not pass your own rules, and you will discover that mid migration with a live customer waiting to take a payment. Stored cards for recurring billing sit in the outgoing provider's vault, and a compliant vault transfer needs the losing provider to cooperate, which in our experience is calendar time rather than engineering time.

Then there is the tail. Charges taken on the old platform settle days after cutover. Disputes on those charges arrive weeks or months later and land against a sub merchant whose balance now lives in your system. Refunds get requested on transactions your ledger never saw. If you have not modelled a legacy funds pot that exists purely to absorb the old platform's tail, your first three reconciliations will not close.

The fix is to run both funds flows in parallel for a defined period, with the old platform's settlement reports ingested into your reconciliation module as a separate source. Cut new sub merchants over first, move existing ones in cohorts by volume, and keep the smallest cohort last so the expensive mistakes happen on the least valuable book.

Why do processor webhooks and settlement file feeds break after launch?

Because both are honest about their guarantees and nobody reads them. Processor webhooks are delivered at least once, not exactly once, and they are not ordered. In a naive implementation a retried payout event decrements a sub merchant balance twice, and a refund event that arrives before its charge event creates a balance that goes negative for reasons no one can reconstruct.

Settlement files break differently. They change. A processor adds a column, a new fee code appears in a monthly release, interchange qualification on a transaction is corrected weeks after the fact and arrives as an adjustment with no obvious link to the original charge. If you added ACH, Nacha return codes arrive days after the funding you already paid out against. A parser written against last quarter's file will silently drop rows rather than fail loudly, which is the worst possible behaviour.

The fix has three parts. Store every inbound event raw and immutable before you process it, so a bad parse can be replayed rather than reconstructed. Give every ledger posting an idempotency key derived from the processor event identifier, so a redelivery is a no-op rather than a double posting. And alert on unmatched volume rather than on exceptions: if the share of settlement lines that fail to match a transaction rises above your normal baseline, that is a page, not a report somebody reads on Monday.

What happens when underwriting evidence and negative balance recovery are not covered?

These are the two operational gaps that turn a working platform into a liability, and both get cut from first releases because neither demos.

Underwriting evidence is what you produce when your acquirer audits the program. They pull twenty sub merchant files and ask why each one was approved. If your system stored a decision as a boolean and a timestamp, you cannot answer, because the data the decision was made on has since changed: the business moved address, the beneficial owner list was edited, the bank account was updated. What you need is a snapshot of the inputs, the rule version that ran, the screening results against sanctions lists on the business and the beneficial owners, and the identity of whoever approved anything that went to a manual queue. Recurring rescreening needs the same treatment, because a clean result at onboarding is not evidence of a clean result today.

Negative balance recovery is the least glamorous module in the platform and the one that decides whether you lose money. The scenario is simple: a sub merchant refunds a customer after payout, and their balance is zero. Something has to happen, and the options are debiting future settlement, debiting their bank account under your agreement, or absorbing the loss. If the system has no concept of a negative balance as a real account with a recovery workflow attached, someone in finance will handle it by editing a row, and the ledger integrity you paid for is gone.

Should you build custom or configure what you already own?

Under roughly ten million dollars in annual card volume, stay on Stripe Connect or Adyen for Platforms and put the money into sales. The margin you would recover by becoming a facilitator will not pay for the risk and compliance people you would need to hire, and the compliance surface you take on is permanent. We say this to prospects regularly and it costs us work, but the arithmetic is not close at that scale.

The middle ground is real and underused. Payrix and Finix exist for operators who want to sit closer to the money without owning the whole registration and acquiring relationship. Infinicept is strong on the program side: registration, policy documentation and the acquirer relationship, which is genuine work most software companies would otherwise do badly. Configuring one of these and building only your own payout timing logic on top is frequently the right answer for a company between ten and fifty million dollars in volume.

Build your own layer when payments are a top two revenue line, when payout timing is a competitive weapon the platform will not let you set, when you are being declined on merchant profiles your own data says are fine, or when you need funds flow shapes such as milestone releases, escrow style holds or multi party splits with a lender in the chain that no platform models.

How do hidden costs get into the quote?

Five items account for most of the overrun in this category, and all five are usually described in one line each.

A second processor. Quoted as a configuration change, delivered as a second set of file formats, a second dispute lifecycle and a second set of edge cases. Assume it is a project, not a setting.

ACH alongside cards. Returns arrive days later, which changes when it is safe to pay out. That is a funding model change, not an extra payment method.

Instant payouts. Every instant payout is a credit decision made in under a second, which means a real time risk check and a loss budget.

The direct agreement threshold. Card network rules require sub merchants above roughly a million dollars in annual card volume to hold a direct agreement, so your platform has to support two contractual shapes at once. Confirm the current threshold with your acquirer rather than a blog, but budget for the dual shape either way.

Marketplace tax reporting. Tedious rather than difficult, and always longer than planned because the edge cases are entity changes, address changes and corrections mid year.

What separates a build that works from one that fails here?

Four things, and they are all visible before contracts are signed.

The ledger comes first and the settlement account ties to the bank daily. If the team cannot show you a daily tie out in the first release, they have built reporting rather than accounting.

Reconciliation is a module with a break queue, not a monthly report. Unmatched items get classified into buckets a human can clear and they stay open until cleared. Netting a break away is how a small difference becomes an audit finding.

The developer has parsed the specific settlement files you use, by processor name. Building against an API and reconciling a daily funding file with interchange detail are different skills, and only the second one keeps your controller calm.

You own the underwriting rules, the repository and the cloud accounts, written into the contract before kickoff. Your risk policy and payout logic are the accumulated intellectual property of the payments business you are building. At Digital Heroes the client owns all of it from the first commit, and hesitation on that question at proposal stage tells you what the relationship will look like in year two.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The federal government spends about 80% of its IT budget on operations and maintenance of existing systems rather than on development or modernization, with many critical systems being decades old. Source: U.S. Government Accountability Office (GAO) (2025) →
  2. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  3. One in four US employees report lacking career advancement opportunities; 48% of employees who participated in mentorship programs report high job satisfaction versus 29% of non-participants, and access to advancement opportunities ranges from 33% at organizations under 10 employees to 74% at those with 1,000+. Source: Gallup (2025) →
  4. The average number of formal learning hours used per employee fell to 13.7 in 2024, down from 17.4 in 2023, a decline the report attributes partly to a shift toward informal and on-the-job learning not captured in the formal-hours metric. Source: Association for Talent Development (ATD) (2025) →
Layla S. · Senior Account Manager · Wellness · Sydney

Layla looks after wellness sector accounts, running projects that touch bookings, memberships, subscriptions and the customer data that sits behind them. She translates between clinical or operational language and what a development team needs written down. Useful reading if your business runs on recurring relationships rather than one off sales.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Why do our sub merchant balances stop matching the bank after a few months?
Almost always because balances are stored as a number that gets updated rather than derived from immutable postings. The first partial refund on a transaction that has already been paid out forces someone to post a correction by hand, and after that the settlement account and the bank drift apart permanently. Rebuilding the ledger with live money in flight costs more than building it correctly at the start, which is why the ledger diagram should be the first deliverable of the project.
What is the most common scoping mistake in a payment facilitator build?
Treating it as a processor integration. Connecting to the processor, splitting funds and paying sub merchants is roughly a fifth of the work. The rest is underwriting decisions with an evidence trail, reserves, negative balance recovery, settlement file reconciliation and tax reporting, none of which demo well so all of which get pushed to phase two. A quote that has one line for reconciliation and three screens for onboarding is describing the wrong project.
How do we migrate sub merchants off Stripe Connect without breaking recurring billing?
Plan for three separate workstreams rather than one cutover. Sub merchants have to be re-underwritten and re-papered because the merchant of record changes, stored cards need a compliant vault transfer that depends on the outgoing provider cooperating, and the old platform keeps generating settlements, refunds and disputes for weeks after your last charge. Move new sub merchants first, then existing ones in cohorts by volume, and keep a legacy funds pot in the ledger to absorb the tail.
Why do webhook driven balances go wrong in production?
Because processor webhooks are delivered at least once and are not ordered. A retried payout event decrements a balance twice, and a refund event arriving before its charge produces a negative balance nobody can explain. Store every inbound event raw and immutable before processing, derive an idempotency key from the processor event identifier so redelivery is a no-op, and replay from the stored events when a parser turns out to be wrong.
What evidence does an acquirer expect when they audit our underwriting?
They pull a sample of sub merchant files and ask why each one was approved, so a decision stored as a boolean and a timestamp is not enough. You need a snapshot of the data the decision was made on, the version of the rules that ran, sanctions screening results for the business and its beneficial owners, and the named approver for anything that went to a manual queue. Recurring rescreening needs the same record, because a clean result at onboarding proves nothing about today.
What happens when a sub merchant refunds more than their balance?
You have a negative balance, and the options are recovering it from future settlement, debiting their bank account under your agreement, or absorbing the loss. The failure mode is having no account type for it, which forces finance to edit rows by hand and destroys the integrity of everything downstream. Model negative balance as a real account with a recovery workflow and an ageing view, because it is the module that decides whether the platform makes or loses money.
Is Payrix or Finix a better fit than building our own facilitator layer?
Frequently yes, particularly between roughly ten and fifty million dollars in annual card volume. Payrix and Finix let you sit closer to the money without owning registration and the full acquiring relationship, and Infinicept covers program setup, policy and the acquirer relationship that most software companies handle badly on their own. Building only your own payout timing logic on top of one of these is often the cheapest route to the margin you actually want.
Which hidden costs blow up a facilitator budget most often?
A second processor quoted as a configuration change, ACH treated as an extra payment method rather than a funding model change, instant payouts that need a real time credit decision, the network requirement for a direct agreement above roughly a million dollars in annual card volume, and marketplace tax reporting. Each is usually one line in a proposal and several weeks in delivery. Ask for each to be estimated separately before signing.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
How many people should be working on my software project?
A typical $40,000 to $150,000 build runs on three to five people: a technical lead, one or two developers, a designer, and someone owning QA and project communication, often as overlapping part-time roles. More bodies do not make software arrive faster; past a point they slow it down with coordination overhead. The question that matters more than headcount is whether one named senior engineer is accountable for the outcome.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?