=== Dude Commerce ===
Contributors: wpdudeplugins, freemius
Tags: physical products, stripe, ecommerce, shipping, stock
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.13
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sell physical products directly from WordPress using Stripe Checkout — no WooCommerce required.

== Description ==

Dude Commerce is a lightweight WordPress plugin that lets you sell physical products using Stripe Checkout.

Create a product (standard or with options), set price and stock, publish it, and embed it anywhere using a Gutenberg block or shortcode. After payment, customers receive a passwordless magic link to view their order. You fulfil from Orders and Picking — packing slips and shipping labels included.

Dude Commerce follows the WPDude philosophy:

One plugin. One job.

No shopping cart. No customer accounts. No unnecessary eCommerce complexity — just everything you need to sell shippable products.

Watch the complete getting started guide

Learn how to create products, connect Stripe, publish your products and start selling in minutes.

https://youtu.be/sEI0Gw-yTnM

Documentation

https://wpdude.com/wp-dude-plugin-documentation/dude-commerce-documentation/

Perfect for:

* Makers
* Artists
* Photographers selling prints
* Small shops
* Apparel and merch sellers
* Craft and handmade businesses
* Content creators selling physical goods
* Anyone who wants simple product checkout without WooCommerce

= Free Features =

* Unlimited standard products
* Unlimited options products (up to five options with generated combinations)
* Stock management and SKUs
* Product categories
* Featured image, gallery, and combination images
* Sale prices and front-end “On sale” badge
* Flat shipping amount per product
* Stripe Checkout (Test and Live)
* Stripe webhooks
* Stripe Tax (optional)
* Sell-to country selection for shipping addresses
* Orders list and detail
* Picking workflow
* Packing slips and shipping labels
* Customer emails (default templates)
* Magic links to view orders
* Gutenberg blocks (Product, Images, Price, Buy)
* Shortcode support

= Pro Features =

The Pro version adds business integrations including:

* Outgoing webhooks (n8n / Make / custom URL)
* CSV export
* Sales reports (Dude Commerce → Reports: revenue by day/product/customer, customer history, CSV export)
* Admin REST API for reading plugin data
* Admin sale notifications
* Custom customer email templates (with placeholders)

= Stripe =

Paid checkouts are securely processed by Stripe Checkout.

Stripe also collects tax (when Stripe Tax is enabled) and shipping addresses. No payment card data is ever stored on your WordPress website.

* Stripe Terms: https://stripe.com/legal
* Stripe Privacy: https://stripe.com/privacy

= Freemius =

Optional licensing and update delivery for the Pro package is provided by Freemius. The free WordPress.org build works without a Freemius licence. Freemius may phone home for licence validation and updates when you use Pro.

* Freemius Terms: https://freemius.com/terms/
* Freemius Privacy: https://freemius.com/privacy/

= Local payment confirm (test only) =

When Stripe Test mode and Local payment confirm are enabled, the checkout return page can confirm a payment by talking to Stripe directly. This is for local development when webhooks cannot reach your site. It is not intended for production Live mode.

== Installation ==

1. Install and activate Dude Commerce.
2. Open Dude Commerce → Settings.
3. Enter your Stripe API keys, choose currency and sell-to countries, and configure the webhook endpoint.
4. Create a product under Dude Commerce → Products and publish it.
5. Add a Gutenberg block or shortcode (for example `[dude_commerce id="123"]`) to any page.
6. Place a test order with Stripe Test mode, then start selling.

== Screenshots ==

1. Products overview in the admin.
2. Edit a standard or options product (price, stock, shipping, combinations).
3. Stripe settings (Test / Live keys, webhooks, Stripe Tax).
4. Front-end product embed with Buy Now.
5. Orders list and fulfilment.
6. Picking workflow, packing slip, and shipping label.

== Frequently Asked Questions ==

= Do I need WooCommerce? =

No. Dude Commerce is a standalone plugin built specifically for selling physical products.

= Can I use Dude Commerce alongside WooCommerce? =

Yes. Dude Commerce works independently and can run alongside WooCommerce.

= What payment gateway is supported? =

Stripe Checkout.

= Can I use Stripe Test Mode? =

Yes. Test and Live modes are both supported.

= Is there a shopping cart? =

No. Each purchase is a single-product Stripe Checkout — one product (and its options) at a time.

= Do customers need a WordPress account? =

No. Customers view orders using secure passwordless magic links.

= Does it support options products (size, colour, etc.)? =

Yes. Define up to five options; combinations are generated automatically with per-combination price, sale price, stock, SKU, and optional image.

= Can I sell free (zero-price) products? =

No. Dude Commerce is for paid physical products. Prices must be greater than zero.

= How does shipping work? =

You set a flat shipping amount on each product. Stripe Checkout collects the customer’s shipping address. The plugin does not calculate carrier rates or shipping zones.

= Does the plugin calculate VAT or sales tax? =

No. Optionally enable Stripe Tax so Stripe calculates and collects tax from the buyer’s location. Register your jurisdictions in the Stripe Tax dashboard.

= Where is card data stored? =

On Stripe’s servers only — never in WordPress.

= How is this different from Dude Downloads or Dude Paywall? =

Dude Downloads sells digital files. Dude Paywall sells access to posts and pages. Dude Commerce sells physical goods with stock and fulfilment. Each plugin uses its own Stripe webhook URL.

= Is there a Pro version? =

Yes. Dude Commerce Pro adds business integrations (webhooks, reports, CSV, custom emails, and more) while keeping core checkout and fulfilment available in the free plugin.

== Changelog ==

= 1.0.13 =

* Checkout return and order-status REST require a secret return token from the Stripe redirect, not a UUID or a nonce minted on a UUID-only URL.

= 1.0.12 =

* Order status REST requires an order-bound nonce (UUID alone is not enough).
* Checkout return URLs must match this site’s literal host (no www rewrite).
* Freemius accessor renamed to wpdude_dc_fs().

= 1.0.11 =

* Rename: Dude Commerce / dude-commerce (trademark).
* Guideline 5: Pro sales reports and admin sale emails live only in the premium package.
* Checkout return URLs must match this site’s host, scheme, and port.
* Plugin URI: https://wpdude.com/dude-commerce/

= 1.0.10 =

* Headers: Author URI set to https://wpdude.com (must differ from Plugin URI for WordPress.org).

= 1.0.9 =

* Pro emails: expanded placeholders (product URL, description, options, quantity, shipping address) with clearer settings help.
* WordPress 7.1: Tested up to 7.1.
* Admin: More WP Dude Plugins catalogue aligned with Downloads / Paywall (screen-hook styles).

= 1.0.8 =

* Admin: More WP Dude Plugins catalogue (Downloads parity).

= 1.0.7 =

* WordPress.org readiness: order-bound local confirm nonce; packing slip / shipping label assets enqueued via files (no inline script/style).
* readme: Freemius external-service disclosure; document local payment confirm (test only).
* Plugin URI aligned to marketing page pattern (Paywall).

= 1.0.6 =

* Tools: verify nonce when prefilling the webhook test event dropdown (Plugin Check).

= 1.0.5 =

* Frontend "On sale" badge next to the price (follows selected option combination).
* Options editor: bulk defaults for price, sale, stock, and SKU generation.
* Tools: pick which outgoing webhook event to send when testing.
* Pro: sales reports (Paywall-style revenue summary).
* Hardened Stripe Radar risk and processing fee capture on orders.

= 1.0.0 =

* First stable release.
* Standard and options products with Stripe Checkout, tax, and shipping address collection.
* Orders, picking workflow, packing slips, shipping labels.
* Customer emails, magic-link order view, Radar risk and Stripe fee on order detail.
* Pro: outgoing webhooks, CSV export, REST API, admin notifications, custom emails.

= 0.4.0 =

* Gutenberg blocks and shortcodes: Product, Images, Price, Buy Now.

= 0.3.0 =

* Orders admin list, detail view, and status actions (Shipped / Returned / Refunded).

= 0.2.0 =

* Stripe Checkout sessions for standard and options products.
* Webhooks, local payment confirm (test mode), orders data layer, and stock decrement on payment.
* Buy Now shortcode `[dude_commerce_buy id=""]` for testing checkout.

= 0.1.0 =

* Initial development release — core product model.

== Upgrade Notice ==

= 1.0.13 =

Checkout return pages and order status require the Stripe return token. A UUID alone is not enough.

= 1.0.12 =

Checkout return URLs stay on this site. Order status is no longer readable from a UUID alone.

= 1.0.10 =

Author URI updated for WordPress.org header validation (distinct from Plugin URI).
