Order stays pending in WooCommerce
- Check the order in Novupay Orders. If it is PAID there but not in WordPress, the store callback failed.
- Verify callback URL in Sites (API) matches
https://your-store.com/wp-json/card2pay/v1/callback. - Ensure your site uses HTTPS and the REST API is not blocked (security plugins, Cloudflare rules, country blocks).
- Confirm API secret in WordPress exactly matches the secret on your Novupay site card.
Payment error at checkout redirect
- API key, API secret, and base URL must all be filled in the gateway settings.
- Base URL must be exactly
https://portal.novupay.com(no trailing slash). - Card checkout (PayGate) requires an email — WooCommerce billing email is used automatically; payment links without email get a fallback address.
- Site must be ACTIVE in Dashboard → Sites.
- If you rotated the API secret, update WordPress with the new secret.
Paid in Novupay, not in store
Novupay POSTs a signed JSON body to your callback URL when payment confirms. The plugin checks header x-card2pay-signature.
- Wrong API secret → signature mismatch → order not updated.
- Callback URL unreachable → check server logs / firewall.
- Test REST endpoint manually:
GET /wp-json/card2pay/v1/callbackshould not return 404.
Customer paid but order not PAID in dashboard
- Crypto payments can take a few minutes to confirm — refresh the order status.
- Card payments usually confirm within seconds. If stuck, note the order reference and contact support.
- Include your order reference (e.g.
C2P-ABC123) when writing to info@novupay.com.
Test without WordPress
On Sites (API), use Test checkout hash to open a sampleNovupay checkout. This verifies your API keys and Novupay checkout without WooCommerce.
Still stuck?
Open live chat from your dashboard or email info@novupay.com with:
- Order reference (C2P-…)
- Store URL
- Approximate time of the payment
- Screenshot of WooCommerce gateway settings (hide API secret)