{"id":381922,"date":"2026-10-09T11:49:19","date_gmt":"2026-10-09T11:49:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sidcraft-commerce-for-sidcraft-page-builder\/"},"modified":"2026-10-10T15:22:42","modified_gmt":"2026-10-10T15:22:42","slug":"sidcraft-commerce-for-sidcraft-page-builder","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/sidcraft-commerce-for-sidcraft-page-builder\/","author":17266986,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.9","stable_tag":"1.0.9","tested":"7.1.3","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Sidcraft Commerce for Sidcraft Page Builder","header_author":"Suhaib Siddiqi","header_description":"An online store for Sidcraft Page Builder: products, cart, checkout, coupons, reviews and payments. No WooCommerce needed.","assets_banners_color":"6f91b0","last_updated":"2026-10-10 15:22:42","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/SSiddiqi275","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":96,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.2":{"tag":"0.9.2","author":"ssiddiqi4","date":"2026-10-10 14:47:07","revision":3738185},"1.0.9":{"tag":"1.0.9","author":"ssiddiqi4","date":"2026-10-10 15:22:42","revision":3738238}},"upgrade_notice":{"1.0.9":"<p>Reserves stock when the order is placed, records partial refunds and disputes, links guest orders to an account with the same email, and adds Store \u2192 Export catalog. If your theme overrides units\/checkout.php, compare it with the copy in this version so the \u201cCreate an account\u201d checkbox is present.<\/p>","0.9.0":"<p>Adds item options (size, extras, instructions) and add-on support for order statuses. If your theme overrides templates, compare them with the updated ones in the changelog.<\/p>","0.8.0":"<p>Add New Product now opens Sidcraft Page Builder with a Product data panel for price and stock. Turn this off under Store \u2192 Settings to keep the WordPress editor.<\/p>","0.7.4":"<p>Plugin Check fixes for the order screen, and adding a shipment with &quot;Mark the order Completed&quot; now keeps the order Completed.<\/p>","0.7.3":"<p>Adds gift cards. If you override templates in your theme, compare them with the updated templates listed in the changelog.<\/p>","0.7.1":"<p>If you use Sidcraft Builder Pro, update Pro to 0.13.3 or newer before updating Sidcraft Commerce.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3736546,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736546,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3736546,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3736546,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.2","1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3736546,"resolution":"1","location":"assets","locale":"","width":620,"height":672},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3736546,"resolution":"2","location":"assets","locale":"","width":920,"height":1120},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3736546,"resolution":"3","location":"assets","locale":"","width":1280,"height":1782},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3736546,"resolution":"4","location":"assets","locale":"","width":2000,"height":1499},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3736546,"resolution":"5","location":"assets","locale":"","width":2000,"height":1225},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3736546,"resolution":"6","location":"assets","locale":"","width":1240,"height":1422},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3736546,"resolution":"7","location":"assets","locale":"","width":2000,"height":861}},"screenshots":{"1":"Product grid with sale prices, badges (HOT, POPULAR, Sale, Clearance) and Sold Out labels.","2":"Verified-customer reviews with the rating breakdown.","3":"Cart with a product and two gift cards, one scheduled for a later date.","4":"Checkout order summary with a coupon, shipping and tax.","5":"The \"Your order has shipped\" email with tracking links.","6":"The gift card email the recipient receives."}},"plugin_section":[],"plugin_tags":[3047,3148,5472,888,1242],"plugin_category":[45],"plugin_contributors":[283684],"plugin_business_model":[],"class_list":["post-381922","plugin","type-plugin","status-publish","hentry","plugin_tags-cart","plugin_tags-checkout","plugin_tags-digital-products","plugin_tags-e-commerce","plugin_tags-shop","plugin_category-ecommerce","plugin_contributors-ssiddiqi4","plugin_committers-ssiddiqi4"],"banners":{"banner":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/banner-772x250.jpg?rev=3736546","banner_2x":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/banner-1544x500.png?rev=3736546","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/icon-128x128.jpg?rev=3736546","icon_2x":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/icon-256x256.png?rev=3736546","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-1.png?rev=3736546","caption":"Product grid with sale prices, badges (HOT, POPULAR, Sale, Clearance) and Sold Out labels."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-2.png?rev=3736546","caption":"Verified-customer reviews with the rating breakdown."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-3.png?rev=3736546","caption":"Cart with a product and two gift cards, one scheduled for a later date."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-4.png?rev=3736546","caption":"Checkout order summary with a coupon, shipping and tax."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-5.png?rev=3736546","caption":"The \"Your order has shipped\" email with tracking links."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-6.png?rev=3736546","caption":"The gift card email the recipient receives."},{"src":"https:\/\/ps.w.org\/sidcraft-commerce-for-sidcraft-page-builder\/assets\/screenshot-7.png?rev=3736546","caption":""}],"raw_content":"<!--section=description-->\n<p>Sidcraft Commerce turns <a href=\"https:\/\/canvasly.pro\">Sidcraft Page Builder<\/a> into a complete store. It needs only <a href=\"https:\/\/wordpress.org\/plugins\/sidcraft-page-builder\">Sidcraft Page Builder<\/a> \u2014 no WooCommerce or other e-commerce plugin.<\/p>\n\n<ul>\n<li>Design products in <a href=\"https:\/\/wordpress.org\/plugins\/sidcraft-page-builder\">Sidcraft Page Builder<\/a>: Add New Product opens the builder, and its Product data panel sets the price, sale price, SKU, stock, badge, categories, image and short description. Existing products get \"Edit with Sidcraft Page Builder\".<\/li>\n<li>Products with prices, sale prices (shown above the struck-through regular price), SKU, stock tracking, featured flag and categories.<\/li>\n<li>Verified-customer ratings and reviews: shoppers click a star, enter their order number and order email, and write a review. Reviews show with a \"Verified purchase\" badge, a rating breakdown and the average on the product page.<\/li>\n<li>Image badges per product (HOT, POPULAR, Sale, Clearance) and an automatic \"Sold Out\" label on out-of-stock products.<\/li>\n<li>Item options: sizes, extras, spice levels or special instructions on any product, each choice optionally adding to the price (for example \"Large +4\", \"Extra cheese +1.50\"). Choices show in the cart, checkout, emails and the order screen.<\/li>\n<li>Coupons: a percentage off or a fixed amount off, with optional minimum spend, expiry date and usage limit.<\/li>\n<li>Cart stored server-side per visitor; prices are always recalculated from the product.<\/li>\n<li>Payments: PayPal with Pay in 4 (Pay Later) and Venmo; Stripe for cards, Apple Pay, Google Pay, Klarna, Afterpay \/ Clearpay and Affirm; Razorpay and PayU for India (UPI, cards, netbanking, wallets); Mercado Pago for Latin America (cards, Pix, boleto, OXXO, installments). Customers pay on each provider's secure page or buttons; card numbers never touch your site.<\/li>\n<li>Gift cards: sell them as products (preset amounts and\/or a custom amount, recipient, message, optional send date) or issue them by hand. Recipients get an email with the code; customers redeem one or more cards in the cart or at checkout, and unused balance stays on the card.<\/li>\n<li>Shipment tracking: add tracking numbers on the order screen. Links are built automatically for Australia Post, Canada Post, City-Link Express, DHL, DPD, Fastway South Africa, FedEx, OnTrac, Parcelforce, Polish carriers (Poczta Polska, InPost, DPD Polska, DHL Parcel Polska, GLS), Royal Mail, SAPO, TNT Express (consignment and reference), UPS and USPS, or use any carrier with a custom link.<\/li>\n<li>Developers can add any payment method (a local bank, a regional wallet, a proprietary system) by extending one PHP class; settings, return and webhook URLs are provided. See docs\/example-gateway.php.<\/li>\n<li>Orders in the admin with statuses, history and stock reserved when the order is placed. Two buyers cannot both take the last unit. Cancelled and Refunded put the remaining units back. A dispute keeps them reserved until it is lost.<\/li>\n<li>Partial refunds record the amount and return only the quantities you name. A refund that covers the order total marks the order Refunded. Stripe and PayPal refund and dispute notifications are applied once.<\/li>\n<li>Guest checkout can create an account, and a later login with the same email attaches guest orders placed on 1.0.9 or newer.<\/li>\n<li>Store \u2192 Export catalog downloads products, categories, prices, SKU, stock and item options as JSON, without the page-builder layout.<\/li>\n<li>Order emails to the customer and the shop owner, including a \u201cYour order has shipped\u201d email with tracking links.<\/li>\n<\/ul>\n\n<p>Commerce Units for <a href=\"https:\/\/wordpress.org\/plugins\/sidcraft-page-builder\">Sidcraft<\/a>: Product Grid, Add to Cart, Product Price, Stock Status, Product Rating, Product Reviews, Mini Cart, Cart, Checkout and Order Confirmation, plus a quick-view popup. Every Unit also works as a shortcode, e.g. <code>[sidccofo_product_grid source=\"on_sale\" limit=\"8\"]<\/code>.<\/p>\n\n<p>Pages stay cacheable: assets load only where a Unit is used, the cart badge fills in after load, and Cart\/Checkout pages are marked no-cache automatically.<\/p>\n\n<p>Themes can override any template by copying it from <code>templates\/<\/code> into <code>yourtheme\/sidcraft-commerce\/<\/code>.<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=ih9m_ubOie8<\/p>\n\n<h3>External services<\/h3>\n\n<p>Payment providers are contacted only when a store owner enables them under Store \u2192 Settings \u2192 Payments and a customer chooses them at checkout (or when the provider sends a notification about a payment). Each receives what it needs to take the payment: the order ID, total and currency, and the customer's name, email and, where the provider requires it, phone and address.<\/p>\n\n<ul>\n<li>PayPal - when PayPal is enabled, the plugin sends order line items (product names, SKUs, prices, quantities), the order total, shipping, coupon discount, currency and the order ID to PayPal's REST API (api-m.paypal.com, or api-m.sandbox.paypal.com in sandbox mode) to create and capture the payment, and to verify PayPal webhooks. This happens only when a customer chooses PayPal at checkout, or when PayPal sends a webhook. With \"On-page buttons\" on, the checkout page also loads PayPal's JavaScript SDK from www.paypal.com to show the PayPal, Pay Later and Venmo buttons and the Pay in 4 message. PayPal terms: https:\/\/www.paypal.com\/legalhub\/useragreement-full \u2014 privacy: https:\/\/www.paypal.com\/myaccount\/privacy\/privacyhub<\/li>\n<li>Stripe (cards, Apple Pay, Google Pay, Klarna, Afterpay \/ Clearpay, Affirm) \u2014 api.stripe.com creates a Checkout Session for the order total and is asked again to confirm the payment; Stripe sends signed webhooks back. The customer pays on checkout.stripe.com. Terms: https:\/\/stripe.com\/legal\/ssa \u2014 privacy: https:\/\/stripe.com\/privacy<\/li>\n<li>Razorpay - api.razorpay.com creates a payment link for the order total and is asked again to confirm it; Razorpay sends signed webhooks back. Terms: https:\/\/razorpay.com\/terms\/ \u2014 privacy: https:\/\/razorpay.com\/privacy\/<\/li>\n<li>PayU India - the checkout form is posted to secure.payu.in (test.payu.in in test mode); payments are confirmed with PayU's verify_payment API on info.payu.in. Terms: https:\/\/payu.in\/tnc-new\/ \u2014 privacy: https:\/\/payu.in\/payu-payments-privacy-statement<\/li>\n<li>Mercado Pago - api.mercadopago.com creates a Checkout Pro preference for the order total; payments are read back from the same API when the customer returns or a notification arrives. Terms: https:\/\/www.mercadopago.com.ar\/developers\/en\/docs\/resources\/legal\/terms-and-conditions \u2014 privacy: https:\/\/www.mercadopago.com\/privacy\/privacy-notice\/1.1<\/li>\n<\/ul>\n\n<h3>Developers: add-ons<\/h3>\n\n<p>Sidcraft Commerce is built to be extended by other plugins: a restaurant menu, bookings, a print shop. Add-ons can add item options in code, register their own order statuses (for example Preparing, Ready for pickup, Out for delivery, each with its own customer email), add checkout fields (pickup time, delivery notes), block ordering outside opening hours, add Units for Sidcraft Page Builder, settings sections and emails. The guide is in <code>docs\/ADDONS.md<\/code>, with a complete restaurant example in <code>docs\/example-addon.php<\/code>.<\/p>\n\n<h3>Developers: custom payment gateways<\/h3>\n\n<p>Extend <code>\\SidcraftCommerce\\Payments\\Gateway<\/code> (the equivalent of WooCommerce's WC_Payment_Gateway) and add it with the <code>sidcraft_commerce_gateways<\/code> filter. Implement <code>get_id()<\/code>, <code>get_default_title()<\/code> and <code>process_payment()<\/code>; return fields from <code>get_settings_fields()<\/code> and they appear on Store \u2192 Settings \u2192 Payments. <code>return_url()<\/code> and <code>webhook_url()<\/code> point at ready-made REST routes that call your <code>handle_return()<\/code> and <code>handle_webhook()<\/code>; <code>remote_json()<\/code> calls JSON APIs; <code>$order-&gt;payment_complete()<\/code> marks an order paid. A complete, commented example is in <code>docs\/example-gateway.php<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Sidcraft Page Builder 0.15 or newer.<\/li>\n<li>Install and activate Sidcraft Commerce. Shop, Cart, Checkout and Order-received pages are created for you.<\/li>\n<li>Go to Store \u2192 Settings to set your currency, shipping and payment methods.<\/li>\n<li>Under Store \u2192 Settings \u2192 Payments, enable the payment methods you want and paste their API keys (test keys first). Each section shows its webhook URL.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. Sidcraft Commerce needs only <a href=\"https:\/\/wordpress.org\/plugins\/sidcraft-page-builder\">Sidcraft Page Builder<\/a>. Products, orders, coupons and gift cards are stored in your own WordPress database.<\/p><\/dd>\n<dt id=\"which%20payment%20methods%20can%20i%20accept%3F\"><h3>Which payment methods can I accept?<\/h3><\/dt>\n<dd><p>PayPal (with Pay in 4 and Venmo), Stripe (cards, Apple Pay, Google Pay, Klarna, Afterpay \/ Clearpay, Affirm), Razorpay, PayU India and Mercado Pago. Turn on the ones you want under Store \u2192 Settings \u2192 Payments and paste the API keys from your provider account.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20charge%20a%20fee%20on%20sales%3F\"><h3>Does the plugin charge a fee on sales?<\/h3><\/dt>\n<dd><p>No. Only your payment provider's normal fees apply.<\/p><\/dd>\n<dt id=\"do%20card%20numbers%20pass%20through%20my%20site%3F\"><h3>Do card numbers pass through my site?<\/h3><\/dt>\n<dd><p>No. Customers pay on the provider's own secure page or buttons, so card details never reach your server.<\/p><\/dd>\n<dt id=\"can%20i%20test%20payments%20before%20going%20live%3F\"><h3>Can I test payments before going live?<\/h3><\/dt>\n<dd><p>Yes. Use your provider's test or sandbox keys (PayPal sandbox, Stripe test keys, PayU test mode and so on), place a test order, then switch to live keys.<\/p><\/dd>\n<dt id=\"how%20do%20gift%20cards%20work%3F\"><h3>How do gift cards work?<\/h3><\/dt>\n<dd><p>Tick \"This product is a gift card\" on a product and set preset amounts, a custom amount range, or both. Buyers enter a recipient, a message and an optional send date. The recipient gets the code by email once the order is paid, or on the chosen date. Codes can be used in the cart or at checkout, and any unused balance stays on the card. You can also issue cards by hand under Store \u2192 Gift cards. Cards never expire unless you set an expiry under Store \u2192 Settings \u2192 Payments.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20tracking%20numbers%3F\"><h3>How do I add tracking numbers?<\/h3><\/dt>\n<dd><p>Open the order, choose the carrier and enter the tracking number in the Shipment tracking box. Links are built automatically for major carriers, or you can enter any carrier name with a custom link. The customer gets a \"Your order has shipped\" email with the tracking link.<\/p><\/dd>\n<dt id=\"can%20i%20add%20my%20own%20payment%20gateway%3F\"><h3>Can I add my own payment gateway?<\/h3><\/dt>\n<dd><p>Yes. Extend <code>\\SidcraftCommerce\\Payments\\Gateway<\/code> and register it with the <code>sidcraft_commerce_gateways<\/code> filter. See the \"Developers: custom payment gateways\" section above and <code>docs\/example-gateway.php<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20product%20with%20sidcraft%20page%20builder%3F\"><h3>How do I add a product with Sidcraft Page Builder?<\/h3><\/dt>\n<dd><p>Click Store \u2192 Add New Product. The product opens in Sidcraft Page Builder with the Product data panel open: enter the price (and stock, SKU, image and so on), design the page with any Units, then click Publish. Add the Add to Cart and Product Price Units where you want them; if your layout has no Add to Cart Unit, the standard buy box is added above it. To use the WordPress editor instead, turn off \"Design products with Sidcraft Page Builder\" under Store \u2192 Settings.<\/p><\/dd>\n<dt id=\"how%20do%20item%20options%20work%3F\"><h3>How do item options work?<\/h3><\/dt>\n<dd><p>On a product, under Product data \u2192 Item options (or in the Product data panel in Sidcraft Page Builder), type one group per line, for example <code>Size*: Small | Medium +2 | Large +4<\/code> or <code>Extras [checkbox]: Cheese +1 | Bacon +2<\/code>. <code>*<\/code> makes a group required; <code>[radio]<\/code>, <code>[checkbox]<\/code> and <code>[text]<\/code> change how it is shown; <code>+2<\/code> adds 2 to the price. Customers choose on the product page, and product grids show \"Choose options\".<\/p><\/dd>\n<dt id=\"can%20developers%20build%20add-ons%2C%20for%20example%20for%20a%20restaurant%3F\"><h3>Can developers build add-ons, for example for a restaurant?<\/h3><\/dt>\n<dd><p>Yes. See the \"Developers: add-ons\" section above, <code>docs\/ADDONS.md<\/code> and the restaurant example in <code>docs\/example-addon.php<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20change%20how%20the%20store%20looks%3F\"><h3>Can I change how the store looks?<\/h3><\/dt>\n<dd><p>Yes. Style the Commerce Units in Sidcraft Page Builder, or copy any template from the plugin's <code>templates\/<\/code> folder into <code>yourtheme\/sidcraft-commerce\/<\/code> and edit it there.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>Yes. Shop and product pages stay cacheable, the cart badge fills in after the page loads, and Cart and Checkout pages are marked no-cache automatically.<\/p><\/dd>\n<dt id=\"what%20if%20two%20people%20buy%20the%20last%20item%3F\"><h3>What if two people buy the last item?<\/h3><\/dt>\n<dd><p>The order reserves stock as it is created, and the reservation only succeeds while the stored quantity is still at least the amount being bought. The other buyer is told there is not enough stock. A pending order that is still unpaid after 24 hours is cancelled and the units go back. Cancelled and Refunded do the same for the units that order still holds.<\/p><\/dd>\n<dt id=\"how%20do%20refunds%20and%20chargebacks%20work%3F\"><h3>How do refunds and chargebacks work?<\/h3><\/dt>\n<dd><p>Stripe <code>charge.refunded<\/code> and PayPal <code>PAYMENT.CAPTURE.REFUNDED<\/code> record the amount once. If that amount covers the order, the order is marked Refunded and the remaining stock, coupon use and gift-card balance are returned. A smaller amount stays a partial refund and returns stock only for quantities named on the order screen (Refund box) or in the provider payload. Stripe <code>charge.dispute.created<\/code> \/ <code>charge.dispute.closed<\/code> and PayPal customer-dispute events set the order to Disputed. Stock stays reserved. A dispute the buyer wins marks the order Refunded. A dispute the store wins returns the order to its previous status.<\/p><\/dd>\n<dt id=\"can%20a%20guest%20attach%20the%20order%20to%20an%20account%3F\"><h3>Can a guest attach the order to an account?<\/h3><\/dt>\n<dd><p>Yes. Checkout has \u201cCreate an account with this email\u201d. WordPress emails a link to set the password. If that email already has an account, the buyer is asked to log in. Logging in or registering later with the same email attaches guest orders placed on version 1.0.9 or newer.<\/p><\/dd>\n<dt id=\"how%20do%20i%20export%20products%3F\"><h3>How do I export products?<\/h3><\/dt>\n<dd><p>Open Store \u2192 Export catalog and download the JSON file. It contains the product title, description, categories, regular and sale price, SKU, stock and item options. It does not contain the Sidcraft Page Builder layout. Tools \u2192 Export also includes the product post type.<\/p><\/dd>\n<dt id=\"which%20currencies%20use%20three%20decimal%20places%3F\"><h3>Which currencies use three decimal places?<\/h3><\/dt>\n<dd><p>BHD, JOD, KWD, OMR and TND are sent to payment providers in thousandths and displayed with 3 decimals. Zero-decimal currencies (JPY, KRW, VND and the rest of that set) use no decimals. Other currencies use the decimal setting under Store \u2192 Settings.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>Settings, sessions and temporary data are removed. Products, orders, coupons and gift cards are kept, unless you add <code>define( 'SIDCRAFT_COMMERCE_REMOVE_ALL_DATA', true );<\/code> to wp-config.php before deleting the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Stock is reserved when the order is placed. The update only succeeds while enough units remain, so two buyers cannot both take the last item. A pending order unpaid after 24 hours is cancelled and its stock is returned.<\/li>\n<li>Partial refunds. The order screen records an amount and the quantities to put back. A Stripe or PayPal refund that covers the order total marks it Refunded. A smaller amount does not return stock unless quantities are named. Each provider event is applied once.<\/li>\n<li>Disputed status. Stripe <code>charge.dispute.created<\/code> and <code>charge.dispute.closed<\/code>, and PayPal customer-dispute events, keep stock reserved while a dispute is open. A lost dispute refunds the order. A won dispute restores the previous status.<\/li>\n<li>Guest checkout can create an account. Logging in or registering with the same email attaches guest orders placed on 1.0.9 or newer.<\/li>\n<li>Three-decimal currencies (BHD, JOD, KWD, OMR, TND) are charged in thousandths. Zero-decimal currencies stay on a factor of 1.<\/li>\n<li>Store \u2192 Export catalog writes products, categories, price, SKU, stock and item options to JSON, without the page-builder layout.<\/li>\n<li>Templates updated (1.0.9): units\/checkout.php.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Plugin Check: output escaping on the order screen's item list and in the Add to Cart template.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Developers: new <code>sidcraft_commerce_editor_styles<\/code> filter so add-on Units are styled in the Sidcraft Page Builder canvas, and add-on Units can use any glyph or emoji as their builder icon.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Item options. Type option groups on a product (Product data \u2192 Item options, or the builder's Product data panel): dropdowns, buttons, multiple choices and text boxes, each choice optionally adding to the price, and any group can be required. Customers choose on the product page with a running price; each combination is its own cart line; stock is checked across all lines of a product; prices are recalculated on every request. Choices show in the cart, checkout, order-received page, emails, the order screen and PayPal.<\/li>\n<li>Add-on support: <code>sidcraft_commerce_product_options<\/code> filter, <code>Cart::add_with_options()<\/code> and an <code>options<\/code> parameter on the cart\/add REST route.<\/li>\n<li>Order statuses can be registered by add-ons with <code>Post_Types::register_order_status()<\/code>: label, position, colour, whether it counts as paid, and an optional customer email. Stock, sales, gift cards and reviews now follow each status's \"paid\" setting instead of a fixed list. New <code>sidcraft_commerce_order_status_definitions<\/code> filter; the older <code>sidcraft_commerce_order_statuses<\/code> filter still works.<\/li>\n<li>Checkout fields added by add-ons can be dropdowns (<code>select<\/code> with choices) or text areas, and their values now show on the order-received page and in emails as well as the admin.<\/li>\n<li>New developer guide (docs\/ADDONS.md) and a complete restaurant add-on example (docs\/example-addon.php).<\/li>\n<li>Templates updated (0.9.0): units\/add-to-cart.php, units\/cart-panel.php, units\/checkout.php, units\/checkout-summary.php, units\/order-confirmation.php, emails\/order.php. New: units\/item-options.php.<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Products are designed in Sidcraft Page Builder. Add New Product (menu, Products list and admin bar) opens a new product in the builder, and products get \"Edit with Sidcraft Page Builder\" on the product screen, in the Products list and in the admin bar.<\/li>\n<li>New Product data panel inside the builder: regular and sale price, SKU, stock tracking and quantity or stock status, image badge, featured, categories, product image, short description and \"hide the automatic buy box\". It opens by itself on a new product without a price, and the builder's Save also saves it.<\/li>\n<li>The automatic buy box is skipped when the product layout already has an Add to Cart Unit, and it now sits above a Sidcraft layout instead of being replaced by it.<\/li>\n<li>New setting: Store \u2192 Settings \u2192 \"Design products with Sidcraft Page Builder\" (on by default). Turn it off to add and edit products in the WordPress editor.<\/li>\n<\/ul>\n\n<h4>0.7.4<\/h4>\n\n<ul>\n<li>Plugin Check: order-screen shipment fields are sanitized field by field when read, and the shipment save no longer writes to $_POST.<\/li>\n<li>Fix: adding a shipment with \"Mark the order Completed\" no longer gets undone by the order status dropdown on the same save.<\/li>\n<li>Admin: gift card screen uses a stylesheet class instead of an inline style.<\/li>\n<\/ul>\n\n<h4>0.7.3<\/h4>\n\n<ul>\n<li>Gift cards. Tick \"This product is a gift card\" on a product and set preset amounts and\/or allow a custom amount (with a minimum and maximum). Buyers choose the amount, recipient, message and an optional send date; each card is emailed to the recipient once the order is paid, or on the chosen date.<\/li>\n<li>Store \u2192 Gift cards: issue cards by hand (store credit, prizes), see balances, recipients and history, change a balance, resend the email, disable a card.<\/li>\n<li>Redeeming: a gift card field in the cart and at checkout. Several cards per order; a card pays up to its balance and keeps the rest. When cards cover the whole order, no payment method is needed. Amounts are taken when the order is placed and returned if it is cancelled or refunded; cards bought in a cancelled or refunded order are disabled.<\/li>\n<li>Gift cards are not charged tax or shipping and coupons don't apply to them. Optional expiry for new cards (Store \u2192 Settings \u2192 Payments \u2192 Gift cards; default never).<\/li>\n<li>Orders with nothing left to pay (gift cards or a 100% coupon) no longer ask for a payment method.<\/li>\n<li>Codes are protected against guessing (10 failed attempts per hour per visitor).<\/li>\n<li>Templates updated (0.7.3): units\/add-to-cart.php, units\/cart-panel.php, units\/checkout.php, units\/checkout-summary.php. New: units\/gift-card-form.php, units\/gift-card-redeem.php, emails\/gift-card.php.<\/li>\n<\/ul>\n\n<h4>0.7.2<\/h4>\n\n<ul>\n<li>Shipment tracking: a \"Shipment tracking\" box on each order adds the carrier, tracking number and date. The customer gets a \"Your order has shipped\" email with a Track your package button, and the tracking shows on the order-received page. Several shipments per order are supported.<\/li>\n<li>Automatic tracking links for Australia Post, Canada Post, City-Link Express, DHL, DPD (UK and Europe), Fastway South Africa, FedEx, OnTrac, Parcelforce, Poczta Polska, InPost, DPD Polska, DHL Parcel Polska, GLS Poland, Royal Mail, SAPO, TNT Express (consignment and reference), UPS and USPS. Custom carriers with any link; Store \u2192 Settings \u2192 Shipping &amp; tax \u2192 \"Your carriers\" saves your own carriers and can replace a built-in link.<\/li>\n<li>Adding a shipment can mark the order Completed (one email: the shipped email replaces the \"order complete\" email).<\/li>\n<li>Templates updated (0.7.2): emails\/order.php. New: units\/shipments.php.<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>All payment gateways work for everyone; there is no licence check of any kind.<\/li>\n<li>Declares its dependency on Sidcraft Page Builder (Requires Plugins header).<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>New payment methods: Stripe (cards, Apple Pay, Google Pay) with Klarna, Afterpay \/ Clearpay and Affirm; Razorpay; PayU India; Mercado Pago.<\/li>\n<li>PayPal: on-page buttons with Pay in 4 (Pay Later), Venmo and cards, plus a Pay in 4 message (the redirect flow remains as an option).<\/li>\n<li>Developer framework: the Gateway base class now provides settings fields, return and webhook routes (\/gateway\/{id}\/return and \/webhook), HTTP helpers and a POST-form checkout flow. Example in docs\/example-gateway.php.<\/li>\n<li>Store \u2192 Settings is split into tabs: General, Shipping &amp; tax, Payments, Emails.<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>Plugin Check: coupon lookup no longer sets suppress_filters; tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>WordPress.org review: text domain is now sidcraft-commerce-for-sidcraft-page-builder; every stored name, post type, status, shortcode, script handle and JavaScript global uses the sidccofo prefix; admin CSS\/JS are enqueued files; editor REST routes check per-product permissions.<\/li>\n<li>Shortcodes are now [sidccofo_product_grid], [sidccofo_cart], [sidccofo_checkout], [sidccofo_order_confirmation] and so on.<\/li>\n<li>wp-config.php constants renamed: SIDCRAFT_COMMERCE_PAYPAL_CLIENT_ID, SIDCRAFT_COMMERCE_PAYPAL_SECRET, SIDCRAFT_COMMERCE_PAYPAL_WEBHOOK_ID.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Verified-customer reviews. Clicking a star on a product (Product Rating Unit, buy box or the reviews section) opens a popup with that rating picked; the customer enters their order number, the email used on the order and their review. The order must be paid and contain the product, and each order can review each product once. Reviews appear in the product details with a \"Verified purchase\" badge, the average, a 5-to-1 star breakdown and the review list.<\/li>\n<li>New Product Reviews Unit ([sidccofo_product_reviews]); added automatically below the product description (Store \u2192 Settings \u2192 \"Show reviews on product pages\").<\/li>\n<li>Store \u2192 Settings \u2192 \"Publish verified reviews immediately\" (on by default); turn off to approve each review under Comments first. The Comments screen shows the stars and a link to the verifying order.<\/li>\n<li>The open WordPress comment form is closed on products, so only verified customers can review. Existing reviews are kept and still count toward the average.<\/li>\n<li>Protection against guessing: the same message for a wrong order number or email, a limit of 10 failed attempts per hour per visitor, and a hidden spam-trap field.<\/li>\n<li>Product Rating Unit: stars are clickable (switch \"Click a star to rate\"), and it now shows \"Be the first to review\" instead of hiding when a product has no reviews.<\/li>\n<li>Templates updated (0.6.0): units\/product-rating.php. New: single\/reviews.php, single\/no-comments.php.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Coupons (Store \u2192 Coupons): the coupon title is the code; choose a percentage of the (sale-priced) subtotal or a fixed amount off, with optional minimum spend, expiry date and usage limit. Customers apply or remove one coupon in the cart or at checkout. The discount shows as its own line in the cart, checkout, confirmation, emails and admin order, reduces tax and counts toward free shipping, and is sent to PayPal as a discount. Usage is counted when an order is placed on hold \/ processing and given back on cancel \/ refund.<\/li>\n<li>Image badges: pick HOT, POPULAR, Sale or Clearance per product (Product data \u2192 Image badge). It shows top-right on the product image in grids, quick view and the product page. Without a chosen badge, products on sale still show \"Sale\".<\/li>\n<li>Sold Out: out-of-stock products get a highlighted \"Sold Out\" label over a dimmed image.<\/li>\n<li>Sale prices: the sale price now sits above the struck-through regular price. A sale price that isn't lower than the regular price is rejected with a notice. The cart shows the struck-through regular price next to sale-priced lines.<\/li>\n<li>Fix: the sidcraft_commerce_order_status_{status} action fired with an empty status.<\/li>\n<li>Templates updated (0.5.0): loop\/product-card.php, quick-view.php, units\/cart-panel.php, units\/checkout-summary.php. New: units\/coupon-form.php.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fix: no translations are loaded before init (WordPress 6.7+ \"_load_textdomain_just_in_time was called incorrectly\" notice when Sidcraft Page Builder was missing or inactive).<\/li>\n<li>Admin: \"Add New Product\" menu label; order screen shows country, state and payment method names; sale prices in the Products list no longer show screen-reader text.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Tax by country and state: prices entered including or excluding tax, a rate table (country, optional state, rate, label), optional tax on shipping. Tax shows as its own line (or \"Includes \u2026 tax\") in the cart, checkout, confirmation, emails and admin, and is sent to the payment provider.<\/li>\n<li>Shipping zones: a flat rate per group of countries, a * zone for everywhere else, free shipping over an amount (store-wide or per zone). Countries outside every zone can't check out and aren't offered.<\/li>\n<li>Checkout: country and state are lists; shipping and tax update as soon as they change. \"Add $X more for free shipping\" in the cart.<\/li>\n<li>Templates updated (0.4.0): cart-panel.php, checkout.php, checkout-summary.php, order-confirmation.php, emails\/order.php.<\/li>\n<li>Coding standards: passes WordPress Coding Standards (PHPCS) and Plugin Check.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Readme text updates.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Internal detection changes.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Sidcraft integration wired to Sidcraft Page Builder's real extension API (tested with 0.15.4): Units register on sidcraft_page_builder_units_register, appear in the editor under Commerce, preview live on the editor canvas, and are excluded from Sidcraft's fragment cache.<\/li>\n<li>Fixed: Sidcraft Page Builder is detected by SIDCRAFT_PAGE_BUILDER_VERSION plus its own requirements check (0.15.0+ required).<\/li>\n<li>Fixed: Sidcraft layouts are read from _sidsyn_document_data (assets now load in  on Sidcraft-built pages).<\/li>\n<li>Fixed: product URLs could 404 after Sidcraft Page Builder was reactivated or updated; permalinks now repair themselves.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Payments: PayPal (Orders v2, verified webhooks).<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Standalone store engine: no WooCommerce dependency. Products, categories, reviews, cart sessions, checkout, orders, emails, settings.<\/li>\n<li>Stripe Checkout gateway with signed webhooks and a return-page fallback. Offline payment gateway.<\/li>\n<li>New Units: Cart, Checkout, Order Confirmation. Cart\/Checkout layouts adapt to the space they're given.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First build (WooCommerce-based, replaced by 0.2.0).<\/li>\n<\/ul>","raw_excerpt":"Online store for Sidcraft Page Builder: cart, checkout, coupons, reviews; PayPal, Stripe, Apple Pay, Klarna, Razorpay and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381922"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ssiddiqi4"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381922"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381922"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381922"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381922"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381922"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}