Description
Printcart Photobook turns WooCommerce products into multi-page photo-album designers. Shoppers design the cover, spine, inside covers and any number of interior spreads in an embedded designer; the plugin bridges the finished design into the WooCommerce cart, prices every copy on the server, and — through the Printcart Cloud — renders a print-ready CMYK book for fulfilment.
It is a productized, standalone plugin with its own top-level admin menu. You connect a Printcart account in one step, and the rest of the workflow — pricing, products, orders, design files and canvas behaviour — is managed natively inside WordPress. A free Printcart account is required (it powers the designer, pricing and print render), and photobooks are sold as WooCommerce products, so WooCommerce is required too.
Each Printcart plugin is a complete solution for one product niche. One store runs one Printcart solution. To run several Printcart solutions on one store, see Printcart Connect (integration service, Printcart Advanced plan or above).
Who it is for
Print shops, photographers, agencies and WooCommerce merchants who want to sell personalized photobooks without building a designer or a print pipeline themselves.
Key features
- One-step Printcart connect with a guided setup wizard — sign in or create a free account right inside wp-admin; the plugin binds this site to the right store automatically.
- Embedded photobook designer on product pages — a full-screen canvas where shoppers lay out every page, with the finished design bridged into the WooCommerce cart and order.
- Native Pricing management — create and manage per-copy pricing options in WordPress, with a live per-copy estimate as you build them.
- Native Products — create a photobook product with a guided wizard, or enable an existing WooCommerce product as a photobook.
- Orders — a photobook orders list plus a detailed per-order view that shows every page of the book, with one-click sample data so you can explore the flow immediately.
- Design Files library — browse the design files your shoppers produce.
- Canvas Workflow settings — control how the designer behaves (placement, autofill, print quality, layout, content tabs, cover & spine, save & proof), kept in sync with your Printcart Dashboard.
- Server-authoritative, per-copy CMYK pricing — the storefront never sends a trusted price; Printcart recalculates from your catalog and renders the print-ready book.
- WooCommerce HPOS (custom order tables) compatible.
External services
This plugin connects to the Printcart Cloud (a third-party service operated by Printcart) to power the photobook designer, pricing, product/order sync and print rendering. It cannot function without it. Below is exactly what data is sent, when, and to which service. Nothing is sent until you connect a Printcart account.
1. Printcart Cloud API — https://api.printcart.com
Account connection. When you connect on the setup screen, your Printcart sign-in email and password are sent once to https://api.printcart.com/v1/account/signIn to authenticate. They are never stored in WordPress; every later request uses the store credentials returned by that call.
Store management. When you manage pricing options, products, design files or the canvas workflow in wp-admin, the plugin sends the corresponding pricing/product/project data to https://api.printcart.com/v1 (endpoints under /printing-options, /products, /projects, /stores and /customizer) so it can be created, read and updated in your Printcart catalog.
Designer and pricing. When a shopper opens the designer or the store prices a photobook, the shopper’s selections and the relevant product/pricing identifiers are sent so Printcart can render the canvas and recalculate the per-copy price. A client-supplied price is never trusted.
Order sync — includes buyer personal data. Orders are sent by Printcart Connect, a small library bundled inside this plugin (other Printcart plugins bundle the same library, and one copy does the work for all of them). It sends an order once the order is PAID (status processing or completed), and sends it again when the status of an already sent order changes, for example when it is completed or refunded. Nothing is sent at checkout and nothing is sent for an unpaid order. The library POSTs the complete order to https://api.printcart.com/v1/integration/woocommerce/orders so Printcart can produce and fulfil the book. Because it sends the whole order, lines that are not photobooks are included too. The payload contains exactly:
- Order data: WooCommerce order id, order number, order key, order status, currency, subtotal, shipping total, tax total, total, payment method and payment method title, the WordPress customer id, the order created and modified dates, and your site URL.
- Line items (every line of the order): line item id, product id, variation id, SKU, product name, quantity, line subtotal and total, and which Printcart plugin the line belongs to (none for an ordinary product). For photobook lines: the design ids and the Printcart project id.
- Buyer personal data: email address, first name, last name, company and phone number, and the billing and shipping addresses exactly as stored on the order (street address lines, city, state, postcode and country).
- Not sent: payment-card or other payment-instrument data, customer account passwords, and any customer note.
- Why: to authenticate your store, render the photobook designer, calculate per-copy pricing, manage your products and pricing, and produce and fulfil the print-ready CMYK book. The buyer name, contact details and address are transmitted so Printcart can identify the order for fulfilment, ship it and reach the recipient about it.
- Terms of Service: https://solution.printcart.com/tos/licenses-and-terms
- Privacy Policy: https://printcart.com/privacy-policy
2. Printcart activation events and plugin report — https://api.printcart.com/v1
- What is sent: store-scoped lifecycle signals only — for example “store connected”, product/pricing setup state, and “order created” (order status/number and the photobook project ids). Each signal also carries technical identifiers that describe the sending store and plugin, not a person: your Printcart store id, your site URL, the event name, severity and timestamp, the affected resource type and id, the plugin’s own key, version and distribution channel, and the list of plugin capabilities that are enabled. No customer or buyer personal data is sent.
- Plugin report (
/v1/stores/apps): the Printcart Connect library tells Printcart which Printcart plugins are installed on your site, their versions and whether each is active, together with your site URL. It does this when you connect, when you activate, deactivate or update a Printcart plugin, and once a day. It is used to show you the right setup and to keep one Printcart solution per store. No customer data is included. - When: when you connect the store, one day after connecting if a setup step is still needed (no product / no published pricing), and when a photobook order is placed.
- Why: so Printcart can send you, the merchant, the right setup and activation emails. This emitter is best-effort and never blocks or delays checkout.
- Terms of Service: https://solution.printcart.com/tos/licenses-and-terms
- Privacy Policy: https://printcart.com/privacy-policy
3. Printcart design editor app — https://customizer.printcart.com
- What is sent: when a shopper opens a photobook product, the browser loads the Printcart design editor in an iframe using your store’s read-only token and the Printcart product id. The shopper’s design selections and placed/uploaded images are sent to Printcart so the design can be saved, priced and later rendered to a print-ready PDF.
- When: on the storefront, each time a shopper opens the designer for a photobook product.
- Why: to let shoppers design their photobook in the browser.
- Terms of Service: https://solution.printcart.com/tos/licenses-and-terms
- Privacy Policy: https://printcart.com/privacy-policy
Screenshots













Installation
- Upload the
printcart-photobookfolder to/wp-content/plugins/, or install it from the Plugins screen in WordPress. - Make sure WooCommerce is installed and active.
- Activate Printcart Photobook through the Plugins menu.
- Open Printcart Photobook in the admin sidebar and follow the one-step connect: sign in to Printcart, or create a free account, right on the screen. The plugin connects this site to your store automatically.
- Use the setup wizard to create your first pricing option and a photobook product. On a connected store you can also load one-click sample data to preview the whole flow.
FAQ
-
Do I need a Printcart account?
-
Yes — and it is free. The photobook designer, per-copy pricing and print render are all provided by the Printcart Cloud. You can sign in to an existing account or create a free one directly from the plugin’s connect screen; see the “External services” section below for exactly what is sent and when.
-
Does it need WooCommerce?
-
Yes. Photobooks are sold as WooCommerce products, so WooCommerce must be installed and active. Without it the admin screens still load, but no products or orders are shown.
-
Do shoppers have to enter my Printcart password?
-
No. Your Printcart sign-in email and password are used once, by you, on the connect screen to authenticate; they are never stored in WordPress. Shoppers only ever see the designer.
-
Where is the canvas workflow configuration stored?
-
Your Printcart Dashboard is the source of truth. The plugin’s Canvas Workflow page is a synced editor that reads and writes the same backend configuration, so changes stay consistent across WordPress and the Dashboard.
-
Why does my photobook cover not show on the Cart page straight away?
-
On the block-based Cart and Checkout pages, the first time you view a newly designed photobook the line still shows the product image. The plugin never contacts Printcart while a page is rendering, so your cover is fetched in the background once the page has loaded and appears on the next render — usually the moment you continue to checkout, change a quantity, or reload. It is then cached for 15 minutes. The classic Cart and Checkout shortcodes swap the cover in without that extra step.
-
How is pricing calculated?
-
Pricing is always server-authoritative and per-copy. The storefront only sends the shopper’s selections; Printcart recalculates the price from your pricing options. A client-supplied price is never trusted.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Printcart Photobook” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Printcart Photobook” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.0
- Changed: orders now reach Printcart through Printcart Connect, a library bundled in the plugin that is shared with the other Printcart plugins. An order is sent once it is PAID instead of at checkout, so unpaid and abandoned orders are never sent. The whole order is sent (every line, with the photobook lines tagged), and it is sent again when its status changes. See “External services” for the exact data.
- Changed: the store connection (keys) is now kept in one place for the whole site and is shared with other Printcart plugins. Existing keys are adopted automatically and your old settings are left untouched. Disconnecting from this plugin is refused while other Printcart plugins use the same connection; use the Printcart Connection screen.
- Changed: a store created from this plugin is registered as a WooCommerce store.
- Changed: the “Retry” button on a failed order now queues the order again and reports “queued”; the result shows after a minute.
- Added: the Orders screen says “Waiting for payment” for orders that are not paid yet, instead of calling them undelivered.
- Added: each Printcart plugin on a site is a complete solution for one product niche; running several on one store is part of Printcart Connect (Printcart Advanced plan or above). A notice appears only on this plugin’s own Connection and Get started screens, can be closed, and never turns off a feature or blocks an order.
- Removed: the “store connected” and “first product needed” signals are now sent by Printcart Connect, once per store.
1.2.0
- Added: choose the gap printed between photos in a multi-photo layout (Canvas Workflow Layout & structure). It is millimetres of print, so the same physical gap on a small book and a large canvas, and it defaults to 0 so photos touch.
- Fixed: a workflow setting your Printcart account does not yet support no longer breaks every Save on the Canvas Workflow screen. Unsupported settings are shown disabled and say so, instead of a Save that never works.
- Fixed: a per-product workflow override is no longer lost when Printcart stops supporting the setting — it is kept on the site and written back once support returns.
- Fixed: a photobook priced from a “Page count” list is charged for the right book. One that cannot be matched to an option in your own list is refused with an explanation rather than priced on a guess.
- Fixed: a photobook priced per extra spread is charged for its spreads even when the browser does not send a page count.
- Fixed: a partly refunded order is now visible as refunded. WooCommerce only marks an order refunded on a full refund, and the refund call a gateway actually makes marks nothing at all.
- Fixed: “Order again” can no longer put an undesigned photobook in the cart.
- Added: filters
pcpb_selection_pages_option_from_sides,pcpb_require_reserved_designandpcpb_undesigned_add_to_cart_notice.
1.1.0
- Changed: activating the plugin no longer redirects you anywhere. Setup is reached from the “Get started” link on the plugin’s own row, and every screen is browsable before you connect an account.
- Fixed: an order you refund or cancel is never sent to Printcart, including by the background retry that runs minutes after checkout.
- Fixed: an order Printcart refuses outright is no longer retried on the schedule meant for outages — you get the real answer and the manual retry straight away, and the order note says it was refused rather than claiming three attempts.
- Fixed: editing a photobook already in the cart replaces that line instead of adding a second one, so the shopper is no longer charged twice.
- Fixed: a book whose price Printcart could not confirm can no longer be checked out at the plain product price.
- Fixed: the “from” price on the product page now reflects the cheapest configuration the designer can actually produce.
- Added: if the designer fails to load, the overlay now offers “Try again” and “Close” instead of spinning indefinitely.
- Added: orders that could not be delivered to Printcart are flagged as such, record the failure, and can be retried by hand.
- Added: book size and pricing template can be changed after a photobook product has been created.
- Changed: the starter photobook is now a fully functional product — the clipart library and photo uploads work in it, and it can be sold, unpublished, or duplicated like any other product.
- Changed: admin screens no longer block on Printcart while rendering, so a slow connection cannot stall wp-admin.
- Security: API credentials are no longer written into the connection form’s HTML, and the manual credential fields now require the
manage_optionscapability.
1.0.1
- Improved reliability when sending a photobook order to Printcart: an order is marked synced only after Printcart confirms delivery, with bounded retries for temporary failures.
- API credentials now use a dedicated non-autoloaded WordPress option and are removed when the plugin is uninstalled.
1.0.0
- Initial release.
- Embedded photobook designer on WooCommerce product pages, bridged into the cart and order.
- One-step Printcart connect with a guided setup wizard (sign in or create a free account in wp-admin).
- Native Pricing management with a live per-copy estimate.
- Native Products — create a photobook product with a guided wizard, or enable an existing WooCommerce product.
- Orders — list, per-order detail showing every page of the book, and one-click sample data.
- Design Files library for browsing shopper design files.
- Canvas Workflow settings synced with the Printcart Dashboard.
- Server-authoritative, per-copy CMYK pricing.
- Printcart activation events so merchants receive setup/activation emails.
- WooCommerce HPOS (custom order tables) compatibility.
- Full disclosure of the data sent to Printcart — see “External services” above, the “Data sent to Printcart” panel on the plugin’s Help & About screen, and the suggested text the plugin adds under Tools > Privacy.
- Uninstall removes every option and user preference the plugin creates, on single sites and multisite alike.
