WooCommerce
Install XPay for WooCommerce, connect your account and accept payments at checkout.
XPay for WooCommerce adds XPay to your WooCommerce checkout. Customers pay in secure payment fields on your own checkout page, and paid orders update on their own. Get it from WordPress.org.
What you can do
Accept your account's methods
Cards, ValU, Fawry and Apple Pay, as each one is available on your XPay account.
Any checkout
Works on the classic checkout, the Cart and Checkout blocks, and the order payment page.
Refund from WooCommerce
Full and partial refunds from the order screen.
Arabic and English
The plugin and its payment fields follow your store's language.
You need WordPress 6.2 or later, WooCommerce 8.3 or later, PHP 7.4 or later, and your store served over HTTPS.
Install and connect
Install the plugin
In WordPress, go to Plugins → Add New Plugin and search for XPay for WooCommerce. Click Install Now, then Activate.
Connect your XPay account
Go to WooCommerce → Settings → Payments → XPay and click Connect with XPay. Sign in to XPay, pick your business and approve. You come back to WooCommerce connected to your test account, with the webhook already set up.
Choose your payment methods
Open the Payment Methods tab. It lists the methods your account accepts in your store's currency. Tick the ones to show at checkout and click Save changes. To change their order, click Change display order, drag the methods, then click Save display order.
Place a test order
Buy something from your store with a test card. The order shows as paid in WooCommerce once the payment succeeds. Test mode never charges real money.
When XPay turns on a new payment method for your account, open the Payment methods menu (⋮) and click Refresh payment methods, then tick it.
Go live
Your XPay account must be approved for live payments first.
Connect your live account
On the Settings tab, click Connect your live account under Enable test mode. Click Connect live account and approve on XPay. Your live account gets its own keys and webhook; the test connection stays as it is.
Turn off test mode
Untick Enable test mode and click Save changes. Place a small real order and check that its status updates in WooCommerce.
To switch back to testing, tick Enable test mode again. To change or remove a connection, open the menu (⋮) on the account card and click Configure connection or Disconnect.
Apple Pay
Apple Pay shows in the Payment Methods tab when it's on for your XPay account. Customers pay on your own website, so Apple needs to know your store first. The plugin keeps Apple Pay off until two steps show as done in its Apple Pay row: XPay dashboard setup and Domain verification file.
Add your certificates in the XPay dashboard
Follow the first three steps of Set up Apple Pay for your website: your Apple Merchant ID and both certificates. Back in WooCommerce, click Save changes. XPay dashboard setup reads Complete.
Register your store's domain with Apple
In your Apple Developer account, open your Merchant ID and add your store's domain, for example shop.example.com. Download the domain verification file Apple gives you. Don't click Verify yet.
Upload the file to the plugin
In the Apple Pay row, click Upload the file, choose the file you downloaded, then click Save changes. The plugin serves it at https://your-domain/.well-known/apple-developer-merchantid-domain-association.txt, and Domain verification file reads Found.
Verify the domain with Apple
Back in Apple Developer, click Verify next to your domain. Apple fetches the file from your store and marks the domain as verified.
Turn on Apple Pay
Tick Apple Pay in the Payment Methods tab and click Save changes. Apple Pay now appears at checkout as its own payment method.
If Domain verification file stays Not found, your server or a security plugin is blocking the .well-known path, or WordPress runs in a subfolder. Apple needs the file at the root of your domain. Fix that, then click Save changes to check again.
Refunds
Open the order in WooCommerce, click Refund, enter the amount and confirm the refund through XPay. You can refund the full amount or part of it. ValU payments can't be refunded through XPay.
When something isn't working
| What you see | What it means | What you do |
|---|---|---|
| XPay is missing at checkout | No method is ticked, or none supports the store currency. | Tick a method in Payment Methods. ValU and Fawry need EGP. |
| The payment fields don't load | A script optimizer, consent tool or security policy blocks XPay. | Allow scripts and frames from https://checkout.xpay.app, and exclude the checkout page from page caching. |
| The customer paid but the order is still pending | XPay can't reach your store's webhook. | Open Configure connection and click Reconfigure webhook. |
| Apple Pay can't be ticked | One of the two Apple Pay steps isn't done. | Follow Apple Pay until both read Complete and Found. |
| You need more detail | The plugin can log every step. | Turn on Diagnostic logging in Settings, then open WooCommerce → Status → Logs and pick the xpayeg log. |
Logs never include keys, card details or customer personal data.