Overview
Use this guide when the Refund Payment button is missing, a refund fails, or a refund status does not update as expected.
Requirements
- Administrator access.
- PayPress order.
- Access to Diagnostics and Stripe Dashboard.
Steps
- Confirm refunds are enabled in PayPress settings.
- Confirm the order is paid and not fully refunded.
- Confirm the order has a Stripe payment, charge, or invoice reference.
- Open Order Details and review Stripe References.
- Check Diagnostics for refund requested, submitted, failed, rejected, or webhook entries.
- Compare the payment in Stripe.
Expected Result
The cause is usually visible from eligibility, missing identifiers, Stripe rejection, webhook delay, or diagnostics.
Important Notes
A message such as refund rejected before Stripe request usually means PayPress determined the order was not eligible or refunds were disabled before calling Stripe. More specific diagnostics may be added over time.
Troubleshooting
If Stripe says the idempotency key was reused, make sure you are using a version with refund idempotency hardening. If multiple sites share one Stripe account, each site should have a stable installation UUID. If status is delayed, wait for webhooks and refresh.