| Issue | Possible Cause | Solution |
|---|---|---|
| Payment form does not load | Missing or incorrect Stripe keys. | Check that the correct publishable and secret keys are entered for the selected mode. |
| Payment method does not appear at checkout | Status, Geo Zone, Exclude Geo Zones, or order total rules may be preventing it. | Check extension status, payment address, Geo Zone settings, excluded Geo Zones, minimum total, and maximum total. |
| No order confirmation email | The payment may not have been confirmed yet, or the webhook is not working. | Check the Transactions tab, Webhook Logs tab, Stripe Dashboard, and OpenCart error log. |
| Webhook does not update order | Incorrect webhook URL, missing events, or wrong signing secret. | Verify the endpoint URL, selected webhook events, and webhook signing secret. |
| Invalid API key error | Test and live keys may be mixed. | Use test keys only in Test Mode and live keys only when Test Mode is disabled. |
| Wrong webhook secret | Test and live webhook secrets are different. | Copy the signing secret from the correct Stripe webhook endpoint and paste it into the matching field. |
| Payment failed | The card may be declined or authentication may fail. | Ask the customer to try another card or contact their bank. Check Stripe Dashboard for payment details. |
When troubleshooting, enable Debug Log temporarily, test the payment again, then review the OpenCart error log. Disable Debug Log after the issue is resolved.