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 failureYour SmartPay version number (shown in SmartPay → Settings → License)