BursaPay Logo
Knowledge Base
Ticket Sign In
Help Center > Finance, Reconciliation, Wallets & Administration > Withdrawal Request Locking and Concurrency Safety

Withdrawal Request Locking and Concurrency Safety

Published 2026-08-24 5 min read
Who is this article for?
This guide is for Financial Secretaries, Developers seeking operational guidance on BursaPay workflows.

UI Navigation Path (Step-by-Step)

  1. Open Finance > Withdrawals and select the relevant request type.
  2. Review the request state, amount, wallet or settlement context.
  3. Perform the permitted approval, decline or investigation action.
  4. Confirm the resulting status, ledger/audit record and notification state.
Verified BursaPay payout workflow: Explains how Finance prevents concurrent approval or decline operations from racing each other.

1. Overview & Purpose

Approval and decline views load withdrawal records with select_for_update inside transaction.atomic, serializing concurrent mutations on the same request.

2. Requirements & Setup

The action must run through the Finance mutation endpoint.

3. Step-by-Step Workflow

  1. Open Finance > Withdrawals and select the relevant request type.
  2. Review the request state, amount, wallet or settlement context.
  3. Perform the permitted approval, decline or investigation action.
  4. Confirm the resulting status, ledger/audit record and notification state.

4. Rules & Troubleshooting

Locking protects the request state check so two workers cannot both treat the same pending request as untouched.

5. Verification & Next Steps

When diagnosing duplicate processing concerns, inspect the transaction boundaries and locked query path first.

Was this article useful?

Related Articles

Atomic Organisation Withdrawal Approval Organisation Withdrawal Decline Flow
Ask Bursa AI