One Payment. Two Credits.

Employees

100+

Industry

Security Audit

Location

United States

Subtitle:
How a race condition in a fintech payment gateway could compromise the integrity of merchant wallet balances.

THE SCENARIO

A legitimate customer pays PKR 10,000. The acquiring bank confirms the payment once. But concurrent settlement processing could credit the merchant’s wallet twice.

The issue is not the payment itself. It is how a backend handles the same confirmed event more than once.

ANATOMY OF THE RISK

121
Bank-confirmed paymentPotential internal creditsTransaction integrity failure

ASSESSMENT FOCUS

Payment APIs • Business logic • Concurrent requests • Ledger integrity • Settlement reconciliation

EDITORIAL DISCLOSURE

This document is a realistic, hypothetical case study concept. It does not claim that Cyberzeals observed these findings at a named or unnamed client. Replace the scenario and outcomes with verified engagement evidence before publishing.

01 / THE CLIENT CHALLENGE

A payment platform that looked secure

In this illustrative engagement, a growing fintech provider operates merchant wallets, payment collection APIs, and instant settlement workflows. The platform has completed routine vulnerability scanning and conventional API testing, but its leadership seeks stronger assurance that payment confirmations cannot create inconsistent balances.

CLIENT PROFILEASSESSMENTPRIMARY RISK
Fintech / payment servicesAPI and business logic testingDuplicate financial credit

02 / THE HIDDEN FAILURE MODE

The same payment, processed twice

The hypothetical weakness occurs when separate backend workers process the same valid confirmation before either has atomically marked the transaction as settled. If the ledger operation is not idempotent, both workers may independently post a credit.

BANK CONFIRMATION • PKR 10,000 • ONE VALID TRANSACTION

  ↓

WORKER A

Reads “unsettled” → posts +PKR 10,000

WORKER B

Reads “unsettled” → posts +PKR 10,000

↓

POTENTIAL INTERNAL WALLET BALANCE: +PKR 20,000

Underlying acquiring-bank settlement remains PKR 10,000.

Illustrative request sequence

01 Legitimate confirmation. A payment processor reports a successful transaction with a unique identifier.

02 Concurrent delivery. The same event is processed twice due to replay, retry, or closely timed requests.

03 Non-atomic state check. Separate workers both observe that the transaction is not yet settled.

04 Duplicate ledger posting. If uniqueness and idempotency controls are missing, multiple credits may be committed.

Key dependency: the risk becomes a true financial integrity issue only if duplicate postings are actually committed, reflected in usable balances, and not blocked by downstream controls.

03 / THE INVESTIGATION

Testing beyond HTTP status codes

Cyberzeals would evaluate the full payment lifecycle in an authorized, isolated environment, correlating API activity with transaction logs, wallet ledger records, and bank settlement identifiers. A burst of HTTP 200 responses is not sufficient proof of duplicate credits.

Security assessment toolkit

TOOL / SOURCETESTING PURPOSE
Burp Suite ProfessionalIntercept payment requests, analyze identifiers, and test controlled replay.
Turbo IntruderAssess concurrent processing and race-condition windows.
PythonCompare replay batches with recorded balance and ledger state.
PostmanValidate payment lifecycle and API state transitions.
Backend and ledger logsCorrelate gateway notifications, bank references, and internal credits.

Evidence needed to validate the issue

  • Shared payment reference. Both confirmations reference the same genuine external transaction.
  • Committed duplicate entries. Two distinct credit postings appear in the authoritative wallet ledger.
  • Balance impact. The credit affects the available balance, not only a transient display or API response.
  • Bank-to-ledger mismatch. The external settlement amount does not reconcile with credited value.

04 / BUSINESS CONSEQUENCES

A technical race with financial consequences

DIRECT LOSSRECONCILIATION GAPS
If duplicate credits are spendable or withdrawable, the platform may fund value it never received.Bank settlement records and internal merchant balances may diverge.
FRAUD EXPOSURECONTROL ASSURANCE
Bad actors may attempt to exploit retries or concurrency during settlement.Repeated ledger inconsistencies can create audit and operational concerns.

Severity depends on exploitability, transaction limits, cash-out availability, reconciliation timing, and any compensating controls. It should be determined from demonstrated impact—not assumed from concurrency alone.

05 / SECURITY ARCHITECTURE

Make every payment settle once

The remediation strategy should strengthen the backend’s financial invariants rather than merely limiting repeated requests at the application edge.

01 — Idempotent processing

Make the external payment reference or transaction ID an idempotency key. Replayed confirmations must not create another ledger credit.

02 — Atomic state transitions

Validate settlement eligibility and commit the ledger entry in the same database transaction or equivalent atomic operation.

03 — Database-enforced uniqueness

Apply a uniqueness constraint that prevents more than one credit posting for the same payment event and credit type.

04 — Resilient event handling

Design queues, callbacks, and retries for at-least-once delivery without double-booking, including safe handling of worker failures.

05 — Independent reconciliation

Continuously reconcile acquiring-bank confirmations with wallet ledger entries, alerting on unmatched or duplicated postings.

06 / REVALIDATION

What a successful fix must prove

  • One external payment, one credit. Sequential replay and concurrent processing produce a single authoritative ledger entry.
  • Safe duplicate callbacks. Repeated valid notifications are acknowledged without further wallet balance changes.
  • Crash and retry tolerance. Worker restarts or message redelivery do not create financial duplication.
  • Reliable reconciliation. Alerts and investigation paths identify intentional test mismatches.

CORE TAKEAWAY

A payment gateway does not need an authentication bypass to lose money. Financial integrity can fail when one legitimate event is processed more than once.

Ron Wertlen

Former Head of Software Development at Doc Cirrus

We needed to flexibly grow our software development team and have had great success with Edvantis providing a fixed near-shore team of highly skilled developers. Some key product components are developed by Edvantis.

Contact Us today to protect your business from the latest threats!

Our Working Process How We Do

CyberZEALS is a professional IT services provider helping businesses across the USA manage, secure, and optimize their IT infrastructure.
01

Assess Needs

We analyze your IT infrastructure, risks, operations, and business requirements to identify gaps.

02

Plan Strategy

We design IT service and support solutions aligned with your operational goals growth. 

03

Implement Solutions

Our experts deploy secure IT infrastructure solutions efficiently with minimal business disruption risk. 

04

Ongoing Support

We provide managed IT support, monitoring, updates, security, optimization, and continuous performance improvement. 

Scroll to Top