Features
Checkout and payments
A one-page checkout where shoppers pay by card, PayPal or an offline method without ever leaving your storefront — with protection against double charges built in.
Checkout is one page on your storefront, from address to payment. Shoppers can buy as guests or with their saved addresses, see live delivery prices for their destination, and pay by card, PayPal or an offline method — the card form and the PayPal button sit right in the page, so nobody is bounced to a WordPress screen to finish paying.
- Where it shows
/checkoutand the thank-you page/order-confirmation/…- Configure in
- WooCommerce → Settings → Payments and Shipping; selling and shipping locations under WooCommerce → Settings → General
- Requires
- WooCommerce and the Companion plugin; WooCommerce Stripe Gateway for cards; WooCommerce PayPal Payments for PayPal
- Try it in Demo Mode
- Demo card, DemoPay button and the offline methods — no real money moves
What shoppers get
Section titled “What shoppers get”- Guest checkout. No account needed; a hint offers to log in for those who have one.
- One page. Contact details, billing and shipping addresses, delivery method, an optional order note, the order summary with coupon field, and payment — all on one screen.
- Pay where they are. A Stripe card form with a single “Card information” field that recognises the card brand as it is typed, or PayPal’s own button in place of Place order.
- Wallets New. Apple Pay and Google Pay under the pay button, when you offer them. See Express checkout.
- A clear thank-you page. Order number, date, payment method, totals, items, addresses and delivery method — plus your bank details when the shopper chose bank transfer.
Addresses and delivery
Section titled “Addresses and delivery”Address forms follow WooCommerce’s own rules for each country: the right labels, required fields, state or province lists and postcode format. Country and state pickers are searchable.
- Billing offers only the countries you sell to; shipping offers only the countries you ship to. A guest’s checkout starts in your shop’s own country.
- Signed-in shoppers pick from their saved addresses — any outside your selling or shipping countries is flagged — or enter a new one and tick “Save this address to my address book”.
- Ship to a different address? opens a separate shipping address with its own phone number.
- Delivery methods are priced live for the address entered, with clear states while rates are checked, when none are available, and when the postcode is not valid.
Online payments
Section titled “Online payments”| Method | What the shopper does | Provided by |
|---|---|---|
| Card | Types the card into the embedded form and presses Place order. If the bank asks for 3-D Secure, the challenge runs on the checkout page and the order is confirmed when it is done. | WooCommerce Stripe Gateway |
| PayPal | Presses PayPal’s button, approves in PayPal’s window and returns to a placed order. | WooCommerce PayPal Payments |
Payment keys and test or live mode are set in WordPress, in each payment plugin’s own settings. The storefront reads them on every checkout, so switching from test to live needs no redeploy.
Offline payment methods
Section titled “Offline payment methods”WooCommerce’s three built-in offline methods work as they do on a classic WooCommerce store:
| Method | What happens |
|---|---|
| Direct bank transfer | The order is placed on hold, and the thank-you page shows your bank account details so the shopper can pay. |
| Check payments | The order is placed and waits for your cheque to arrive. |
| Cash on delivery | The order is placed and paid on delivery. |
Enable them, and write their instructions, under WooCommerce → Settings → Payments.
Payment safety
Section titled “Payment safety”The storefront and the Companion plugin are built so that a shopper is never charged twice and never charged an amount they did not approve.
- No double charges. If the answer to “place my order” is lost — a timeout or a dropped connection — the storefront asks WooCommerce for the order that cart already created and takes the shopper there, instead of charging again. A checkout reopened after the payment went through also leads to that order.
- One checkout per cart. The backend processes one placement per cart at a time.
- Amount guard. If the cart total changes after a shopper approves a PayPal or wallet payment, nothing is charged and they approve the new total.
- Pending payments. When a bank has not confirmed a payment yet, the shopper is told not to pay again and can Check again.
- Card-testing protection. Declines show a generic message; the real reason is recorded only in the order notes. A per-shopper checkout rate limit applies when the storefront and WordPress share a signing secret.
- Locked-down payment pages. Checkout and the thank-you page run under a strict script policy and cannot be framed by other sites; your custom tracking scripts are not loaded there. See Security and performance.
How it works
Section titled “How it works”The storefront asks the backend which payment methods are available and shows the right interface for each one: a form for cards, a button for PayPal, nothing extra for offline methods. Each payment provider’s script loads only where its form or button is shown. Prices, taxes, shipping and discounts are always WooCommerce’s own calculation.
An optional distraction-free checkout reduces the header to the logo and search and the footer to the copyright
line. A developer turns it on with DISTRUCTION_FREE_CHECKOUT=on (the spelling is intentional).
Set it up
Section titled “Set it up”- Set selling and shipping locations, shipping zones and taxes in WooCommerce — see WooCommerce settings.
- Install and configure the Stripe and PayPal plugins, and enable the offline methods you want — see Payments.
- For the per-shopper rate limit, set the same shared secret on both sides — see Environment variables and wp-config constants.
Good to know
Section titled “Good to know”- The storefront is verified against WooCommerce Stripe Gateway 11.0.x and WooCommerce PayPal Payments 4.1.x. WordPress warns administrators when an installed version is outside the verified range — see Requirements.
- The thank-you page is protected by the order key, so only the shopper who placed the order can open it.
- Checkout, cart and the thank-you page are kept out of search engines.