Razorpay - JoomShopping

Troubleshooting

Version: 1.0.9

Troubleshooting

Most checkout and webhook problems come from the mode, the keys, or the webhook URL.

  • Log file: administrator/logs/razorpaycheckout_razorpay_joomshopping.php. Errors and rejected webhooks are always logged. Turn Debug on only while you are troubleshooting. Secrets are redacted.
  • Razorpay is missing at checkout. Publish the method, check access level and customer group, and make sure the cart currency is in Accepted currencies.
  • Razorpay is not configured. The key fields for the current Mode are empty. Test keys belong with Test mode, and live keys with Live mode.
  • Could not start the payment. Usually a wrong Key ID or secret, a test key used in Live mode, or the server cannot reach api.razorpay.com over HTTPS. Read the log.
  • Paid, but the order is still pending. The customer closed the browser and there is no webhook. Set up the webhook. If the Razorpay Dashboard shows the payment captured, the next delivery updates the order, or you can set the status by hand.
  • Webhook failures. HTTP 400 means the secret in Razorpay does not match the webhook secret for that mode. A 404 or an HTML page means the URL is wrong, the site is offline, or a firewall blocks POST requests from Razorpay. Razorpay retries for 24 hours and may then disable the webhook.
  • Domain is not verified. Add and verify the business website in the Razorpay Dashboard before adding a webhook. Until then, payments confirm when the customer returns.
  • Other currencies. Only after Razorpay enables International Payments. Then add the codes to Accepted currencies.
  • Per-payment fee. JoomlaX does not charge a fee on each transaction. Razorpay charges its own fees, and it does not return that fee on a refund.
  • Subscriptions. Recurring Razorpay subscriptions are not included. Each checkout is a one-time payment.
  • Backward compatibility plugin. Not required. The code is native for the Joomla versions listed in Requirements.
  • More than one shop. Install each shop product, or the All Shops Bundle. Each shop has its own webhook URL.