Version 1.3.1

Sidcraft Commerce for Sidcraft Page Builder — Complete User Guide

An online store for Sidcraft Page Builder: products, digital downloads, event tickets, cart, checkout, coupons, reviews and PayPal payments. No WooCommerce needed.

Plugin by Suhaib Siddiqi · License GPL-2.0-or-later

1.Overview

Sidcraft Commerce turns Sidcraft Page Builder into a complete online store — no WooCommerce required. Products, orders, coupons, gift cards, event tickets and cart sessions are stored in your own WordPress database.

Prefer to watch? The Sidcraft Commerce video walkthrough on YouTube shows how to sell event tickets, deliver QR tickets and check in guests — without WooCommerce.

Feature highlights:

Requirements:

RequirementValue
WordPress6.3+ (tested up to 7.1)
PHP7.4+
Sidcraft Page Builder0.15.0 or newer (required)
Sidcraft Builder ProOptional — unlocks more payment gateways

If Sidcraft Page Builder is missing or too old, the plugin shows an admin notice and stops safely — nothing breaks.

2.Requirements & Installation

  1. Install and activate Sidcraft Page Builder (0.15+).
  2. Install Sidcraft Commerce:
    • WordPress admin → Plugins → Add New → Upload Plugin → upload sidcraft-commerce-for-sidcraft-page-builder-1.3.1.zip → Activate, or
    • Unzip and upload the folder to wp-content/plugins/, then activate.
  3. On activation the plugin creates its database table, default settings, and the Shop, Cart, Checkout, Order received and My downloads pages.
  4. Go to Store → Settings to set your currency, shipping, tax and payment methods.
  5. Under Store → Settings → Payments, enable PayPal and paste your PayPal email/Merchant ID. Use Sandbox (test) mode first, place a test order, then switch to live.

Uninstalling: use Plugins → Delete. By default your products, orders, coupons and gift cards are kept; only settings and temporary data are removed. See §20 to remove everything.

3.What Activation Creates

If a page already exists (re-activation), it is never overwritten. Page assignments live under Store → Settings → Pages.

4.The Store Admin Menu

Everything lives under Store in the WordPress admin menu:

MenuWhat it contains
ProductsProduct list ("dashboard"). Add New opens the Sidcraft Page Builder. Dismissible "Pro" card appears here.
CategoriesProduct categories (hierarchical)
OrdersAll orders with statuses, history, refunds, shipments, downloads and tickets
SubscriptionsEvery subscription with its orders, history, next payment and price
CouponsDiscount coupons
Gift cardsGift card codes, balances, recipients, history
Download logEvery order with downloads (who downloaded what, when)
Export catalogDownloads products as JSON (no builder layout)
SettingsAll store settings (tabs: General, Shipping & tax, Payments, Downloads, Emails, Events)

Events (top-level menu):

MenuWhat it contains
EventsEvent list + Add New Event (date, venue, ticket types…)
AttendeesIssued tickets list (per event, with check-in)
Check-inDoor-staff check-in screen (camera/USB scanner)
SettingsLinks to the store Settings → Events tab

Capabilities: store management requires manage_options (administrators). The Check-in screen can also be granted to staff via the sidccofo_check_in capability (see §16.9).

5.Store Settings

Store → Settings (edit.php?post_type=sidccofo_product&page=sidccofo-settings).

5.1 General tab

Store section

Shipment tracking section

Pages section — assign the Shop / Cart / Checkout / Order received / My downloads pages (auto-assigned on activation)

Gift cards section

Emails section

5.2 Shipping & tax tab

Shipping zones

Tax

5.3 Payments tab

PayPal Standard (built in)

FieldPurpose
Enable PayPalTurn the gateway on at checkout
Title at checkoutWhat customers see (e.g. "PayPal")
PayPal email or Merchant IDYour PayPal account
Sandbox (test) modeUse PayPal's test environment
PDT identity token (optional)Confirms return-from-PayPal payments
Invoice prefixDefault SC-

Each section shows its webhook/return URL — PayPal webhooks are verified; refunds and disputes from PayPal are applied automatically. Supported currencies: AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, NOK, NZD, PHP, PLN, RUB, SEK, SGD, THB, TWD, TRY, USD (filterable).

More gateways — Sidcraft Builder Pro. A dismissible card explains that Stripe (cards, Apple Pay, Google Pay, Klarna, Afterpay/Clearpay, Affirm), Razorpay, PayU India, Mercado Pago, Square, Mollie, Authorize.net and offline payments ship with Sidcraft Builder Pro. If you had these enabled before 1.3.0 your settings are preserved and return when Pro is active.

Card numbers never touch your site — customers pay on the provider's own secure page or buttons.

No gateway enabled? Then there is no "pay" option. The Enable PayPal switch above is off by default. Until at least one gateway is enabled here (or added by Sidcraft Builder Pro), the checkout cannot collect payment:

Two exceptions let an order complete without any gateway:

Practical takeaway: to sell event tickets online, enable at least one payment gateway — with the free plugin, turn on PayPal under Store → Settings → Payments and test in Sandbox mode first, then switch live. Without one, checkout cannot collect payment: the order stalls as Pending payment and is cancelled after 2 hours.

5.4 Downloads tab

Digital downloads

Who can download

File storage

5.5 Events tab

See §16 — sections: Events and tickets, Ticket delivery, Attendee file uploads, Zoom, WhatsApp messages.

6.Products

6.1 Creating a product

  1. Store → Products → Add New Product — this opens Sidcraft Page Builder.
  2. The Product data panel opens automatically on a new product (and can be reopened any time). It contains:
    • Regular price and Sale price (sale must be lower than regular; the sale price shows above the struck-through regular price)
    • SKU
    • Stock tracking toggle + Quantity, or a manual Stock status (instock / outofstock)
    • Image badge — HOT, POPULAR, Sale, Clearance (shows top-right on the product image). Products on sale show "Sale" automatically if no badge is chosen.
    • Featured flag
    • Categories
    • Product image
    • Short description (used in grids and quick view)
    • Hide the automatic buy box — for fully custom layouts
    • Item options (see §7)
    • Virtual and Downloadable switches (see §8)
  3. Design the page with any Sidcraft units, then click Publish.
  4. Existing products show "Edit with Sidcraft Page Builder" on the product screen, in the Products list and in the admin bar. Append ?sidccofo-wp-edit=1 to return to the WordPress editor instead.

Turn off Store → Settings → "Design products with Sidcraft Page Builder" if you prefer the classic WordPress editor.

6.2 Automatic buy box

On the frontend, a product without a builder layout (or without an Add to Cart unit) gets an automatic buy box above the content: rating → price → stock status → Add to cart. It is skipped when your layout already contains an Add to Cart unit, or when Hide the automatic buy box is ticked.

6.3 Stock behavior

6.4 Catalog export

Store → Export catalog downloads sidcraft-commerce-catalog-YYYY-MM-DD.json containing every product's title, description, categories, prices, SKU, stock and item options — without the builder layout. Products are also included in Tools → Export.

7.Item Options

Add option groups on a product (Product data → Item options, or the same field in the builder panel). One group per line:

Size*: Small | Medium +2 | Large +4
Extras [checkbox]: Cheese +1 | Bacon +2
Spice level [radio]: Mild | Medium | Hot
Special instructions [text]: Max 200 characters
SyntaxMeaning
Label*: …* makes the group required
[radio]Buttons/chips (pick one)
[checkbox]Multiple choice
[text]Free-text box
(default)Dropdown
+2 on a choiceAdds 2.00 to the price
First line choiceDropdown default; a required radio auto-selects the first choice

Customer experience: choices appear on the product page with a running "With options: $X" price. Each unique combination becomes its own cart line; stock is checked across all lines; prices are recalculated on every request. Choices show in cart, checkout, order-received page, emails, the admin order screen and PayPal. Product grids show "Choose options" for products with options.

8.Digital Downloads & Virtual Products

8.1 Setting up a downloadable product

In the product's Product data box:

  1. Tick "Virtual — nothing to ship (no shipping cost or address at checkout)" (optional but usual).
  2. Tick "Downloadable — buyers get access to files".
  3. Add files: File name + File URL (use Upload / choose file for protected uploads, or paste an external URL if allowed) → Add file. Multiple files per product supported.
  4. Download limit — "Per file and per unit bought. Empty: unlimited."
  5. Download expiry (days) — "Links stop working this many days after purchase. Empty: never."

A cart containing only virtual products skips shipping costs and address fields (Country/State still appear if tax is enabled).

8.2 Where buyers get their files

8.3 Managing downloads on an order

Open the order → Downloads box:

Store → Download log lists every order with downloads.

8.4 Security notes

9.Gift Cards

9.1 Selling gift cards

  1. Create a product and tick "This product is a gift card" in Product data.
  2. Set preset amounts and/or allow a custom amount (with minimum and maximum).
  3. Buyers on the product page pick an amount, enter recipient name/email, a message, a sender and an optional send date.
  4. Once the order is paid, the recipient receives an email with the code — immediately, or on the chosen date.

9.2 Issuing cards by hand

Store → Gift cards → Add New: issue store credit, prizes, etc. This screen also shows balances, recipients and history, and lets you change a balance, resend the email, or disable a card.

9.3 Redemption

10.Subscriptions

New in 1.6.0. Bill any product every day, week, month or year: memberships, boxes, courses, services. Each renewal is an ordinary order, so stock, tax, shipping, emails, reward points and refunds work as they do for any other order.

10.1 Making a product a subscription

  1. Open the product and, under Product data → Subscription, tick "Bill this product every period". The product's price is what each period costs.
  2. Bill every: a number and a period (Day, Week, Month or Year), e.g. every 3 months.
  3. Number of payments (optional): how many payments in all, including the first. Leave it empty to bill until the customer cancels.
  4. Free trial (days) (optional): nothing is charged for the period itself until the trial ends.
  5. Sign-up fee (optional): charged once, with the first payment.

Product pages, the cart, checkout, emails and orders show the price with its terms, for example "$12.00 / month · 7-day free trial · $3.00 sign-up fee".

10.2 Buying a subscription

10.3 Renewals

10.4 Managing subscriptions

Store → Subscriptions lists every subscription with its customer, price, status and next payment. On each one you can see its first order, renewals and history, and change the status (Active, Payment due, Cancel at period end, Cancel now), the next payment date and the price, create the renewal order now, or stop charging the saved card. Orders link to the subscription they start or renew.

10.5 Behaviour to be aware of

11.Coupons

Store → Coupons → Add New. The coupon title is the code.

FieldPurpose
Discount typePercentage of the (sale-priced) subtotal, or a fixed amount off
AmountThe value
Minimum spend (optional)Order subtotal required
Expiry date (optional)Coupon dies after this date
Usage limit (optional)Max total uses

Behavior: customers apply or remove one coupon in the cart or at checkout ("Have a coupon?" field; press Enter to apply). The discount appears as its own line in cart, checkout, confirmation, emails and the admin order; it reduces tax and counts toward free shipping thresholds; it is sent to PayPal as a discount. Usage is counted when an order is placed (On hold/Processing) and given back on cancel/refund.

12.The Customer Experience

12.1 Shop & product pages

12.2 Cart

12.3 Checkout

  1. Your details — First name*, Last name*, Email*, Phone, plus address fields (Address, Address 2, City, Postcode, Country, State) when address collection is on and the cart needs shipping. Country/State are dropdowns for supported countries; shipping and tax re-price instantly when they change.
  2. Create an account with this email (guests only) — WordPress emails a password-set link; the buyer is logged in and the order attaches to the new account (role customer, or subscriber if that role doesn't exist). Later logins with the same email attach earlier guest orders (placed on 1.0.9+).
  3. Order notes (optional) — if enabled.
  4. Payment — radio list of enabled gateways (each with optional description and gateway-specific fields). If a gift card/coupon covers everything: "Nothing left to pay: no payment method is needed."
  5. Place order — the button shows Placing order…, then the customer is sent to the provider (or the confirmation page for free orders). Errors appear inline per field.
  6. Event tickets — an attendee-details step appears when the cart contains tickets (see §16.4).

No payment method appears at the Payment step? The list shows only enabled gateways. If none is enabled under Store → Settings → Payments (PayPal is off by default), checkout offers no way to pay — and event tickets cannot be bought or issued, because tickets issue only on a paid order (see §16.5). An order can still complete without a gateway when a gift card or 100% coupon covers the whole total. Full details: §5.3.

12.4 Order received page

Shows the confirmation (Order Confirmation unit): items, options, totals, coupon, gift cards, tax, billing details, shipment tracking links, download links (for digital products) and ticket links/PDFs (for events). The link contains a private key — safe to share with the buyer only.

13.Orders, Refunds & Disputes

13.1 Order statuses

StatusPaid?Reserves stock?
Pending paymentNoNo
On holdNoYes
ProcessingYesYes
CompletedYesYes
DisputedYesYes (kept reserved)
CancelledNoNo (units returned)
RefundedNoNo (units returned)

"Paid" statuses drive stock deduction, sales recording, gift-card issuing and verified-review eligibility. Add-ons can register new statuses (e.g. Ready for pickup) each with its own color, paid flag and customer email.

13.2 Order screen boxes

13.3 Refunds & chargebacks from providers

13.4 Auto-cancellation

A Pending payment order unpaid after 2 hours is cancelled by the hourly job ("Unpaid for 2 hours.") and its stock returned. Subscription renewals are the exception: they wait for their own grace period (§10.3).

14.Shipment Tracking

  1. Open an order → Shipment tracking box.
  2. Choose a carrier and enter the tracking number + date. Several shipments per order are supported.
  3. Automatic tracking links are built for: Australia Post, Canada Post, City-Link Express, DHL, DPD (UK/Europe), Fastway South Africa, FedEx, OnTrac, Parcelforce, Poczta Polska, InPost, DPD Polska, DHL Parcel Polska, GLS Poland, Royal Mail, SAPO, TNT Express (consignment & reference), UPS and USPS — or any carrier with a custom link (define your own under Settings → Shipment tracking → Your carriers).
  4. The customer receives a "Your order has shipped" email with a Track your package button; tracking also shows on the order-received page.
  5. Adding a shipment can mark the order Completed (the shipped email replaces the "order complete" email so the buyer gets one message, not two).

15.Reviews & Ratings

16.Events & Ticketing

16.1 Creating an event

Events → Add New Event. Meta boxes:

Event details

Tickets — ticket types, see §16.2

Sales & check-in (side) — seats taken/issued/checked-in counters with progress bar, plus buttons: Attendees, Export CSV. "Save the event to start selling tickets."

The Events list shows When (sortable), Where, Sold and Checked in columns; past events get an Ended tag. Row actions: Attendees, Check-in.

16.2 Ticket types

Each event ships with one General admission type; add more with Add ticket type. Per type:

FieldNotes
Ticket namee.g. "Early Bird", "VIP"
Attendee typeSuggestions: Adult, Child, Student, Senior, Member, VIP
Price0 = free
Tickets available0 = no limit
Min per order / Max per order0 max = no limit
Sales start / Sales endOptional sales window
Description"What this ticket includes"
Dynamic pricingRules — see §16.3

Under the hood every ticket type is a hidden product placeholder, so the store's currency, taxes, coupons, gift cards, stock locking, refunds and every payment method work for tickets.

16.3 Dynamic pricing

One rule per line in the Dynamic pricing box:

until 2026-11-01: 20 Early bird
from 2026-12-10: 40 Door price
after 75%: 35
after 100 sold: 35
qty 5: 18 Group rate
RuleMeaning
until DATE: price LabelThis price until the end of that day (add a time: until 2026-11-01 18:00: 20)
from DATE: price LabelThis price from that day on
after N%: priceOnce N% of seats are taken (this type's limit, else event capacity)
after N sold: priceOnce N tickets of this type are taken
qty N: price LabelEach ticket costs this when buying N or more of this type

The last line that applies wins. Words after the price are shown to buyers. Invalid lines show "Not understood: …". Tiered prices by attendee type (Adult/Child/VIP…) are done with one ticket type per attendee type.

16.4 Checkout — attendee details

When the cart contains tickets, checkout shows an attendee step based on the event's Ask at checkout for mode, plus the event's custom fields (including file uploads, limited by Events → Settings → Attendee file uploads: allowed types default jpg, jpeg, png, gif, webp, pdf, doc, docx, max 5 MB). Files are stored privately — only store managers can download them. A "Use my details" button copies the buyer's name/email/phone into attendee rows.

16.5 Ticket issuance & emails

16.6 Refunds & cancellations

Cancelled/refunded orders cancel their tickets; partial refunds cancel just the refunded tickets. Individual tickets can be cancelled or restored from the ticket screen ("Cancel this ticket? It will no longer get in.").

16.7 Attendees management

Events → Attendees (the ticket list, filterable by event dropdown and status):

Single ticket screen: QR + code, editable attendee details, custom-field answers with file links, a check-in side box (Check in / Undo / Make valid again / Cancel ticket / Email this ticket again) and a collapsible History log.

16.8 Calendars & maps

16.9 Check-in

Three ways, all using the same code:

  1. Any phone camera scans the QR → opens the ticket page → staff who are logged in see a Check in button.
  2. Events → Check-in screen — event filter (last 14 days), a code box ("Scan or type a ticket code") and Scan with camera (browser BarcodeDetector; USB barcode scanners type into the box). A This session log lists the shift's check-ins with Undo.
  3. Attendees list — row or bulk Check in / Undo check-in.

The Check-in screen is accessible to administrators and to users with the sidccofo_check_in capability — grant it to door staff with a role editor plugin. Results are announced live ("Checked in." / "Already checked in." / "This ticket was cancelled.").

16.10 Zoom

Events → Settings → Zoom: create a Server-to-Server OAuth app in the Zoom App Marketplace (scopes meeting:write:admin or meeting:write) and paste Account ID, Client ID, Client secret. Then the event's "Create the Zoom meeting for me (and keep its time in sync)" checkbox becomes available; the meeting URL/ID/passcode fill automatically on save. Pasting a meeting link manually works without any credentials.

16.11 WhatsApp (optional)

Events → Settings → WhatsApp messages: sends an approved WhatsApp Cloud API template to the buyer's phone when tickets are issued. Fields: Send tickets on WhatsApp, Phone number ID, Access token, Template name, Template language code (default en_US). Template variables: {{1}} first name, {{2}} event, {{3}} date, {{4}} ticket link. (Plain "Chat on WhatsApp" / "Share on WhatsApp" / group links need no setup.)

16.12 Event settings reference (Events tab)

SettingDefaultNotes
Event page address (ev_slug)eventURL base → /event/<slug>/
After "Get tickets"Go to checkoutor cart / stay on page
Show tickets leftfrom settingdefault for new events
MapsGoogle MapsGoogle / OpenStreetMap / None
Google Maps Embed API key—optional; maps work without it
Reminder email (hours before)240 = off
Code on ticketsQR codeQR / Barcode (Code 128) / both
Attach PDF ticketson
Attach a calendar file (.ics)off
Email each attendee their own ticketoffwhen address differs from buyer
QR images in emailsEmbeddedor Linked (for restrictive mail plugins)
Ticket colour#7c5cfcprinted on PDF
Show the event image on PDF ticketsoffJPEG only
Ticket terms—printed at the bottom of the PDF
Allowed file types / Largest file (MB)jpg, jpeg, png, gif, webp, pdf, doc, docx / 5attendee uploads

17.Display: Units, Blocks & Shortcodes

Every feature can be shown three ways: as a Sidcraft Page Builder unit (design & style controls in the builder), a Gutenberg block, or a shortcode in any editor. Shortcode attribute names = unit control names (hyphens become underscores).

17.1 Commerce units

UnitShortcodePurpose & key controls
Product Grid[sidccofo_product_grid]source (all / on_sale / featured / category / ids), limit, columns (1–4), show_category, show_rating, show_add_to_cart, show_quick_view
Add to Cart[sidccofo_add_to_cart]button text, show quantity
Product Price[sidccofo_product_price]current product's price/sale display
Stock Status[sidccofo_stock_status]in/out-of-stock label
Product Rating[sidccofo_product_rating]stars + count; clickable ("Click a star to rate"); shows "Be the first to review" when empty
Product Reviews[sidccofo_product_reviews]list + verified form (limit)
Mini Cart[sidccofo_mini_cart]badge/count, optional total (show_total)
Cart[sidccofo_cart]full cart panel (dynamic page)
Checkout[sidccofo_checkout]full checkout (dynamic page)
Order Confirmation[sidccofo_order_confirmation]order-received content (dynamic page)
My Downloads[sidccofo_downloads]buyer's file library
My Subscriptions[sidccofo_subscriptions]customer's subscriptions: next payment, Pay now, Cancel / Keep (heading)

Fragment parts (rendered inside cart/checkout, not standalone): coupon form, gift-card form, gift-card redeem, item options, checkout summary, shipments. All units share Colour scheme and Accent colour style controls.

17.2 Event blocks & units

Blocks live in the Sidcraft Commerce block category (server-rendered, wide/full alignment supported):

Block / UnitShortcodeAttributes
Event List[sidccofo_event_list]when (Upcoming/Past/All), category, limit (1–100), layout (Cards/List), columns (1–4), show image/summary/price, button_text ("Get tickets"), empty text
Event Calendar[sidccofo_event_calendar]category, start_month (YYYY-MM), show Subscribe links, list month's events
Event Details[sidccofo_event_details]event_id (0 = current event), show Add-to-calendar links, show organiser, show map
Event Tickets[sidccofo_event_tickets]event_id, heading ("Tickets"), button_text ("Get tickets") — the ticket selector
Event Map[sidccofo_event_map]event_id, height (160–900 px)
My Tickets[sidccofo_my_tickets]heading ("My tickets"), also list past events

My Tickets shows tickets from the visitor's own orders and tickets bought for their email address — even as a guest.

[sidccofo_event_tickets event_id="123"]
[sidccofo_product_grid source="on_sale" limit="8" columns="3"]

17.3 Smart loading

Assets load only on pages that contain a unit (the plugin scans content). Cart/Checkout/Order-confirmation units are "dynamic" full-page units. Event Tickets blocks/units load the cart + events scripts. Pages stay cacheable; the mini-cart badge fills in after load.

18.Emails

All emails are HTML, sent with wp_mail, from the From name and admin email set under Settings → Emails.

EmailTriggerContents
We've received your orderOrder placed (→ On hold/Processing)Items, options, totals, coupon, gift cards, tax, billing, download & ticket links
New orderSame, to the store ownerAdmin copy
Payment receivedOn hold → Processing
Your order is complete→ CompletedSkipped if a shipment email was just sent
Your order has shippedShipment addedTracking links + Track your package button
Custom-status emailse.g. Disputed, add-on statusesHeading + message defined per status
Gift card emailCard paid (or on the send date)Code, amount, message, expiry
Your ticket(s)Tickets issuedQR codes, PDF ticket(s), .ics
Attendee copyPer attendee (if enabled)That person's ticket
See you soon (reminder)N hours before the eventTickets again

Subjects use the format {Heading} (#{order id}). The sidcraft_commerce_email filter can alter or skip any store email; sidcraft_commerce_ticket_email does the same for ticket emails. Event email headings/intros are fixed translatable strings (not editable in admin); WhatsApp templates are the exception (see §16.11).

19.Caching, Performance & Theme Overrides

Caching compatibility

Theme overrides — copy any template from the plugin's templates/ folder into yourtheme/sidcraft-commerce/ (same sub-path, e.g. sidcraft-commerce/units/cart-panel.php, sidcraft-commerce/events/ticket-page.php, sidcraft-commerce/emails/order.php) and edit freely. Keep an eye on the changelog — updated templates are listed per release.

20.Export, Privacy & Uninstall

21.Developer Notes

Add-ons (full guide in docs/ADDONS.md, restaurant example in docs/example-addon.php): plugins can boot on sidcraft_commerce_loaded, add item options (sidcraft_commerce_product_options), register order statuses with a color, paid flag and customer email (Post_Types::register_order_status()), add checkout fields (text, textarea, select), block ordering outside opening hours, register new units, add settings sections/tabs, and hook cart, order, download and review events (sidcraft_commerce_order_status_changed, sidcraft_commerce_added_to_cart, sidcraft_commerce_checkout_errors, …).

Custom payment gateways (docs/example-gateway.php): extend \SidcraftCommerce\Payments\Gateway (the WC_Payment_Gateway equivalent), implement get_id(), get_default_title(), process_payment() and get_settings_fields(), then register via the sidcraft_commerce_gateways filter. Settings appear automatically on Store → Settings → Payments; ready-made return (/wp-json/sidcraft-commerce/v1/gateway/{id}/return) and webhook routes call your handle_return() / handle_webhook(); $order->payment_complete() marks the order paid.

REST API (sidcraft-commerce/v1): GET/POST cart, POST cart/add, cart/update, cart/location, cart/coupon (+ /remove), cart/gift-card, cart/redeem (+ /remove), GET quick-view/{id}, POST reviews, POST checkout, GET gateway/{id}/return, POST gateway/{id}/webhook, POST events/add, POST events/checkin, POST events/upload. Front-end JS exposes window.sidccofoCart, window.sidccofoCheckout and window.sidccofoCommerce.

wp-config.php constants: SIDCRAFT_COMMERCE_PAYPAL_CLIENT_ID, SIDCRAFT_COMMERCE_PAYPAL_SECRET, SIDCRAFT_COMMERCE_PAYPAL_WEBHOOK_ID (for Pro gateways), SIDCRAFT_COMMERCE_REMOVE_ALL_DATA.

22.Troubleshooting FAQ

Do I need WooCommerce? No. Only Sidcraft Page Builder (0.15+).

Where do customers find their files? Order-received page, order emails, and the My Downloads page — once the order is paid (or Completed, per setting).

Are downloads protected? Yes — protected uploads folder with random names, served only through private per-order links after limit/expiry checks. On nginx add the rule shown under Settings → Downloads.

Can I test payments before going live? Yes — PayPal Sandbox mode (and test keys for Pro gateways). Place a test order, then switch to live.

Do card numbers pass through my site? No — customers pay on the provider's page/buttons.

Does the plugin charge a fee? No — only your provider's normal fees.

What if two people buy the last item? Stock is reserved at order placement; the second buyer is told there isn't enough stock. Unpaid orders release stock after 2 hours.

How do gift cards interact with tax/shipping/coupons? Gift cards aren't charged tax or shipping, and coupons don't apply to them.

A customer's country can't check out. Countries outside every shipping zone can't be shipped to — add their zone (or the * zone).

Event tickets aren't issued. Tickets are issued when the order reaches a paid status (Processing/Completed). Use Issue tickets now on the order screen to force it.

Reminders not sending? Check Events → Settings → Reminder email (hours before) (0 = off) and that the event start time is within the window. Force with the per-event remind action.

Product URLs 404 after reactivating Sidcraft Page Builder. Permalinks repair themselves; if not, visit Settings → Permalinks and save.

Can I change how the store looks? Style units in the builder, or copy templates into yourtheme/sidcraft-commerce/.

How do I hand the Check-in screen to staff? Give them the sidccofo_check_in capability (role editor plugin) — no full admin access needed.

↑ Top