Home
Release Notes
Home
Release Notes
Linkedin
  1. Link
  • Baladβ„’ Gateway Documentation πŸ“–
  • Get Started
  • Authorization
  • Responses
  • Go Live!
  • FAQs
  • APIs
    • Authentication
      • Token
    • Core
      • Exchange rate
        • Exchange Rates
      • Balance
        • Get Current Balance
      • Secrets
        • Generate Secret
        • Delete Secret
        • Get Secrets
    • Link
      • Sandbox Testing Guide
      • Error Codes
      • Transaction Lifecycle V2
      • Lookups
        • Purposes List
        • Sources List
        • Banks List
        • Relations
      • Transactions
        • Create transaction
        • Update transaction
        • Cancel transaction
        • Get transaction status V2
        • Transactions List
        • Export Transactions List
        • Calculate receiving amount
        • Validate Account
      • Reconciliation
        • Reconciliation
  • Webhooks
    • Link.Transaction.StatusUpdateV2
  1. Link

Transaction Lifecycle V2

This document explains the full transaction lifecycle in the Balad system, detailing:
Transaction statuses and their definitions.
Balance impacts for each status.
Valid transitions between statuses.
Typical transaction scenarios.
The goal is to help developers, QA testers, and product teams understand how transactions are processed.

πŸ—ΊοΈ Transaction IPN Flow Diagram (Amount Equivalent to Less Than 5,000 USD and Sending Currency EGP)#


πŸ—ΊοΈ Transaction ACH Flow Diagram (Amount Equivalent to More Than 5,000 USD or Sending Currency USD)#


🏷️ Transaction Status Codes#

CodeStatusDefinitionBalance ImpactPossible Next StatusesEnd State
0CreatedTransaction validated and created but not yet processed.Amount + fees deducted immediately.Balad Compliance Suspended, Bank Processing, CanceledNo
1TransferredFinal confirmation of successful, irrevocable transfer.Non-refundable.β€”βœ… Terminal
2Bank ProcessingTransaction accepted by bank, processing ongoing.Amount locked.Ready For Pickup, Transferred, Bank Rejected, Bank Compliance SuspendedNo
4ReturnedBeneficiary bank returned funds after settlement or exceeding pickup time limit.Amount refunded, fees not refunded.β€”βœ… Terminal
7CanceledCanceled during grace period or manually (cash only).Amount refunded; fees refunded if within grace period.β€”βœ… Terminal
8PendingAwaiting further action (e.g., funding or review).Amount locked.Bank ProcessingNo
9FailedFailed due to technical errors (not business rejection).Amount + fees refunded.β€”βœ… Terminal
11Balad Compliance SuspendedTransaction flagged for manual compliance review.Amount locked until decision.Bank Processing, Balad Compliance RejectedNo
12Balad Compliance ApprovedCompliance review passed.Amount locked.Bank Processing, PendingNo
13Balad Compliance RejectedCompliance review failed.Amount + fees refunded.β€”βœ… Terminal
15Bank RejectedRejected by bank due to AML or invalid data.Amount refunded, fees not refunded.β€”βœ… Terminal
16Bank Compliance SuspendedCompliance suspended by bank, processing ongoing.Amount locked.Bank Compliance Rejected, Bank ProcessingNo
17Bank Compliance RejectedRejected by bank due to AML.Amount refunded, fees not refunded.β€”βœ… Terminal
19Ready For PickupReady for pickup, processing ongoing.Amount locked.Transferred, Canceled, ReturnedNo
20Transferred To ACHSent to beneficiary bank via ACH, processing ongoing.Amount locked.Transferred, Third Party RejectedNo
21Third Party RejectedRejected by third party due to AML or invalid data.Amount refunded, fees not refunded.β€”βœ… Terminal
22Under CancellationTransaction is under cancellation.Amount locked.CanceledNo

πŸ“Œ

How to Track Transaction Status#

By API
By Webhook
1
Make sure you already created a transaction
Follow the above guide to create a transaction and save the remitter_reference_no.
2
Navigate to Get Transaction Status
Use Get Transaction Status and pass the saved remitter_reference_no as a path parameter.
3
Review the response
The API will return the current status of the transaction. See Get Transaction Status for full response details.
Previous
Error Codes
Next
Purposes List
Built with