=== One Page Checkout for WooCommerce – OSO Form ===
Contributors: elmehdiboulmarouf
Tags: woocommerce, direct checkout, one page checkout, order form, cash on delivery
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Turn WooCommerce product pages into direct checkout experiences — fewer steps, unlimited orders, card payments or COD, live order summary.

== Description ==

= 🚀 Stop Losing Buyers Between Product and Checkout =
Every extra step between “I want this” and “Order complete” is another opportunity for a buyer to leave.

**One Step Order (OSO)** is a WooCommerce direct checkout plugin that puts the order form directly on the product page — helping you remove unnecessary checkout steps, reduce buying friction, lower cart and checkout abandonment, and create a shorter path to more completed orders.

= ⚡ The Traditional Checkout vs. OSO =
**Traditional WooCommerce**

Product → Cart → Checkout form → Thank-you page

**With One Step Order**

Product + Order form → Thank-you page

Think of it as telling your customer:

**"Here's the product. Here's the order form. Complete your order now."**

No unnecessary trip through the cart.
No separate checkout page.
The customer can move from buying intent to placing the order without being sent through extra pages.

**Fewer steps. Fewer chances to lose the buyer. More opportunities to turn buying intent into revenue.**

= 🚀 Why One Step Order? =
A shorter checkout is not just about convenience.
It is about removing the moments where a ready-to-buy customer can hesitate, leave, or abandon the order.

✓ **Reduce checkout friction** — Keep the buying journey short and direct.

✓ **Lower cart and checkout abandonment** — Remove unnecessary steps between product interest and order completion.

✓ **Turn the product page into the place where buying happens** — Product details and the order form come together on one page.

✓ **Create more opportunities to convert** — Make it easier for buying intent to become a completed order.

✓ **Keep WooCommerce at the core** — Orders continue to work with your WooCommerce store and existing order workflow.

✓ **Sell your way** — Accept cash on delivery or online payments and shape the ordering experience around your store.

**One product page. One direct buying experience. Fewer opportunities to lose the sale.**

= ✨ Start Free. Take Unlimited Orders. =
Start selling directly from your WooCommerce product pages with OSO Free — with unlimited orders and the essential tools you need to create a shorter, more direct buying experience.

🔥 **OSO Free — The Essentials, Without Order Limits**

✓ **Direct order form + live summary** — Let customers enter their details and review their order directly on the product page.

✓ **Unlimited orders** — No monthly order limits as your store grows.

✓ **Multilingual & RTL ready** — Build an ordering experience that works across languages and right-to-left layouts.

✓ **Show or hide order fields** — Keep the form focused on the information your store actually needs.

✓ **Reorder form fields** — Drag blocks to change the order of fields on the product form.

✓ **Shortcode for landing pages** — Embed the order form anywhere with `[oso_form id="123"]`.

✓ **Choose payment methods** — Control which supported payment options customers can use.

✓ **WooCommerce cart & quantity controls** — Show or hide WooCommerce’s native Add to Cart and quantity controls around the OSO buying experience.

✓ **Purchase button color** — Match the main purchase button to your store.

✓ **Guaranteed Safe Checkout** — Reinforce trust at the moment customers are ready to place their order.

🚀 **Ready for More?**

OSO Branding gives you deeper control over your store’s look, feel, and buying experience.

OSO Scale goes further with advanced tools to recover opportunities, grow order value, improve conversion tracking, and control the buying journey product by product.

👉 **Explore all OSO features and compare editions:** [Compare OSO editions](https://onesteporder.com/pricing/#comparer)

**Start free. Take unlimited orders. Upgrade only when your store needs more.**

= ⚡ Built Directly Into the WooCommerce Product Page =
OSO does more than simply skip the cart or redirect customers to a separate checkout page. It brings the order form directly into the WooCommerce product page — right where the buying decision happens.

Once OSO is enabled, the order form appears directly below WooCommerce’s Add to Cart area, so it works naturally with your existing product pages — whether they are built with Gutenberg, Elementor, or another WooCommerce-compatible page builder.

✓ **No separate checkout page required**
✓ **No cart step required**
✓ **Works directly with WooCommerce product pages**
✓ **Works with variable products**
✓ **Show or hide WooCommerce Add to Cart controls**
✓ **Show or hide WooCommerce quantity controls**
✓ **Orders stay inside your WooCommerce order workflow**
✓ **WooCommerce HPOS compatible**

**Your product page doesn't just show what you sell. With OSO, it becomes where the order happens.**

= 🎨 Make the Order Form Fit Your Store =
Your customers, language, and ordering needs are not always the same. OSO gives you the flexibility to keep the order form focused on the information your store actually needs.

✓ **Show or hide order fields** — Keep the ordering experience focused and relevant.

✓ **Multilingual & RTL ready** — Create a natural ordering experience across languages and right-to-left layouts.

✓ **Live order summary** — Keep customers informed as their order details update.

Want to take the experience further? **OSO Branding** adds deeper visual styling, field customization, shipping controls, and more, while **OSO Scale** lets you control the buying experience product by product.

**Start with the essentials. Shape the experience as your store grows.**

= 💳 Let Customers Pay Their Way =
A faster checkout should not limit how customers pay.
OSO brings payment into the same direct ordering experience, whether your customers prefer to pay online or when their order arrives.

✓ **Online card payments** — Accept secure card payments through payment methods already configured in WooCommerce.

✓ **WooPayments support** — Use WooPayments when it is installed, activated, and configured in your WooCommerce store.

✓ **Stripe support** — Use Stripe when it is installed, activated, and configured in your WooCommerce store.

✓ **Cash on Delivery (COD)** — Let customers place their order now and pay when it arrives.

✓ **Choose the payment methods you offer** — Control which supported payment options are available to your customers.

**Cards or cash on delivery. One direct path from product to paid or confirmed order.**

= 🎨 OSO Branding — Make Your Store Look as Trustworthy as It Feels =
Customers do not judge a checkout only by how fast it works. They also judge whether it looks professional, consistent, and trustworthy enough to place an order.

OSO Branding includes everything in Free, then gives you the freedom to turn the order experience into a natural extension of your brand — instead of a generic form that simply happens to sit on your product page.

✓ Full visual styling.
✓ Purchase button styling, including hover and text colors.
✓ Complete form field customization & renaming.
✓ Custom shipping rules.
✓ Popup checkout.
✓ Sticky ordering bar.
✓ Custom post-purchase redirects.
✓ Store-wide WhatsApp ordering.
✓ Priority support.

Match the form to your colors.
Use the words your customers understand.
Shape the buying experience around your store.
Keep the journey visually consistent from product interest to order completion.

Because at the moment a customer is asked to enter their information and place an order, **a polished and consistent experience can help reinforce trust and confidence.**

**Look professional. Feel consistent. Give customers more confidence to order.**

= 🚀 OSO Scale — Turn More Buying Intent Into Revenue =
OSO Scale includes everything in Free and Branding — then goes further with tools built to help you recover opportunities, grow order value, improve conversion data, and create the right buying experience for every product.

🛟 **Recover Opportunities You Almost Lost**

A customer starts filling out the order form but leaves before completing the order? That buying intent does not have to disappear with them.

Scale can preserve the customer information already entered, giving you an opportunity to follow up and recover an abandoned checkout.

📈 **Grow the Value of Every Order**

When a customer is already ready to buy, Scale gives you more ways to turn that intent into additional revenue.

✓ Product-specific upsells ✓ Product-specific quantity discounts

Offer the right extra product or make buying more units more attractive — based on the product the customer is already interested in.

📊 **Know What Actually Turns Into Orders**

Clicks are useful. Completed orders are what matter.

Scale adds server-side conversion tracking to strengthen the data you send to your advertising platforms:

✓ Meta Pixel + Conversions API ✓ TikTok Pixel + Events API

Connect advertising activity more closely with the orders your store actually receives.

🎯 **Give Every Product Its Own Buying Experience**

Not every product needs the same form, fields, shipping, offers, or sales journey. Scale gives you product-level control over the OSO experience.

✓ Product-specific form controls.
✓ Product-specific field controls.
✓ Product-specific shipping controls.
✓ Product-specific live summary control.
✓ Product-specific WhatsApp routing.
✓ Product-specific post-purchase redirects.

**Recover missed opportunities. Grow order value. Improve your conversion data. Control the journey product by product.**

👉 **See everything included in OSO Scale:** [Compare OSO editions](https://onesteporder.com/pricing/#comparer)

= 🧩 Built for WooCommerce — Not Around It =
OSO changes the customer-facing buying experience while keeping WooCommerce at the core of your store.

Orders remain part of your WooCommerce workflow, so you can create a more direct path to purchase without introducing a separate ordering system to manage.

✓ **WooCommerce order workflow** — Keep managing orders through WooCommerce.
✓ **WooCommerce HPOS compatible** — Built to work with High-Performance Order Storage.
✓ **Simple & variable products** — Use OSO across common WooCommerce product types.
✓ **Gutenberg & Elementor** — Works naturally with WooCommerce product pages built with popular page-building tools.
✓ **WooCommerce-configured payments** — Use supported payment methods that are already installed and configured in WooCommerce.
✓ **No separate order system** — Change the buying experience without replacing the store foundation you already use.

**A different way to sell. The WooCommerce foundation you already know.**

= 👀 See One Step Order in Action =
See how OSO turns the WooCommerce product page into a direct ordering experience — and how Free, Branding, and Scale give you more control as your store grows.

From the product-page order form and live summary to styling, product-specific controls, upsells, tracking, and more, the screenshots below show OSO where it matters: in the real buying experience.

👉 **Explore all OSO features:** [Visit the OSO Features page](https://onesteporder.com/features/)

= 🛟 Support & Resources =
Need help with One Step Order?

✓ **OSO Free support** — Get community support through the official WordPress.org support forum.

✓ **Priority support** — Available with OSO Branding and Scale.

✓ **Official website** — Explore OSO features, editions, and product information.

👉 **Get OSO Free support:** [Visit the WordPress.org support forum](https://wordpress.org/support/plugin/oso-form-for-woocommerce/)

👉 **Explore One Step Order:** [Visit the official OSO website](https://onesteporder.com/)

**Start free. Build the experience your store needs. Scale when you're ready for more.**

== Installation ==

Get OSO running on your WooCommerce store in just a few steps:

1.  Install and activate **One Step Order (OSO)** from WordPress.org.
2.  Make sure **WooCommerce** is installed and activated.
3.  Go to **WooCommerce → OSO Form** to configure OSO.
4.  Enable the order form and choose the settings that fit your store.
5.  Visit a WooCommerce product page and your direct ordering experience is ready.

For online card payments, make sure **WooPayments or Stripe is installed, activated, and properly configured in WooCommerce** before enabling the corresponding payment method in OSO.

**Install. Configure. Start taking orders directly from your product pages.**

== Frequently Asked Questions ==

**Does OSO replace the standard WooCommerce cart and checkout?**

OSO gives you a different buying flow by placing the order form directly on the WooCommerce product page. Customers can move from the product to the thank-you page without going through separate cart and checkout pages.
You can also control the visibility of WooCommerce’s native Add to Cart and quantity controls.

**Is One Step Order only for Cash on Delivery (COD) stores?**

No. OSO supports both Cash on Delivery and online card payments.
Online payments currently work with WooPayments and Stripe when they are installed, activated, and properly configured in WooCommerce.

**Is OSO Free really free? Are orders limited?**

OSO Free lets you take unlimited orders. You can start with the core direct-ordering experience and upgrade to Branding or Scale when you need more customization, control, and growth tools.

**Does OSO work with variable WooCommerce products?**

Yes. OSO works with simple and variable WooCommerce products, allowing customers to choose the product variation and continue with the direct ordering experience.

**Does OSO work with Elementor and Gutenberg?**

Yes. OSO works directly with WooCommerce product pages, including product pages built with Gutenberg, Elementor, and compatible WooCommerce page builders.
You can also embed the order form on landing pages with the shortcode `[oso_form id="123"]` (use one form per page).
The shortcode inherits the global “Quantity Selector in Form” setting; override per page with `qty="yes"` or `qty="no"` (e.g. `[oso_form id="123" qty="no"]`).

**Does OSO support WooCommerce HPOS?**

Yes. OSO is compatible with WooCommerce High-Performance Order Storage (HPOS).

**Can I customize the OSO order form?**

Yes. OSO Free provides essential field controls (show/hide, reorder, and required), plus multilingual/RTL support. OSO Branding adds deeper visual customization, field renaming, shipping rules, and other controls, while OSO Scale adds product-specific control over the buying experience.

**Can OSO help recover abandoned checkouts?**

Yes, with OSO Scale. If a customer begins entering information into the order form but leaves before completing the order, Scale can preserve the information already entered, giving you an opportunity to follow up and recover the abandoned checkout.

**Can I track conversions with Meta and TikTok?**

Yes, with OSO Scale. It includes server-side conversion tracking with Meta Pixel + Conversions API and TikTok Pixel + Events API to help connect advertising activity with completed orders.

**What is the difference between OSO Free, Branding, and Scale?**

Free gives you the essential direct-ordering experience with unlimited orders.
Branding adds deeper customization and tools for creating a more polished, consistent buying experience.
Scale includes everything in Branding and adds advanced growth, recovery, tracking, and product-specific controls.

👉 **Compare every feature across Free, Branding, and Scale:** [Compare OSO editions](https://onesteporder.com/pricing/#comparer)

== Screenshots ==

1. Desktop product page — one page checkout form with live order summary (physical product).
2. Mobile product page — same one page checkout form on a phone layout.
3. Desktop product page — compact order form for a simple / digital-style product.
4. Mobile product page — compact order form on a phone layout.
5. Desktop product page — one page checkout with variable product options and live totals.
6. Mobile product page — variable product checkout form on a phone layout.
7. OSO order form close-up — fields, live summary, quantity, and Complete Order button.
8. Admin — WooCommerce → OSO Form → General (enable, checkout mode, form language).

== Changelog ==

= 1.3.1 =
* Shortcode variable products: hide WooCommerce quantity and Add to Cart in the variations block (attribute selects stay visible).
* WooCommerce Mode: payment step scrolls to the center of the screen after Buy Now (smoother on long forms).
* Admin General tab: shortcode usage note under Enable Plugin.

= 1.3.0 =
* Shortcode `[oso_form id="123"]` (alias `product_id`) embeds the OSO form on landing pages.
* Frontend assets load for shortcode contexts (including page builders when the shortcode runs).
* Variable products: variations UI rendered as a sibling block next to the OSO form (not nested).
* Shortcode qty inherits admin (and product meta when set); override with `qty="yes"` / `qty="no"`.
* Fixed OSO +/- quantity on landing pages so the live summary updates (no longer stuck at 1).

= 1.2.0 =
* Form Fields: unified manager to drag-reorder blocks and control show/hide + Required in one list.
* Linked blocks keep Country + Postal Code and State/Region + City together (two rows per block).
* Country / ZIP / State use compact mode selects (Dropdown/Text/Hidden or Auto/Always/Hidden).
* Optional fields supported when visible but not Required.

= 1.1.1 =
* Guaranteed Safe Checkout image no longer forced to a 30px max height — custom badge sizes display at their natural height (within the form width).
* Premium discovery copy updated with the recommended badge size (500 × 40 px).

= 1.1.0 =
* Added Guaranteed Safe Checkout trust badge under the order button (on by default; can be toggled in Behavior Settings).
* Added “Powered by One Step Order” attribution link under the form (required on Free).
* Premium discovery rows for custom badge image, custom badge title, and hiding attribution (OSO Branding).

= 1.0.0 =
* Initial WordPress.org release.
* OSO Mode (instant order) and WooCommerce Mode (inline gateway checkout).
* WooCommerce shipping zones integration.
* HPOS compatibility declared.
* Seven storefront language presets with RTL support for Arabic.
* Checkout security: honeypot, timing validation, and rate limiting.
* WooCommerce orders column and OSO counter in admin.
* Plugins screen: Settings and Upgrade OSO links.
* Summary box title includes a colon in language presets (RTL-safe for Arabic).
* Submit button output escaped via wp_kses for Plugin Check.

== Upgrade Notice ==

= 1.3.1 =
Shortcode variable-product fixes, smoother payment-step scroll, and a shortcode hint in OSO settings.

= 1.3.0 =
Embed the OSO order form on landing pages with [oso_form id="123"]. Shortcode qty inherits admin settings.

= 1.2.0 =
Reorder form fields and set visibility/required from one Form Fields list.

= 1.1.1 =
Allows Guaranteed Safe Checkout images to display at their natural height (no 30px max-height cap).

= 1.1.0 =
Adds Guaranteed Safe Checkout badge and Powered by One Step Order attribution on the product form.

= 1.0.0 =
Initial release on WordPress.org.

== External services ==

OSO does not send customer data to third-party services by default when using the direct order flow with Cash on Delivery (COD).

**Online Payments**

When online card payments are enabled, OSO can work with supported payment methods that are installed, activated, and configured in WooCommerce.

✓ **Stripe** — When Stripe is enabled and configured in WooCommerce, Stripe may load external scripts such as Stripe.js (`https://js.stripe.com/v3/`) and receive payment information required to process the transaction. Payment data is handled according to your WooCommerce and Stripe configuration.

Stripe is provided by Stripe, Inc.:

[Stripe Terms of Service](https://stripe.com/legal/consumer)

[Stripe Privacy Policy](https://stripe.com/privacy)

✓ **WooPayments** — When WooPayments is installed, activated, and configured in WooCommerce, payment processing may involve external services required by WooPayments to complete online transactions. These connections are governed by WooPayments and its applicable terms and privacy policies.

OSO does not independently activate or configure these payment services. They must first be installed, activated, and properly configured in WooCommerce.

**Conversion Tracking — OSO Scale**

When the corresponding tracking features are enabled and configured in OSO Scale, the plugin may communicate with external advertising services to send conversion events:

✓ **Meta Pixel + Conversions API** — May communicate with Meta services for browser and server-side conversion tracking.

✓ **TikTok Pixel + Events API** — May communicate with TikTok services for browser and server-side conversion tracking.

These integrations are optional and operate only when configured and enabled by the store administrator. Data transmitted through these services is subject to the respective provider's terms and privacy policies.

== Privacy ==

OSO stores order information as part of the WooCommerce order workflow. Customer and order data required to process an order is handled through your WordPress and WooCommerce installation.

OSO does not send personal customer data to the plugin author.

When optional external services such as Stripe, WooPayments, Meta, or TikTok are enabled, data required by those integrations may be transmitted to the corresponding third-party service according to your configuration and the provider's privacy policy.

Optional debug logging can be enabled from the OSO General settings. Debug information is stored locally in your WordPress uploads directory and is not automatically transmitted to the plugin author.

Checkout submissions include protection mechanisms such as honeypot validation, timing validation, and rate limiting.

For more information about One Step Order, visit [onesteporder.com](https://onesteporder.com/).
