Skip to main content

Data Model - Status

smilepayz teamsAbout 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 CodeDescription
INITTransaction 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)
PROCESSINGTransaction is actively being processed
Usage: Customer payment is pending or order is being processed by payment provider
Next States: SUCCESS, FAILED, EXPIRED
SUCCESSTransaction has been completed successfully
Usage: Payment received or disbursement completed successfully
Next States: Final state - no further transitions
FAILEDTransaction 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
EXPIREDTransaction 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
Last update: