Open J2Commerce payment plugins and edit Stripe for J2Commerce. Basic tab holds keys, webhook secret, test mode, and display fields. Advanced tab holds order status, capture method, surcharges, geozone, thank-you article, shopper messages, and debug.
Paste live publishable and secret keys in the live section when going production. Paste test publishable and secret keys in the test section for sandbox runs. Keys must match the mode: test mode uses test keys, live mode uses live keys. Mixing them produces redirects that work in admin imagination only.
The sandbox parameter enables test mode. While enabled, checkout uses test keys and Stripe test cards such as 4242 4242 4242 4242. You can leave test mode on in staging forever; you should not leave it on production unless you enjoy explaining to customers why cards decline mysteriously while your dashboard looks fine.
Create a webhook endpoint in Stripe Dashboard at the URL pattern shown in the plugin webhook note field. Subscribe to checkout.session.completed, checkout.session.async_payment_succeeded, and checkout.session.async_payment_failed as described in plugin language strings. Paste the signing secret into webhook_secret and Save. Mismatched signing secret is the usual reason orders stay pending after Stripe shows success.
payment_status uses J2Commerce Orderstatus field to pick the order state after successful payment. Choose the status your fulfillment workflow expects, not merely the prettiest label.
capture_method defaults to automatic for charge at checkout. Manual authorisation captures only in Stripe Dashboard within Stripe time limits. Use manual deliberately when your workflow needs auth-then-capture; forget to capture and you have authorized sadness instead of revenue.
In Stripe Dashboard payment methods and Checkout settings, not in this Joomla plugin. The plugin creates Checkout sessions; Stripe decides which methods appear for your account and region.
surcharge_name, surcharge_percent, surcharge_fixed, and surcharge_tax_class_id use J2Commerce fee APIs when you need pass-through fees. geozone_id restricts the method to shoppers in selected geozones like other J2Commerce payment plugins.
Enable debug only while actively troubleshooting. Debug writes to administrator logs and should be off in production once checkout is stable.