Payment Statuses
Every Payment Order progresses through a series of statuses that tell you exactly where the money is in its journey. Understanding these statuses is e...
Every Payment Order progresses through a series of statuses that tell you exactly where the money is in its journey. Understanding these statuses is essential for monitoring payments and diagnosing issues.
Note on verification: Verification (KYC/KYB) is no longer a prerequisite for creating payment orders. When the compliance policy is set to Skip mode (the current default), the system dispatches payments as soon as the SPV is open and the bank account is registered -- without waiting for identity or entity verification. See Verification & Readiness for details on blocking modes.
Status Lifecycle
Statuses Explained
Pending
The payment order has been created but has not yet been sent to the payment provider.
- What's happening: The system has created the instruction to move money, but it hasn't been submitted yet. This may be because the system is waiting for prerequisites (e.g. bank account registration to complete).
- What you'll see: A payment order exists with no provider reference ID.
- Duration: Usually very brief (seconds to minutes).
Submitted
The payment instruction has been sent to the payment provider.
- What's happening: The payment provider has received and accepted the instruction. The transfer is in the queue but hasn't started moving yet.
- What you'll see: A provider reference ID is now recorded on the payment order.
- Duration: Typically brief -- moves to "processing" once the provider begins the transfer.
Processing
The payment is actively being processed by the banking system.
- What's happening: For ACH, the money is moving through the ACH network between banks. For wires, the wire is being processed.
- What you'll see: Status shows "processing" and the payment is in transit.
- Duration: ACH typically 1-3 business days. Wires same day or next day.
Completed
The payment has been successfully processed and money has arrived at its destination.
- What's happening: The money is confirmed in the destination account. For inbound payments, this means the SPV's virtual account now has the funds.
- What you'll see: Status shows "completed," and the associated investment will be marked as "funded."
- Ledger impact: When an inbound payment completes, the system automatically creates a ledger journal entry that debits the SPV's cash account and credits the investor's receivable. If the payment exceeds the commitment amount, the excess is credited to the overpayment suspense account. See How the Ledger Works.
- This is the happy path -- most payments end up here.
Failed
The payment was rejected and money did not move.
- What's happening: The payment provider or the investor's bank rejected the transfer. Common reasons: insufficient funds, account closed, authorization issues, provider technical errors.
- What you'll see: Status shows "failed" along with a failure code and failure detail explaining why.
- What happens next: If the failure is retriable, the system will automatically schedule a retry. See Failed Payments & Retries.
Returned
The payment initially appeared to complete but was later reversed by the banking system.
- What's happening: This is specifically an ACH return -- the investor's bank accepted the debit initially, but then returned it (typically within 2-3 business days). Reasons include: the account holder disputes the charge, the account is frozen, or the bank discovers an issue after initial processing.
- What you'll see: Status changes from "completed" (or "processing") to "returned" with a failure code.
- Ledger impact: When a payment is returned, the system automatically creates a reversal journal entry that mirrors the original payment entry with flipped directions. This restores the investor's receivable and reduces the SPV's cash balance back to their pre-payment values.
- Important: Returns are different from failures because money may have temporarily appeared in the virtual account before being pulled back.
Cancelled
The payment was cancelled before completion.
- What's happening: An admin cancelled the payment, or the investment was cancelled, or the system determined the payment should not proceed.
- What you'll see: Status shows "cancelled."
- No money moved -- cancellation prevents the payment from being processed.
Terminal vs. In-Flight
Payment statuses are grouped into two categories:
| Category | Statuses | Meaning |
|---|---|---|
| In-flight | Pending, Submitted, Processing | Money is (or will be) moving. The payment is still active. |
| Terminal | Completed, Failed, Returned, Cancelled | The payment has reached a final state. No further automatic changes. |
Migration Payment Orders
Some completed Payment Orders have provider: legacy_migration. These are synthetic records created during the V1-to-V2 migration to represent payments that were already collected under the old system (via legacy Transfers). They ensure that the V2 ledger accurately reflects all capital that was previously received. These payment orders behave identically to normal completed payment orders for reporting and balance calculations -- they simply were not processed through a payment provider.
What Admins Should Know
- Check the status to know what's happening -- the status tells you exactly where the money is.
- Failed doesn't mean permanent -- many failures are automatically retried. Check whether retries are scheduled before taking manual action.
- Returned is serious -- it means money that appeared to arrive has been pulled back. This may require follow-up with the investor.
- The status_changed_at timestamp tells you when the status last changed, which helps diagnose delays.
- Provider reference ID links the payment order to the payment provider's system -- useful if you need to investigate with the provider.
Last updated Apr 22, 2026
Built with Documentation.AI