Symptom
The customer completed payment, but your application did not grant access, credits, or the purchased item.Likely causes
- Your server is still waiting for the
order.paidWebhook event. - Your fulfillment worker received the event but failed before updating the user.
- Idempotency logic marked a duplicate event as processed too early.
- The checkout metadata did not include your internal user ID or order ID.
- Your system checked order status before payment processing finished.
Check this in Kyren
- Open Dashboard > Orders and search by order number, customer email, or time range.
- Confirm the Kyren order status is
paid. - Compare the order amount, currency, and paid time with your internal record.
Check this in your server
- Search your Webhook endpoint logs for the event time and Kyren order ID.
- Confirm the event handler maps
metadatato the correct internal user or order. - Check fulfillment retries, queue failures, and database write errors.
- Make fulfillment idempotent by Kyren order ID or event ID.