WPSlash

How to Set Up Payment Gateways for Your WooCommerce Restaurant: Stripe, PayPal, Square, and Pay-at-Door

Sunday April 19, 2026

Why Payment Options Matter for Restaurant Websites

A customer finds your restaurant online, browses the menu, adds a few items to their cart, and then… leaves. No order. No revenue. According to the Baymard Institute, roughly 13% of online shoppers abandon their cart because they don’t see enough payment options. For restaurants — where the average order value is lower and the decision to order is often impulsive — that friction is even more costly. One extra click or a missing payment method can send a hungry customer straight to a competitor.

Restaurant ordering has payment needs that standard eCommerce doesn’t. Customers expect to tip at checkout. Delivery orders often need a pay-at-the-door option. Catering orders might benefit from installment payments. And dine-in QR ordering needs to feel as fast as handing a card to a server. If your <a href="https://www.wpslash.com/how-to-speed-up-your-woocommerce-restaurant-website-performance-optimization-tips-that-actually-work/" title="How to Speed Up Your <a href="https://www.wpslash.com/how-to-build-a-guest-checkout-experience-for-your-woocommerce-restaurant-that-actually-converts/" title="How to Build a Guest Checkout Experience for Your WooCommerce Restaurant That Actually Converts”>WooCommerce Restaurant Website: Performance Optimization Tips That Actually Work”>WooCommerce restaurant site only offers one or two payment methods, you’re leaving money on the table — literally.

This guide walks you through setting up the four most practical payment gateways for a WooCommerce-based restaurant: Stripe, PayPal, Square, and Cash on Delivery (configured as “Pay at Door”). By the end, you’ll know exactly how to configure each one, which combination fits your restaurant type, and how to avoid the security and compliance pitfalls that trip up most site owners.

If you’re running your restaurant ordering system with FoodMaster, all of these gateways integrate seamlessly since FoodMaster is built on WooCommerce. That means every gateway WooCommerce supports works out of the box with your delivery, pickup, and dine-in orders.

Setting Up Stripe for WooCommerce Restaurant Orders (Step-by-Step)

Stripe is the go-to payment processor for most WooCommerce restaurant sites, and for good reason. It supports credit and debit cards, Apple Pay, Google Pay, and has excellent developer tools. Transaction fees in the US sit at 2.9% + $0.30 per transaction, which is standard across major processors.

Installation and Configuration

  1. Install the plugin: Go to Plugins → Add New in your WordPress dashboard and search for “WooCommerce Stripe Payment Gateway.” Install and activate the official plugin by WooCommerce (it’s free).
  2. Connect your Stripe account: Navigate to WooCommerce → Settings → Payments → Stripe. Click “Create or connect an account” to link your Stripe account via OAuth. If you already have a Stripe account, you’ll authorize the connection in seconds.
  3. Enable test mode first: Before accepting real payments, toggle on Test mode and use Stripe’s test card number (4242 4242 4242 4242) to run a few orders through your site. This catches configuration errors before a real customer hits them.
  4. Switch to live mode: Once testing is complete, toggle off test mode. Your live API keys are automatically configured if you connected via OAuth.

Enabling Apple Pay and Google Pay

Stripe’s “Payment Request Buttons” feature activates Apple Pay and Google Pay automatically. In the Stripe settings within WooCommerce, scroll to the Payment Request Buttons section and enable it. These buttons appear on product pages, the cart, and checkout — but only on supported devices and browsers. A customer on Safari with Apple Pay set up will see the Apple Pay button; a Chrome user with Google Pay will see theirs.

One critical step many restaurant owners miss: you must verify your domain with Apple. The Stripe plugin handles this automatically by placing a verification file in your site’s .well-known directory, but if your hosting has restrictive file permissions, you may need to upload it manually. Check Stripe’s dashboard under Settings → Payment Methods → Apple Pay to confirm your domain is verified.

Tipping Support with Stripe

Stripe itself doesn’t add a tip field to checkout — that’s handled by your ordering plugin or a dedicated tipping extension. If you’re using FoodMaster as your WooCommerce restaurant plugin, tipping is built directly into the checkout flow. The tip amount gets included in the total charge processed by Stripe, so there’s no extra configuration needed on the gateway side.

[IMAGE: WooCommerce Stripe payment settings page showing test mode toggle, payment request buttons option, and API connection status]

Common Stripe Pitfalls

  • Webhook misconfiguration: Stripe uses webhooks to notify WooCommerce about payment events (successful charges, refunds, disputes). Go to your Stripe dashboard → Developers → Webhooks and make sure the endpoint URL matches what the plugin specifies. A broken webhook means orders might not update their status automatically.
  • Strong Customer Authentication (SCA): If you serve customers in Europe, Stripe handles SCA/3D Secure automatically through its payment intents API. Make sure you’re running the latest version of the Stripe plugin to stay compliant.
  • Statement descriptors: Set a recognizable business name in your Stripe dashboard under Settings → Public Details. If your statement descriptor says “WP*STRIPE” instead of your restaurant name, customers will file chargebacks thinking the charge is fraudulent.

Setting Up PayPal for WooCommerce Restaurant Checkout

PayPal remains one of the most recognized payment brands globally, with over 430 million active accounts as of their 2023 annual report. For restaurants, it adds a layer of trust — especially for first-time customers who aren’t comfortable entering card details on a site they’ve never ordered from.

PayPal Commerce Platform vs. PayPal Standard

WooCommerce now ships with the PayPal Payments plugin (formerly PayPal Commerce Platform) as the recommended integration. The older “PayPal Standard” redirected customers off your site to complete payment, which added friction and increased abandonment. The newer integration keeps everything on your checkout page with embedded PayPal buttons and hosted card fields.

To set it up, go to Plugins → Add New, search for “WooCommerce PayPal Payments,” install and activate it. Then navigate to WooCommerce → Settings → Payments → PayPal and connect your PayPal business account. The onboarding wizard walks you through granting the necessary API permissions.

Pros and Cons for Food Ordering

  • Pro: Buyer trust. Customers who are hesitant to enter card details on a restaurant site they’ve never used will happily pay through PayPal.
  • Pro: PayPal Pay Later lets customers split larger orders (think catering or party platters) into four interest-free payments. Enable this in the PayPal plugin settings under “Pay Later Messaging.”
  • Con: PayPal’s transaction fees are 2.99% + $0.49 for standard online card processing in the US — slightly higher than Stripe for typical restaurant order sizes.
  • Con: PayPal occasionally holds funds for new accounts or accounts with sudden spikes in volume. If you launch online ordering and get a rush of orders on day one, PayPal may place a temporary hold on your funds. Build in a cash buffer for the first few weeks.
  • Con: Buyer protection disputes. A customer can open a PayPal dispute claiming they didn’t receive their food. Keep delivery confirmation records and driver notes as evidence.

Optimal Settings for Restaurant Checkout

In the PayPal plugin settings, set the Intent to “Capture” (not “Authorize”) so payments are captured immediately when the order is placed. Restaurants fulfill orders within minutes or hours — there’s no reason to authorize now and capture later. Also, under Button Settings, choose a button layout that shows PayPal, Venmo (if available in your region), and the “Debit or Credit Card” option to maximize flexibility.

Adding Square Payments and Pay-at-Door (Cash on Delivery) Options

Square for WooCommerce

Square is particularly appealing for restaurants that already use Square POS hardware in their physical location. The official “Square for WooCommerce” plugin syncs your online and in-store operations, including inventory, orders, and payment data. Transaction fees are 2.9% + $0.30 for online payments — identical to Stripe.

Install the plugin from Plugins → Add New (search “Square for WooCommerce”), then connect your Square account. The plugin syncs your Square product catalog with WooCommerce, though for restaurant ordering you’ll likely manage your menu through your ordering plugin rather than Square’s item library.

The biggest advantage of Square for restaurants is unified reporting. Walk-in orders processed through your Square terminal and online orders processed through WooCommerce all appear in a single Square dashboard. This simplifies end-of-day reconciliation and gives you a complete picture of revenue across channels.

Configuring Pay-at-Door (Cash on Delivery)

WooCommerce includes a built-in Cash on Delivery (COD) gateway that works perfectly as a “Pay at Door” option for delivery and pickup orders. Here’s how to configure it:

  1. Go to WooCommerce → Settings → Payments and enable Cash on delivery.
  2. Click “Manage” to open its settings. Change the Title from “Cash on delivery” to something clearer like “Pay at Door” or “Pay on Pickup.”
  3. Add a Description customers will see at checkout: “Pay with cash or card when your order arrives. Please have the exact amount ready if paying cash.”
  4. Under Instructions, add any post-order details: “Our driver will contact you 5 minutes before arrival.”
  5. Use the Enable for shipping methods setting to restrict this gateway to local delivery and local pickup only. This prevents someone from selecting “Pay at Door” for a shipping order that goes through a carrier.

If you’re using FoodMaster for your restaurant ordering system, the delivery and pickup order types work natively with WooCommerce’s COD gateway. You can offer pay-at-door for delivery orders while requiring online payment for dine-in QR orders — a setup that makes operational sense for most restaurants.

[IMAGE: WooCommerce Cash on Delivery settings page customized as Pay at Door with shipping method restrictions highlighted]

Mobile Wallets, Digital Payments, and Choosing the Right Mix

Mobile wallet usage is growing rapidly. According to Statista, digital wallet payments accounted for roughly 50% of global eCommerce transaction value in 2023. For restaurant ordering — where most customers order from their phones — supporting mobile wallets isn’t optional anymore.

Enabling Mobile Wallets

You don’t need separate plugins for Apple Pay and Google Pay. Both Stripe and Square support them natively through their WooCommerce plugins. PayPal’s integration includes its own one-tap checkout button, which functions similarly on mobile devices. Enable the payment request buttons in your gateway settings, and the wallets appear automatically on supported devices.

Which Payment Mix Fits Your Restaurant?

  • Quick-service / delivery-focused: Stripe + Pay at Door. Speed matters most. Stripe handles cards and mobile wallets; pay-at-door covers cash customers. This covers the vast majority of your audience with minimal complexity.
  • Fine dining with catering: Stripe + PayPal. PayPal’s Pay Later option helps with larger catering orders. Stripe handles everyday transactions efficiently.
  • Restaurants with physical POS: Square + Pay at Door. The unified reporting between your in-store terminal and online orders is worth the operational simplicity.
  • Maximum coverage: Stripe + PayPal + Pay at Door. Three gateways cover virtually every customer preference. The slight overhead in managing two online processors is worth the reduced abandonment.

Transaction Fee Comparison

Gateway Online Transaction Fee (US) Mobile Wallets Monthly Fee
Stripe 2.9% + $0.30 Apple Pay, Google Pay None
PayPal 2.99% + $0.49 PayPal, Venmo None
Square 2.9% + $0.30 Apple Pay, Google Pay None
Pay at Door $0 N/A None

On a typical $35 restaurant order, Stripe and Square charge about $1.32 in fees, while PayPal charges about $1.54. That $0.22 difference adds up: over 1,000 orders per month, you’d pay roughly $220 more with PayPal. Worth considering if margins are tight.

Security, PCI Compliance, and Troubleshooting Common Payment Issues

PCI Compliance in Plain Language

PCI DSS (Payment Card Industry Data Security Standard) is a set of security requirements for anyone handling credit card data. The good news: if you use Stripe, PayPal, or Square through their official WooCommerce plugins, card data never touches your server. These gateways use hosted payment fields — the card input form is actually rendered by the payment processor’s servers inside an iframe on your page. This means you qualify for the simplest level of PCI compliance (SAQ A or SAQ A-EP), which requires minimal effort on your part.

SSL Is Non-Negotiable

Every page on your restaurant site — not just checkout — must be served over HTTPS. WooCommerce won’t even let you enable most payment gateways without an SSL certificate. Most hosting providers include free SSL certificates through Let’s Encrypt. If yours doesn’t, switch hosts. An SSL certificate costs nothing and protects everything.

Troubleshooting Common Issues

  • Failed webhooks (Stripe/PayPal): If order statuses aren’t updating after payment, your webhooks are likely misconfigured or being blocked by a security plugin. Check your firewall rules (Wordfence, Sucuri, etc.) and whitelist the webhook URLs. In Stripe’s dashboard, you can see webhook delivery attempts and error codes under Developers → Webhooks.
  • PayPal fund holds: New PayPal accounts or accounts with sudden volume spikes may experience holds of up to 21 days. Build up transaction history gradually. Providing tracking information (delivery confirmation) can release holds faster.
  • Apple Pay not appearing: Verify your domain is registered in your Stripe or Square dashboard. Also confirm you’re testing on a supported device (Safari on iOS/macOS, or Chrome on Android for Google Pay). Apple Pay won’t show up on a desktop Windows browser.
  • “Payment method not available” errors: This usually means the gateway isn’t enabled for the customer’s selected shipping method or location. Double-check your gateway availability settings under each payment method’s configuration.

Testing Before Going Live

Every gateway offers a test or sandbox mode. Use it. Place at least five test orders covering different scenarios: a delivery order with pay-at-door, a pickup order with Stripe, a large catering order with PayPal. Verify that order confirmation emails send correctly, that order statuses update in WooCommerce, and that the amounts match in your payment processor’s dashboard.

Quick FAQ

How do I handle refunds? Process refunds directly from the WooCommerce order screen. Click the order, hit “Refund,” enter the amount, and select the gateway to refund through. Stripe and PayPal both support partial and full refunds through WooCommerce. The refund typically takes 5-10 business days to appear on the customer’s statement.

What about chargebacks? Chargebacks happen when a customer disputes a charge with their bank. For restaurant orders, the most common reason is “item not received.” Keep delivery logs, GPS tracking data, and any communication with the customer. Stripe and PayPal both have dispute resolution portals where you can submit evidence.

Can customers tip through the payment gateway? The tip needs to be added to the order total before the payment is processed. Your ordering plugin handles this at checkout. FoodMaster includes a tipping feature that adds the tip to the cart total, which then gets charged through whichever gateway the customer selects — Stripe, PayPal, Square, or any other WooCommerce-compatible processor.

Getting your payment gateways right isn’t glamorous work, but it directly affects whether a customer completes their order or bounces to a third-party delivery app that takes 30% of your revenue. Set up two or three gateways, test them thoroughly, and make sure pay-at-door is available for customers who prefer it. The 30 minutes you spend configuring these settings will pay for themselves with the very first order that would have otherwise been abandoned.

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Articles

Tutorials

How to Set Up Google Address Autocomplete for Your WooCommerce Restaurant Checkout (Step by Step)

Why Address Autocomplete Matters for Restaurant Delivery Orders A customer is hungry, they’ve built the perfect order on your <a href="https://www.wpslash.com/how-to-design-and-customize-your-wordpress-restaurant-website-theme-branding-color-schemes-menu-layouts-hero-sections-and-mobile-first-design-best-practices-complete-guide/" title="How to Design and Customize Your WordPress Restaurant Website Theme: Branding, Color Schemes, Menu Layouts, Hero Sections, and Mobile-First Design Best Practices (Complete Guide)”>restaurant website, and they’re ready to check out. Then they start […]
April 20, 2026
Tutorials

How to Set Up a Customer Loyalty and Rewards Program for Your WooCommerce Restaurant Website

Why Loyalty Programs Matter for Online Restaurant Ordering Here’s a number that should stop every restaurant owner in their tracks: acquiring a new customer costs five to seven times more than keeping an existing one. For restaurants running their own online ordering through WooCommerce, that gap becomes even more significant when you factor in the […]
April 19, 2026
Tutorials

How to Speed Up Your WooCommerce Restaurant Website: Performance Optimization Tips That Actually Work

Why Website Speed Matters for Restaurant Ordering (And How Slow Sites Kill Your Orders) A hungry customer pulls up your restaurant website on their phone, ready to place an order. The page takes five seconds to load. They’re gone — probably ordering from your competitor down the street. That scenario plays out thousands of times […]
April 18, 2026