Payment gateway problems usually fall into a few predictable categories: configuration errors, webhook issues, or authentication failures. This article covers the most common gateway-specific problems and how to resolve them.
General Troubleshooting Steps
Before diving into gateway-specific issues, try these universal checks:
- Verify the gateway is enabled in SmartPay → Settings → Gateways and it's the selected gateway on the form.
- Confirm you're using the correct keys (live keys in production, test keys in test mode). Live keys start with different prefixes than test keys for each gateway.
- Check SmartPay → Settings → Webhooks for any failed webhook deliveries.
- Enable WP_DEBUG and check
wp-content/debug.logfor PHP errors during checkout. - Open your browser console (F12) and check for JavaScript errors on the checkout page.
Stripe
Payment fails with "No such payment_intent" error
Cause: The Stripe payment intent was created in test mode but live keys are configured (or vice versa).
Fix: Ensure test mode setting in SmartPay matches the type of keys entered. Test keys with live mode = error.
Webhooks not received
Cause: The Stripe webhook endpoint isn't registered or the signing secret is wrong.
Fix:
- Go to Stripe Dashboard → Developers → Webhooks.
- Verify the endpoint URL matches
https://yoursite.com/?smartpay-listener=stripe(or the URL shown in SmartPay Settings → Webhooks). - Copy the Signing Secret from Stripe and paste it into SmartPay → Settings → Gateways → Stripe → Webhook Secret.
- Re-send a recent test event from Stripe Dashboard and verify it appears in SmartPay's webhook log.
3D Secure popup not showing
Cause: A CSP (Content Security Policy) header on your site is blocking the Stripe iframe.
Fix: Add https://js.stripe.com and https://hooks.stripe.com to your CSP's frame-src directive. Contact your hosting provider if you can't modify CSP headers directly.
PayPal
Payment completes but stays "Pending" in SmartPay
Cause: IPN (Instant Payment Notification) is not reaching SmartPay.
Fix:
- Log into your PayPal account.
- Go to Account Settings → Notifications → Instant Payment Notifications.
- Enable IPN and set the URL to the one shown in SmartPay → Settings → Gateways → PayPal.
- Go to PayPal → IPN History and resend the IPN for the stuck payment.
PayPal checkout page shows "This transaction is invalid"
Cause: The currency set in SmartPay isn't supported by your PayPal account's country.
Fix: In your PayPal account, go to Wallet → Currencies and add the currency SmartPay is configured to use. Or change the SmartPay currency to one your PayPal account supports.
Razorpay
Checkout modal doesn't open
Cause: The Razorpay Key ID is wrong or missing.
Fix: Go to Razorpay Dashboard → Settings → API Keys and copy the Key ID (starts with rzp_). Paste it into SmartPay → Settings → Gateways → Razorpay → Key ID.
Payment shows in Razorpay but not in SmartPay
Cause: Webhook not configured in Razorpay.
Fix: In Razorpay Dashboard → Settings → Webhooks, add the webhook URL from SmartPay and subscribe to payment.captured and subscription.charged events.
Mollie
Payment redirects back to site with "cancelled" status
Cause: Customer closed the Mollie payment page without completing. This is expected behaviour — the payment is cancelled, not failed.
Fix: No fix needed. The customer can try again. Ensure your form's error message is clear and offers a retry option.
iDEAL or SEPA not showing at checkout
Cause: These payment methods require Mollie to have them enabled on your account.
Fix: Go to Mollie Dashboard → Payments → Payment Methods and activate iDEAL or SEPA Direct Debit. Activation may require Mollie account verification.
bKash
"Authentication failed" error at checkout
Cause: Username, password, or app key is incorrect, or the sandbox is being used with live credentials.
Fix: Go to your bKash merchant portal, regenerate the credentials, and paste them fresh into SmartPay → Settings → Gateways → bKash. Confirm test mode matches your credential type.
Contacting Support
If the issue persists after these steps, contact SmartPay support with:
- The payment ID or order ID from your gateway dashboard
- The gateway name and whether test mode is on or off
- The error message shown (gateway error codes are especially helpful)
- A copy of any relevant
debug.logentries from the time of the failure - Your SmartPay version number (shown in SmartPay → Settings → License)