Skip to content

Prevent Stripe non-card payments from timing out prematurely - #52

Open
dd32 wants to merge 6 commits into
productionfrom
fix/claude/1532-stripe-payment-timeout
Open

Prevent Stripe non-card payments from timing out prematurely#52
dd32 wants to merge 6 commits into
productionfrom
fix/claude/1532-stripe-payment-timeout

Conversation

@dd32

@dd32 dd32 commented Mar 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Stripe non-card payments (boleto, OXXO, bank transfers) can take days to settle, but CampTix times out draft attendees after 24 hours
  • Marks delayed-payment attendees as pending instead of completed on return from Stripe
  • Extends the timeout window for pending payments by resetting tix_timestamp, with a 7-day safety cap
  • Includes pending-status attendees in the timeout review query so they can be completed when payment settles

Changes

  • camptix/addons/payment-stripe.php: Updated payment_return() to set pending status for unpaid sessions, extended pre_attendee_timeout() with delay logic, added delay_attendee_timeout() helper
  • camptix/camptix.php: Updated review_timeout_payments() to also query pending attendees

Test plan

  • Process a test boleto/OXXO payment via Stripe test mode
  • Verify attendee shows as pending (not completed) immediately after checkout
  • Verify attendee is not timed out within 24 hours while payment is still processing
  • Verify attendee is marked completed once Stripe webhook confirms payment
  • Verify 7-day safety limit prevents indefinite pending state

Fixes WordPress#1532

🤖 Generated with Claude Code

dd32 and others added 6 commits March 13, 2026 09:19
Delayed payment methods (boleto, OXXO, etc.) can take days to settle.
Previously, the 24-hour timeout would mark these attendees as timed out
before payment could complete.

Changes:
- Mark attendees as pending (not completed) when returning from Stripe
  with an unpaid delayed payment session
- Delay timeout for attendees with pending Stripe payments by resetting
  their timestamp, with a 7-day maximum safety limit
- Include pending attendees in the timeout review process
- Delay timeout for open Stripe sessions that have not yet expired

Fixes WordPress#1532

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant