1. Home
  2. Understanding Order Statuses in AccessAlly

Understanding Order Statuses in AccessAlly

Understanding Order Statuses in AccessAlly

AccessAlly orders can have different statuses that indicate where the purchase is in the payment process. Understanding these statuses is critical for troubleshooting payment issues and ensuring your customers are charged correctly.

💡 Quick Tip: You can view order statuses by going to AccessAlly → Orders in your WordPress admin. The status column shows the current state of each purchase.

Order Status Definitions

Started

What it means: Customer initiated the purchase process but payment has not completed yet.

Common reasons:

  • Customer filled out the form but didn’t submit payment
  • Payment is being processed by Stripe/PayPal (usually completes within seconds)
  • Customer encountered an error during payment
  • Customer abandoned checkout before completing
  • Payment declined by card issuer

Expected behavior:

  • Access should NOT be granted with “Started” status
  • Purchase tags should NOT be applied
  • Order should transition to “Success” or “Failed” within minutes

Troubleshooting: If orders remain in “Started” status for more than 24 hours, check your payment gateway connection and webhook configuration.

Success

What it means: Payment has been completed and verified by your payment processor.

Expected behavior:

  • Payment confirmed in Stripe/PayPal dashboard
  • Valid transaction ID (not “null-transaction”)
  • Customer charged the full amount shown in order
  • Purchase tags automatically applied
  • Access to paid content granted

⚠️ Critical Security Warning: In rare cases, orders may show “Success” status even when payment did not complete. This is a serious issue that can cause revenue loss. Always verify that “Success” orders have matching payments in your payment processor dashboard. See our Emergency Response Guide if you discover this issue.

How to verify a “Success” order:

  1. Note the Transaction ID from the order
  2. Log into your Stripe/PayPal dashboard
  3. Search for the transaction ID or customer email
  4. Confirm payment amount matches the order total
  5. If transaction ID shows “null-transaction” or you can’t find the payment, investigate immediately

Failed

What it means: Payment was attempted but rejected by the payment processor.

Common reasons:

  • Insufficient funds in customer’s account
  • Card declined by issuing bank
  • Incorrect card details entered
  • Card expired
  • Billing address mismatch
  • Fraud detection triggered

Expected behavior:

  • No payment charged
  • No access granted
  • No purchase tags applied
  • Customer can retry purchase with different payment method

Troubleshooting: Failed orders are normal – customers often retry with a different card. Set up automated emails to help customers complete their purchase.

Pending

What it means: Payment is awaiting confirmation from the payment processor.

Common with:

  • Bank transfers
  • ACH payments
  • Some international payment methods
  • Manual review required by fraud detection

Expected behavior:

  • Access typically NOT granted until payment confirms
  • May take 1-5 business days to complete
  • Should transition to “Success” when payment clears

Cancelled

What it means: Order was cancelled either by the customer or by an administrator.

Common reasons:

  • Customer requested cancellation
  • Administrator manually cancelled order
  • Subscription cancelled before first payment
  • Payment plan cancelled mid-term

Expected behavior:

  • No payment charged (if cancelled before payment)
  • Access revoked if previously granted
  • Purchase tags removed

Refunded

What it means: Payment was initially successful but has been refunded.

Common reasons:

  • Customer requested refund
  • Chargeback issued
  • Administrator manually refunded
  • Product satisfaction guarantee invoked

Expected behavior:

  • Payment returned to customer
  • Access should be revoked (depending on settings)
  • Purchase tags may be removed (depending on configuration)
  • Refund visible in Stripe/PayPal dashboard

Order Status Transitions

Understanding how orders move between statuses:

Normal Successful Purchase Flow

Started → Success
   ↓
Customer fills form → Payment processes → Tags applied → Access granted

Timeline: Usually completes in 5-30 seconds

Failed Purchase Flow

Started → Failed
   ↓
Customer fills form → Payment declined → No access → Customer can retry

Timeline: Usually fails within 5-10 seconds

Refund Flow

Success → Refunded
   ↓
Payment completed → Refund issued → Access revoked (optional)

Timeline: Immediate status change, 5-10 days for funds to return

Pending Payment Flow

Started → Pending → Success
   ↓
Payment initiated → Awaiting clearance → Payment confirms → Access granted

Timeline: 1-5 business days depending on payment method

What Triggers Status Changes?

Understanding the mechanics:

Started Status Triggered By:

  • Customer submits order form
  • AccessAlly creates order record
  • Payment processor begins processing

Success Status Triggered By:

  • Stripe/PayPal sends successful payment webhook
  • AccessAlly receives webhook confirmation
  • Transaction ID saved to order record
  • Purchase tags applied via CRM integration

Failed Status Triggered By:

  • Stripe/PayPal sends failed payment webhook
  • Card declined message received
  • Error code returned from payment processor

Refunded Status Triggered By:

  • Administrator issues refund in Stripe/PayPal
  • Refund webhook sent to AccessAlly
  • Order status updated automatically

Troubleshooting by Status

Issue: Orders Stuck in “Started” Status

Possible causes:

  1. Webhook not configured
    • Check: Stripe Dashboard → Developers → Webhooks
    • Fix: Ensure webhook endpoint is active
    • Verify: Test webhook delivery
  2. Payment processor disconnected
    • Check: AccessAlly → Settings → Payment Settings
    • Fix: Reconnect Stripe/PayPal account
    • Test: Submit test purchase
  3. Customer abandoned checkout
    • Normal: Some “Started” orders never complete
    • Expected: 10-30% abandonment rate is typical
    • Action: Set up abandoned cart recovery emails

Issue: “Success” Status But Customer Wasn’t Charged

🔴 This is a critical security issue – see our Emergency Response Guide immediately.

Quick verification steps:

  1. Check order Transaction ID – if it shows “null-transaction”, no payment occurred
  2. Search for payment in Stripe/PayPal using customer email
  3. If payment doesn’t exist, revoke access and investigate root cause
  4. Audit all recent orders for similar issues

Issue: “Failed” Status But Customer Was Charged

Possible causes:

  1. Webhook timing issue
    • Payment succeeded but webhook arrived late
    • Check Stripe for actual payment status
    • Manually update order status if payment confirmed
  2. Double charge scenario
    • Customer submitted form twice
    • First charge failed, second succeeded
    • Check for two orders from same customer
  3. Test mode confusion
    • Test charge in Stripe, but live mode expected in AccessAlly
    • Verify API keys match environment (test vs live)

Issue: “Refunded” Status But Access Still Granted

Configuration issue:

  1. Check: AccessAlly → Settings → Access Control
  2. Look for: “Revoke access on refund” setting
  3. Enable: Auto-remove tags on refund if desired
  4. Manual fix: Remove purchase tags from refunded customer

How to Clean Up Abandoned “Started” Orders

Old “Started” orders clutter your database. Here’s how to manage them:

  1. Identify abandoned orders
    • Filter for “Started” status
    • Look for orders older than 7 days
    • Cross-check: No matching “Success” order for same customer
  2. Decide on cleanup approach
    • Option A: Leave them (no harm, just clutters list)
    • Option B: Mark as “Failed” for record-keeping
    • Option C: Delete entirely (not recommended – loses audit trail)
  3. Set up automated cleanup
    • Some e-commerce plugins auto-expire “Started” orders after X days
    • Check if AccessAlly has this feature in settings
    • Consider monthly manual cleanup if not

Order Status Best Practices

  1. Monitor order statuses weekly
    • Check for unusual patterns
    • Look for stuck “Started” orders
    • Verify “Success” orders have matching payments
  2. Set up status-based automations
    • Send “Success” receipt emails
    • Send “Failed” retry prompts
    • Send “Started” abandoned cart reminders
  3. Document your process
    • When do you manually change statuses?
    • How do you handle refund requests?
    • What’s your policy for failed payments?
  4. Test status transitions
    • Submit test purchase → verify it goes to “Success”
    • Test failed payment → verify it goes to “Failed”
    • Test refund → verify status and access changes
  5. Audit monthly for discrepancies
    • Export orders and payment processor reports
    • Compare totals
    • Investigate any mismatches

Common Questions

Can I manually change an order status?

Yes, but be cautious:

  • Changing “Started” to “Success” will grant access but won’t charge customer
  • Changing “Failed” to “Success” won’t charge customer retroactively
  • Always verify payment in Stripe/PayPal before changing to “Success”
  • Document why you manually changed status for audit purposes

How long does it take for status to update?

Typically:

  • Started → Success: 5-30 seconds (via webhook)
  • Started → Failed: 5-10 seconds (immediate)
  • Success → Refunded: Instant (when refund issued)
  • Pending → Success: 1-5 business days (depending on payment method)

What if webhook fails – does status update?

No – if webhooks fail:

  • Order stays in “Started” status indefinitely
  • Payment may process but access won’t be granted
  • Customer will contact support confused
  • You’ll need to manually verify payment and grant access
  • Solution: Monitor webhook health in Stripe dashboard

Can an order have multiple statuses?

No – each order has one current status, but you can see status history in some setups:

  • Started (initial)
  • Success (payment completed)
  • Refunded (later refunded)

The current status would be “Refunded” but the history shows it was previously “Success”.

💡 Pro Tip: The best way to understand order statuses is to test them yourself. Submit a test purchase, test a failed payment (with an expired test card), and test a refund. Watching the status transitions in real-time will help you understand how the system works.

Updated on January 14, 2026
Was this article helpful?

NO QUESTION GOES UNANSWERED

Live Weekly Q&A

Join us for live Q&A. Learn the basics, discover what's possible, and connect with AccessAlly users.

Need Support?

Have questions? Get in touch. Our inbox support hours are 9am-5pm EST, Monday - Friday.

Laptop with the AccessAlly demo site

AccessAlly is the most flexible way to sell and elegantly deliver digital offerings. All in one place.

WATCH THE DEMO

You'll get follow-up emails about AccessAlly and new features. Opt out anytime. Full privacy policy here.