Who this is for
- You run a WooCommerce store on self-hosted WordPress
- You want to accept eSewa, Khalti, or Fonepay from Nepali customers
- You already have (or can create) a PayBridgeNP account with a
sk_live_…orsk_test_…API key - Your store’s currency is NPR
What you get
- Classic checkout + Block checkout. The plugin registers itself with both the legacy shortcode checkout and the modern WooCommerce Blocks checkout out of the box. Works whether your theme uses the old or the new checkout flow.
- HPOS compatible. The plugin declares compatibility with WooCommerce’s High-Performance Order Storage, so it runs cleanly on modern WC installs using custom order tables.
- Signed webhook verification. Every incoming
payment.succeeded/payment.failed/payment.cancelledevent is verified against an HMAC-SHA256 signature before it moves any order - forged events are rejected with a 400 response. - Sandbox mode. A
sk_test_…key uses the eSewa and Khalti test environments. Fonepay has no sandbox and moves real money within the documented test caps. - Permalink-agnostic. Uses WooCommerce’s
wc-apiendpoints, which work whether pretty-permalinks are enabled or not. No.htaccesssurgery required. - GPL-2.0-or-later licensed. Same license as WordPress and WooCommerce core.
How it plugs in
Embedded checkout (optional)
By default the plugin sends your customer to the PayBridgeNP checkout page. You can instead have payment open in an overlay on your own store, so the customer stays on your site. Turn it on under WooCommerce > Settings > Payments > PayBridgeNP with Open payment in an overlay instead of redirecting. It is off by default.Before it will work
Two things have to be true, and if either is not, the plugin quietly falls back to the normal redirect. Your customer always gets a working checkout.- Your plan includes embedded checkout. Growth and above.
- Your store domain is registered. Add it in the dashboard under Project > Embed domains for the mode you are using. This is what gives your store permission to display the checkout, and you can revoke it at any time by removing the domain.
What your customer sees
The overlay opens on the order payment page, after the order is created, so your stock is already reserved by WooCommerce and the total is final.This is why the overlay is most useful if your customers pay with Fonepay. For
eSewa and Khalti the overlay chooses the method and then hands off, which is a
smaller gain than it sounds.
Two things that change
- Payment method tiles become a pre-selection. With the overlay on, picking eSewa or Khalti on your checkout page selects it inside the overlay rather than sending the customer straight to that provider.
- If anything is missing, you get the redirect. An unregistered domain, a plan without the feature, a blocked script, or JavaScript turned off all fall back to the normal hosted checkout rather than failing.
What this plugin does NOT do
- No in-store refund button. Like the Shopify integration, refunds must be processed from the PayBridgeNP dashboard - not from WordPress admin. The wallet provider owns the refund path, not WooCommerce.
- NPR only. Your store’s currency must be set to NPR. Multi-currency support is on the roadmap.
- No subscriptions / recurring billing from within WooCommerce. One-off payments only. If you need recurring billing, use PayBridgeNP’s billing plans API directly from a custom integration.
- Published on WordPress.org. Install from the official WordPress.org plugin directory or use the ZIP from paybridgenp.com/integrations/woocommerce when you need a manual upload path.
Next steps
- Install the plugin - download the ZIP, upload it to WordPress, configure the gateway
- How it works - the payment flow, webhook handling, and order state transitions explained
- Troubleshooting - common issues and how to fix them