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:

  1. Verify the gateway is enabled in SmartPay → Settings → Gateways and it's the selected gateway on the form.

  2. 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.

  3. Check SmartPay → Settings → Webhooks for any failed webhook deliveries.

  4. Enable WP_DEBUG and check wp-content/debug.log for PHP errors during checkout.

  5. 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:

  1. Go to Stripe Dashboard → Developers → Webhooks.

  2. Verify the endpoint URL matches https://yoursite.com/?smartpay-listener=stripe (or the URL shown in SmartPay Settings → Webhooks).

  3. Copy the Signing Secret from Stripe and paste it into SmartPay → Settings → Gateways → Stripe → Webhook Secret.

  4. 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:

  1. Log into your PayPal account.

  2. Go to Account Settings → Notifications → Instant Payment Notifications.

  3. Enable IPN and set the URL to the one shown in SmartPay → Settings → Gateways → PayPal.

  4. 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.log entries from the time of the failure

  • Your SmartPay version number (shown in SmartPay → Settings → License)