Data Model - Status
About 2 min
Transaction Status Overview
The Transaction Status data model defines the structure for transaction lifecycle state information. This model encapsulates status tracking, monitoring, and state management for payment transactions.
Status Code Definitions
Status Code | Description |
---|---|
INIT | Transaction request has been registered but payment method is not yet specified Usage: Initial state when order is created but customer has not selected payment method Next States: PROCESSING (after payment method selection) |
PROCESSING | Transaction is actively being processed Usage: Customer payment is pending or order is being processed by payment provider Next States: SUCCESS, FAILED, EXPIRED |
SUCCESS | Transaction has been completed successfully Usage: Payment received or disbursement completed successfully Next States: Final state - no further transitions |
FAILED | Transaction has failed and reached terminal state Usage: Payment processing failed due to various reasons (insufficient funds, technical issues, etc.) Next States: Final state - no further transitions |
EXPIRED | Transaction has expired due to timeout or inactivity Usage: Payment not completed within specified time limit or internet connection timeout Next States: Final state - no further transitions |
Transaction Lifecycle Flow
Initialization Phase
INIT → PROCESSING
- Trigger: Customer selects payment method
- Duration: Immediate transition
- Actions: Payment method validation and processing initiation
Processing Phase
PROCESSING → SUCCESS/FAILED/EXPIRED
- Duration: Variable based on payment method and processing time
- Actions: Payment processing, customer interaction, provider communication
Final States
- SUCCESS: Transaction completed, funds transferred
- FAILED: Transaction terminated due to failure
- EXPIRED: Transaction terminated due to timeout
Implementation Example
{
"tradeNo": "122200312406111311517153",
"orderNo": "200110edbb466abb04682968b40",
"status": "SUCCESS",
"transactionTime": "2020-12-17T10:55:00-05:00"
}
Status Monitoring and Handling
Real-Time Status Updates
- Webhook Notifications: Automatic status updates via callback URLs
- API Polling: Regular status checks using inquiry APIs
- Status Synchronization: Consistent status across all system components
Error Handling
- FAILED Status: Implement retry mechanisms and error logging
- EXPIRED Status: Handle timeout scenarios and user notification
- PROCESSING Status: Monitor for stuck transactions and implement timeouts
Business Logic
- Order Management: Update order status based on transaction status
- Inventory Management: Release reserved inventory on FAILED/EXPIRED
- Customer Communication: Send appropriate notifications for each status
Regional Considerations
Processing Times
- Digital Wallets: Typically 1-5 minutes for SUCCESS
- Bank Transfers: 1-3 business days for completion
- Cash Payments: Immediate upon payment confirmation
- Cryptocurrency: 10-60 minutes depending on network
Status Reliability
- High Reliability: SUCCESS and FAILED states are definitive
- Intermediate States: PROCESSING may require additional verification
- Timeout Handling: EXPIRED status for abandoned transactions
Security and Compliance
Status Validation
- Tamper Prevention: Status changes must be cryptographically signed
- Audit Trail: Complete log of all status transitions
- Verification: Cross-reference status with payment provider confirmations
Regulatory Requirements
- Transaction Reporting: Accurate status reporting for regulatory compliance
- Dispute Resolution: Clear status documentation for chargeback handling
- Settlement Reconciliation: Status-based settlement processing