Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket
WordPress and WooCommerce

WooCommerce Payment Gateways: How They Work and How to Choose One

How WooCommerce payment gateways work, where to configure them, when bank transfer, cheque or cash on delivery make sense, which official extensions cover which countries, and a checklist for choosing.

By DevMarket EditorialPublished: 10 min read
WooCommerce Payment Gateways: How They Work and How to Choose One
On this page

A WooCommerce payment gateway is the part of checkout that takes the customer's payment, or sends them to a provider who does, and reports back whether it worked. WooCommerce includes three offline methods (bank transfer, cheque and cash on delivery) and adds online card and wallet payments through extensions and plugins. Which ones you can use depends first on the country your business is in. This guide is written as of October 2026 and checked against the current WooCommerce documentation.

In short

  • A gateway hands the payment to a provider and reports the result, and WooCommerce then sets the order status. Offline methods skip the provider, so you confirm the money yourself.
  • Set up payments under WooCommerce > Settings > Payments: Enable or Manage each method and drag to change the checkout order.
  • Official extensions depend on country. WooPayments lists 38 countries, the UAE for business accounts only, and does not list Saudi Arabia, Kuwait, Qatar, Bahrain or Oman as of October 2026.
  • Test each gateway in its test mode, then make one small live order and a refund before launch.
  • Card security is shared: the provider handles card data, and you keep the site on HTTPS, updated and free of stored card details.

What does a payment gateway do in WooCommerce?

When a customer presses Place order, WooCommerce creates the order and asks the chosen gateway to process it. The Payment Gateway API documentation says the gateway tells WooCommerce where to send the customer next, and on failure shows an error at checkout. For a paid order the gateway marks the payment complete, and WooCommerce chooses Processing or Completed and handles stock. When payment cannot be verified at once, as with a cheque, the order goes On hold.

Two cards side by side, each with several rows, some ticked and some left open
Compare options on the same rows: where card details are entered, which countries are covered, what it costs and how refunds work.

The same page describes four kinds of gateway:

KindWhat happens at checkoutWhat the docs say it means for you
Form basedThe customer clicks a button and is redirected to the payment processorData is posted off-site, so fewer security issues for you
iFrame basedThe provider's payment system loads inside an iframe on your storeData is posted off-site
DirectPayment fields appear on your checkout page, and payment is made on Place orderDirect gateways require server security to be implemented
OfflineNo online payment is made, as with cheque or bank transferYou confirm the payment by hand

Newer gateways often use fields hosted by the provider. WooCommerce's PCI-DSS guide says that with off-site or hosted-field gateways, such as Stripe, PayPal or WooPayments, your site does not handle raw cardholder data. Ask each provider which kind it uses.

Where do you set up payments in WooCommerce?

Open WooCommerce > Settings > Payments. The settings documentation says to choose Enable for an available provider or Manage for one already enabled, and to use the drag handle beside a provider to change the order at checkout. Take offline payments holds the three built-in methods. Extensions add their own screens: WooPayments has a Payments menu with Settings, where test mode lives. The main Payments page has been rebuilt in recent versions, so if your screen differs, search it for the provider's name.

The built-in offline methods: when is each one sensible?

For each method, click Enable, then Manage, and set the title, description and instructions. WooCommerce labels the cheque method Check payments.

MethodWhat the customer seesOrder statusSensible when
Direct bank transferYour bank details on the Order received page and in the order emailOn hold until you confirm the fundsCustomers prefer to transfer, orders are large or business-to-business, or you launch before a gateway is approved
Check paymentsYour instructions, such as payee name and mailing addressOn hold until the cheque clearsYour customers genuinely pay by cheque
Cash on deliveryA pay-on-delivery option you can limit to chosen shipping methodsProcessing until the cash is collectedCustomers expect it and your couriers collect and pass on the cash

The money moves outside the store, so WooCommerce cannot confirm it: you check the bank account or courier statement before moving the order forward, and refunds are manual. A missing transfer is for you, the customer and the bank to resolve. For the Gulf, read shipping and cash on delivery in Saudi Arabia first. Enable only the methods you will actually reconcile.

Which official extensions exist, and where do they work?

Country availability is the first filter, and it changes, so confirm on the official page before you plan. As of October 2026:

ExtensionWhat it isAvailability
WooPaymentsWooCommerce's own payments extension, built and supported by Woo. Sign-up runs through Stripe, its payments partnerThe countries page lists 38 countries, including the UAE (business accounts only). Saudi Arabia, Kuwait, Qatar, Bahrain, Oman and India are not listed
WooCommerce Stripe Payment GatewayA plugin by WooCommerce for the Stripe service. You need a Stripe account, and Stripe alone sets the feesThe plugin's country list has the UAE and India but not Saudi Arabia, Kuwait, Qatar, Bahrain or Oman. Stripe's global page lists the UAE and shows India as Preview, so confirm India with Stripe
WooCommerce PayPal PaymentsA plugin for PayPal buttons, Pay Later and card processing. You need a PayPal accountThe page lists no countries and says Pay Later is available in select countries, so check PayPal for your account country

As our guide to payment gateways in Saudi Arabia explains, a store in Saudi Arabia, Kuwait, Qatar, Bahrain or Oman finds no official WooCommerce gateway on these lists and normally installs a local provider's plugin. A UAE business appears on both the WooPayments and Stripe lists. Confirm fees with each provider.

Third-party gateways: what should you compare?

Local and specialist providers publish their own plugins, on wordpress.org or their own sites. Compare:

  • Country and currency. Does the provider serve your business country and your store currency? WooCommerce says to confirm this before changing currency.
  • Methods live in your market. For Saudi Arabia that means mada, Apple Pay and STC Pay, among others: see the Saudi guide.
  • Checkout blocks. The block checkout guide says an incompatible gateway may not appear at checkout. Look for a declaration in the description or changelog: the Moyasar changelog, for instance, records compatibility with the Cart and Checkout blocks.
  • Account terms. The HyperPay plugin page says you must already be a HyperPay customer, so read what each plugin requires.
  • Maintenance. Check the last update, the tested WordPress version and compatibility with High-Performance Order Storage (HPOS explained), as the guide to the best WooCommerce plugins shows.
  • Money flow and refunds. Who contracts with you and settles to your bank, when payouts arrive, every fee in writing, and whether refunds work from the WooCommerce admin.

How do you test a payment, handle failures and refund?

Test before you take real money

Use the gateway's test or sandbox mode. In WooPayments, tick Enable test mode under Payments > Settings. The WooPayments testing page says test mode accepts only test card numbers, a real card makes the order fail, and test orders get a notice, an order note and a [Test] email prefix. WooCommerce itself does not flag test orders: its testing orders page says they can trigger emails and appear in Analytics, so test on staging and delete them afterwards. Turn test mode off before launch, then make one small real order and refund it. Gateway fees are typically not refunded.

Failed payments

The order statuses page defines the ones to watch. Pending payment means the order was received but no payment was made. Failed means the payment failed or was declined. On hold means payment still needs your confirmation, with stock already reduced. With Hold Stock on, eligible Pending payment orders are cancelled after the time limit and their stock released. WooCommerce sends a Failed order email to the store and a notice to the customer, so check the error message customers see by testing a declined card.

Refunds

Open WooCommerce > Orders, choose the order and click Refund. The refund guide separates an automatic refund through a compatible gateway from a manual one, which only records the refund while you return the money yourself. Changing an order's status to Refunded does not refund the customer. Tick Restock refunded items if goods come back, and keep a credit note for VAT: see VAT and invoices for online stores in Saudi Arabia.

Card data and security: what is your part?

This guide makes no compliance claims about any gateway or store. WooCommerce's PCI-DSS guide says compliance is ultimately the store owner's responsibility even when a hosted gateway reduces what your site handles, and that your payment processor may require a self-assessment questionnaire or scans. Ask your provider in writing what it expects of you, and follow its guidance. Practical basics:

  • Run the whole store on HTTPS: most gateways require it, per the SSL guide.
  • Never store card data on your site, and never ask customers to send card details by email or chat.
  • Keep WordPress, WooCommerce, themes and plugins updated, limit admin access, use strong passwords and ask your host about malware protection.
  • Install gateway plugins only from the provider or wordpress.org.

The WordPress security checklist covers the rest.

A decision checklist

  1. Write down your business country, store currency and the countries you sell to.
  2. List the payment methods your customers expect.
  3. Check the official country pages for WooPayments, Stripe and PayPal, then shortlist local providers that serve you.
  4. Confirm each plugin supports the Cart and Checkout blocks, HPOS and your PHP and WordPress versions.
  5. Ask who contracts with you, who settles to you, when payouts arrive and what every fee is.
  6. Ask what security duties the provider expects from you.
  7. Test a payment, a decline and a refund in test mode, on a phone.
  8. Go live with one small real order and a refund, then check your bank statement and accounting.
  9. Add bank transfer, cheque or cash on delivery only if you can reconcile them.

Frequently asked questions

Which WooCommerce payment gateway is best?

There is no single best one. It depends on your business country, currency, customers' methods and fees. Start with the official country pages, then compare providers with the checklist above.

Can I use more than one gateway?

Yes. The Payments settings let you enable several and reorder them. Each adds choices and testing work, so keep the list short.

Is WooPayments available in Saudi Arabia?

Not as of October 2026: its countries page does not list Saudi Arabia. A Saudi store normally uses a local gateway plugin, as the Saudi guide explains.

Why does my gateway not show at checkout?

Common causes are a plugin without block checkout support, a currency or country the provider does not serve, or a method that is not enabled. Check block compatibility first.

Next steps

Compare Saudi providers in payment gateways in Saudi Arabia, follow how to set up WooCommerce for the full store, and use the shipping setup guide for delivery. You can also browse WooCommerce plugins on DevMarket and check each listing's support period and update policy.

Find the right software for the job

Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.