Checkout Diagnostics
Checkout diagnostics help operators distinguish configuration issues from payment-provider, webhook, reconciliation, or partial-failure issues. Use this page when checkout sometimes works, money moved but console state did not, or a payment path is blocked without an obvious product or service problem.
Diagnostic Goal
Prove the state of each link in the chain: customer path, checkout session or payment intent, provider account, webhook delivery, console record, notification, and portal history.
When To Use This Page
- Product checkout opens but does not complete.
- Booking deposit or final payment remains pending.
- Customer says they paid but the order or booking is not updated.
- Refund, void, or invoice action fails.
- Checkout health banner, PMD status, reconciliation, or webhook status is not green.
- Launch QA fails only on paid paths.
Diagnostic Order
1
Check: Product or service configuration
Why: Most failures start with visibility, price, inventory, shipping, tax, or payment timing.
2
Check: Payment provider account
Why: Stripe or PayPal may have missing requirements, disconnected state, or unsupported methods.
3
Check: Customer checkout route
Why: Return, cancel, success, and confirmation URLs must match the active domain.
4
Check: Payment object
Why: Session, payment intent, invoice, or provider event should show the provider's view of state.
5
Check: Webhook delivery
Why: Provider state must reach Sophosic before console state can update.
6
Check: Console record
Why: Order, booking, invoice, payment summary, and customer history should match provider state.
7
Check: Notifications and portal
Why: Customer-facing confirmation, portal, and receipt state should match console state.
Product Checkout Diagnostics
Checkout button disabled
Product status, inventory, price, feature flag
Deeper checks: Provider status, site status, checkout settings
Shipping blocks checkout
Product shipping flag, shipping zone, rate
Deeper checks: Address validation, provider rate API, shipping presets
Tax looks wrong
Checkout and Tax settings
Deeper checks: Product tax class, customer address, provider tax account
Payment succeeds but order pending
Provider payment status
Deeper checks: Webhook event, order reconciliation, customer record
Confirmation page missing
Success URL, domain
Deeper checks: Payment return handler, route cache, order lookup
Booking Payment Diagnostics
Deposit not required
Service payment settings
Deeper checks: Tier/add-on override, feature flag, provider support
Deposit paid but booking pending
Booking payment summary
Deeper checks: Payment intent, webhook delivery, booking lifecycle state
Final invoice cannot send
Booking invoice state
Deeper checks: Customer email, invoice lines, provider invoice status
Refund fails
Payment ownership
Deeper checks: Connected account, booking status, invoice state
Pay link fails
Pay-link URL, domain
Deeper checks: Booking ownership, payment object, expiration
Provider Status Checks
Provider status checks tell you whether the payment provider can support the customer action before you inspect Sophosic records. If provider state is unhealthy, fix or document that state first; otherwise the console may be correctly waiting for an event that can never arrive.
Stripe Connect
Check: Account requirements, capabilities, payouts, tax account session, wallet domain, webhook delivery
PayPal
Check: Onboarding status, checkout availability, return URL, order creation, refund path
Manual payments
Check: Operator permissions, audit trail, customer communication, invoice state
Webhook And Reconciliation Checks
Use diagnostics when provider state and console state disagree.
- Capture the provider event ID when available.
- Find the corresponding order, booking, payment intent, invoice, or customer record.
- Check whether webhook delivery succeeded.
- Check whether reconciliation has retried or flagged the record.
- Confirm the current console state.
- Confirm what the customer sees in the portal or confirmation page.
- Escalate with record IDs and the time window if state remains inconsistent.
Partial-Failure Response
Payment succeeded, order missing
Do not ask the customer to pay again until provider state is reconciled
Order created, notification missing
Confirm the order manually and send an approved message from the console
Booking paid, calendar missing
Hold the booking, resync calendar, then notify staff and customer
Refund failed
Do not promise completion until provider status is known
Checkout unavailable during ads
Pause ads or remove paid entry points until the customer path passes
Escalation Packet
Include:
- Workspace slug.
- Public checkout or booking URL.
- Product ID, order ID, booking ID, invoice ID, customer ID, and payment object ID when available.
- Provider and provider account status.
- Exact customer timestamp and timezone.
- Screenshot or text of checkout error.
- Whether money moved.
- Whether the customer received an email or portal record.
Related Guides
Use these guides to move from diagnosis to the owning setup or workflow surface. Checkout issues usually involve product or service configuration, connected account posture, and customer-facing confirmation behavior together, so keep the diagnostic packet open while you follow the workflow page that owns the failed path.