PublishPress Cart – eCommerce for Digital Products
PublishPress Cart – eCommerce for Digital Products

PublishPress Cart – eCommerce for Digital Products

5/5 (1 ratings) — active installs Updated Nov 11, 2026
Configure checkout pages for products and services.

Configure checkout pages for products and services.

PublishPress Cart turns your WordPress site into a complete checkout for digital products, online courses, coaching, memberships, events, and services.

Most eCommerce plugins are built for physical stores, with shipping fields, product catalogs, and long checkouts that get in the way when you are selling a course or a coaching package. PublishPress Cart is built for creators, coaches, and small businesses who sell their knowledge and time. Create a product, add a checkout form to any page, and start taking payments with Stripe and PayPal.

Everything stays inside WordPress: your products, checkout pages, orders, subscriptions, customers, and reports. There is no separate storefront to manage, no hosted cart platform, and no monthly fee to PublishPress for selling.

What you can sell

  • Digital downloads such as ebooks, templates, workbooks, software, and audio files.
  • Online courses and programs, with customers sent to your course platform automatically.
  • Coaching and consulting packages, paid in full, in installments, or as a monthly retainer.
  • Memberships and subscriptions with free trials, sign-up fees, and recurring billing.
  • Events, workshops, and services, with sales limits for capped seats.

Checkout pages that match your site

A PublishPress Cart checkout is a regular part of your WordPress site, so it uses your theme, your fonts, and your design.

  • Checkout block. Add the Checkout block to any page or post. Choose the product, pick the payment plan that is selected by default, rename the form’s headings and labels, and set wide or full-width alignment.
  • Product page template. Every product gets its own checkout page. On block themes, edit the product template once in the Site Editor and the change applies to every product.
  • Shortcodes and page builders. Use a shortcode anywhere, or build checkouts with Elementor, Divi, or Oxygen.
  • Two Stripe checkout styles. Keep buyers on your site with Stripe’s embedded payment form, or send them to Stripe-hosted checkout to offer methods such as Klarna and Cash App Pay.
  • Marketing consent. Add an optional or required opt-in checkbox with your own wording.
  • Spam protection. Protect every checkout form with Google reCAPTCHA.

Flexible pricing and payment plans

Give each product as many payment plans as you need, and let buyers choose the option that works for them.

  • One-time payments for straightforward purchases.
  • Installment plans that charge a set number of payments and then stop.
  • Recurring subscriptions billed daily, weekly, monthly, or yearly until canceled.
  • Free trials in days before the first subscription payment.
  • Sign-up fees charged up front on recurring plans.
  • Pay what you want pricing that lets buyers set their own amount.
  • Free products for lead magnets and opt-in offers.
  • Sales. Put a product on sale now, or schedule a sale with start and end dates, and show the original price next to the sale price.
  • Hidden plans. Keep a plan off your checkout forms without deleting it.

Product launches and limited offers

  • Scheduled cart opening. Open and close a checkout on set dates, or switch it on and off by hand.
  • Sales limits. Close a product automatically after a set number of sales, and limit how many times each customer can buy.
  • Closed-cart redirects. Send visitors to a waitlist or sales page when the cart is closed.
  • Stock alerts. Get an email when a limited product is running low or sold out.

Delivery after purchase

  • Thank you pages. Send buyers to a custom thank you page or to any URL.
  • Secure file delivery. Attach files to a product, limit the number of downloads, restrict files to specific payment plans, and choose whether to force a download or redirect to the file.
  • Customer account area. Build a “My Account” page with blocks for orders, subscriptions, payment plans, downloads, profile, and login.
  • Customizable emails. Edit the order received, purchase confirmation, welcome, renewal, and cancellation emails, using personalization tags for names, order details, and links. Add extra notifications per product, for example to alert a coach when a new client books.

Orders, subscriptions, and customers

  • Orders. See every order with its customer, products, amount, and status. Open an order to edit billing details, resend the confirmation email, or download an invoice or receipt as a PDF.
  • Refunds. Issue full or partial refunds from the order screen.
  • Subscriptions. Pause, resume, or cancel any subscription, either immediately or at the end of the billing period, with or without a refund.
  • Customers. View each buyer’s order history and lifetime value, and export your customer list.
  • Reports. Track revenue and sales in WordPress, and have sales reports emailed to you on a schedule.

Automations and integrations

Each product can run its own automations. Choose what triggers them, such as a purchase, a refund, a new subscription, a renewal, a failed payment, a pause, or a cancellation, and limit them to specific payment plans.

  • Email marketing. Add or tag buyers in ActiveCampaign, Mailchimp, or SendFox.
  • Courses. Give buyers access to MemberVault products.
  • WordPress user accounts. Create a WordPress user with the role you choose when someone buys.
  • WooCommerce. Keep PublishPress Cart’s checkout and copy each order into WooCommerce, matched to your WooCommerce products and set to the order status you choose.
  • Order actions. Automatically refund another order or cancel another subscription, which is useful for upgrades and replacements.
  • Webhooks. Send order details to any URL with a GET or POST request, so you can connect almost any other service.
  • Tracking. Send purchase and lead events to Google Analytics and Facebook Ads, and add your own tracking code to each product.

Read how integrations work.

PublishPress Cart Pro

PublishPress Cart Pro adds the tools that increase the value of each sale:

  • Order bumps. Offer a related product at checkout that buyers add with one click.
  • One-click upsells and downsells. Build post-purchase funnels of up to five offers that charge the saved card with a single click.
  • Coupons. Create percentage or fixed discounts, coupon links, expiry dates, redemption limits, and bulk CSV imports.
  • Collections. Sell several products together as one bundle.
  • Upgrade paths. Let subscribers switch plans from their account page.
  • Shipping, tax, and VAT settings.
  • Affiliate sales.
  • More payment gateways, including Mollie, Razorpay, and Square.
  • More integrations, including Kit, Drip, MailerLite, MailPoet, FluentCRM, Encharge, LearnDash, Tutor LMS, WP Courseware, MasterStudy LMS, Academy LMS, Kajabi, Teachable, MemberPress, WishList Member, Restrict Content Pro, Ultimate Member, ARMember, and Groups.
  • Trial ending and upcoming renewal reminder emails.
  • Invoice customization and white labeling.
  • Priority support.

See the full Free vs Pro comparison.

Documentation and support

PublishPress Cart is based on Studiocart 2.9.0 and is maintained by PublishPress.

External services

PublishPress Cart can connect to third-party services when you enable and configure the related feature. These connections are optional unless you choose the related payment gateway, spam-protection feature, analytics feature, or marketing integration.

Meta Pixel

If you enter a Meta Pixel ID in the Facebook Ad Events integration, Cart loads Meta Pixel from https://connect.facebook.net on checkout and paid order confirmation pages. Meta receives PageView events and any Cart events you enable, which can include the product ID, price, currency, and an order event ID. Meta Pixel may collect browser and device data and use cookies. A Meta account and a Pixel ID are required for this optional setup. If your site already loads Meta Pixel, Cart can send enabled events to that installation.

Service: https://www.facebook.com/business/tools/meta-pixel
Terms: https://www.facebook.com/legal/technology_terms
Privacy: https://www.facebook.com/privacy/policy/

Stripe

Stripe is used to process card payments when Stripe is enabled. During checkout, PublishPress Cart sends order, customer, amount, currency, and payment metadata needed to create and confirm Stripe payments. Stripe may return payment, charge, refund, subscription, and webhook event data to the site. When a Stripe publishable key is saved, checkout and product pages also load Stripe.js from https://js.stripe.com/v3/.

Service: Stripe, Inc. Terms: https://stripe.com/legal. Privacy: https://stripe.com/privacy.

Stripe Connect (PublishPress)

The optional Stripe Connect button uses a PublishPress connection service at https://publishpress.com to complete Stripe OAuth. When you start Connect from plugin settings, the plugin sends the site URL, return URL, connection state, and an encrypted site credential needed to finish account linking. PublishPress returns Stripe account identifiers used to process payments. This happens only when you choose Connect Stripe.

When Stripe Connect is used without PublishPress Cart Pro, Stripe applies a 2% application fee on those connected payments. That fee is not applied when PublishPress Cart Pro is active.

Service: PublishPress LLC. Terms: https://publishpress.com/terms-of-service/. Privacy: https://publishpress.com/privacy-policy/.

PayPal

PayPal is used to process PayPal payments and subscriptions when PayPal is enabled. During checkout and subscription management, PublishPress Cart sends order, customer, amount, currency, subscription, and transaction data needed to create, verify, refund, pause, resume, or cancel PayPal transactions.

Service: PayPal, Inc. Terms: https://www.paypal.com/legalhub/useragreement-full. Privacy: https://www.paypal.com/privacy.

Google reCAPTCHA

Google reCAPTCHA is used to help validate checkout form submissions when reCAPTCHA is enabled. PublishPress Cart sends the reCAPTCHA response token and the visitor IP address to Google for verification. When a reCAPTCHA site key is saved, checkout forms also load https://www.google.com/recaptcha/api.js from Google.

Service: Google LLC. Terms: https://policies.google.com/terms. Privacy: https://policies.google.com/privacy.

SendFox

SendFox is used to add buyers to configured mailing lists when the SendFox integration is enabled. PublishPress Cart sends subscriber and order-related data required by the configured integration, such as email address, name, and selected list information.

Service: SendFox / Sumo Group, Inc. Terms: https://sendfox.com/tos. Privacy: https://sendfox.com/privacy.

ActiveCampaign

ActiveCampaign is used to sync buyers to configured lists and tags when the ActiveCampaign integration is enabled. PublishPress Cart sends subscriber and order-related data required by the configured integration, such as email address, name, and selected list or tag information.

Service: ActiveCampaign, LLC. Terms: https://www.activecampaign.com/legal/terms-of-service. Privacy: https://www.activecampaign.com/legal/privacy-policy.

Mailchimp

Mailchimp is used to sync buyers to configured audiences, groups, or tags when the Mailchimp integration is enabled. PublishPress Cart sends subscriber and order-related data required by the configured integration, such as email address, name, audience, group, and tag information.

Service: The Rocket Science Group LLC d/b/a Mailchimp. Terms: https://mailchimp.com/legal/terms/. Privacy: https://www.intuit.com/privacy/statement/.

Kit

Kit is used to sync buyers to configured forms and tags when the Kit integration is enabled. PublishPress Cart sends subscriber and order-related data required by the configured integration, such as email address, name, selected form, selected tag, and mapped custom field information.

Service: ConvertKit LLC d/b/a Kit. Terms: https://kit.com/terms. Privacy: https://kit.com/privacy.

MemberVault

MemberVault is used to grant buyer access to configured products when the MemberVault integration is enabled. PublishPress Cart sends customer and product access data required by the configured integration, such as email address, name, and selected MemberVault product information.

Service: MemberVault. Terms: https://membervault.co/terms. Privacy: https://membervault.co/privacy.

Google Analytics and Facebook Ads

When analytics or ads tracking integrations are enabled, PublishPress Cart can output the tracking data needed for purchase and lead events, such as order amount, currency, product information, and transaction identifiers. These services are only used when you configure the related tracking IDs or settings.

Google terms: https://policies.google.com/terms. Google privacy: https://policies.google.com/privacy.
Meta terms: https://www.facebook.com/legal/terms. Meta privacy: https://www.facebook.com/privacy/policy/.

Development and source code

Human-readable Gutenberg sources ship in this plugin. The files in includes/integrations/gutenberg/build/ are minified with npm and @wordpress/scripts 35.0.0, which runs webpack.

To rebuild them, use Node.js 20.19 or newer on the 20 line, or Node.js 22.13 or newer. From the plugin directory:

  1. npm install @wordpress/[email protected]
  2. npx wp-scripts build includes/integrations/gutenberg/blocks/checkout-form/order-form.js includes/integrations/gutenberg/blocks/account-page-builder/account-blocks.js includes/integrations/gutenberg/blocks/account-page-builder/account-page-view.js --output-path=includes/integrations/gutenberg/build

A development checkout that includes package.json can run npm install and then npm run build:gutenberg for the same output. npm run start:gutenberg rebuilds those files while you edit.

  • includes/integrations/gutenberg/blocks/checkout-form/order-form.js builds includes/integrations/gutenberg/build/order-form.js.
  • includes/integrations/gutenberg/blocks/account-page-builder/account-blocks.js builds includes/integrations/gutenberg/build/account-blocks.js.
  • includes/integrations/gutenberg/blocks/account-page-builder/account-page-view.js builds includes/integrations/gutenberg/build/account-page-view.js.

Shared helpers are under includes/integrations/gutenberg/blocks/_shared/.