=== Canvas Prints Ltd. Print-on-Demand for WooCommerce ===
Contributors: artdotedmonton
Tags: print on demand, canvas printing, woocommerce fulfillment, dropshipping, photo products
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.10.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create and fulfill custom canvas print-on-demand products in WooCommerce with automated orders, shipping, and tracking.

== Description ==

Canvas Prints Ltd. Print-on-Demand for WooCommerce connects your store to a canvas printing and dropshipping fulfillment service for Canada and the United States.

Create custom canvas print products in Canvas Product Studio, choose ratio-specific artwork crops, room mockups, print sizes, canvas wrap options and retail prices, then publish them to WooCommerce as hidden drafts or live products.

When a customer pays for a connected product, the plugin validates the order and sends the production details to Canvas Prints Ltd. for printing, packing and shipping. Fulfillment status and shipment tracking are synchronized back to WooCommerce.

= Canvas print-on-demand features =

* Publish custom canvas products and variations to WooCommerce.
* Offer multiple print sizes, canvas depths and edge-wrap styles.
* Use merchant artwork, customer uploads, or both.
* Preview customer artwork and validate image resolution before purchase.
* Create hidden product drafts or publish products live.
* Set your own WooCommerce retail prices and margins.
* Forward paid orders for canvas printing and dropshipping fulfillment.
* Offer available standard, expedited and express delivery choices.
* Return fulfillment status and shipment tracking to WooCommerce.
* Connect multiple WooCommerce stores with separate private API keys.
* Support WooCommerce High-Performance Order Storage (HPOS).

= Fulfillment markets and delivery =

Choose a Canadian/CAD or United States/USD Canvas Prints account when connecting the store. The selected account controls the production catalog, seasonal pricing, membership discounts, currency and fulfillment charges. A connected store may sell to customers in both Canada and the United States.

Standard delivery across Canada and the United States is free. Expedited and express availability depends on the destination and order contents.

= Account requirements =

An active Canvas Prints dropshipping account, a saved billing method and a separate private API key for each WooCommerce store are required. Canvas Prints Ltd. charges the merchant's saved billing method for production and delivery; the merchant keeps the retail payment collected by WooCommerce.

== Installation ==

1. In WordPress, open Plugins > Add New Plugin.
2. Search for "Canvas Prints Ltd. Print-on-Demand for WooCommerce," then install and activate the plugin.
3. In your Canvas Prints account, open Dropshipping and add the store's exact HTTPS address.
4. Create and immediately copy the store API key.
5. In WordPress, open WooCommerce > Canvas Print-on-Demand.
6. Confirm the automatically detected Canada or United States pricing market, paste the matching key and save.
7. Confirm the Connection section reports an active connection.

== Frequently Asked Questions ==

= Can one account connect multiple WooCommerce stores? =

Yes. Create a separate store connection and API key for every HTTPS store address.

= Are products always created as drafts? =

No. Product Studio can create hidden drafts or publish products live. The same saved product can later be synchronized again.

= Who collects payment from the shopper? =

The merchant's WooCommerce checkout collects the retail payment. Canvas Prints separately charges the merchant's saved billing method for fulfillment.

= What happens when validation or billing fails? =

The fulfillment order stays on hold and is not released to production.

= Does the plugin support customer photo uploads? =

Yes. A connected product can use merchant artwork, a customer's uploaded photo, or let the customer choose between both. The storefront tool checks the uploaded file type, dimensions and expected print resolution.

= Where are canvas prints fulfilled? =

Canvas Prints Ltd. provides print-on-demand production and delivery for connected merchants serving Canada and the United States. Available shipping services depend on the destination and order contents.

== External services ==

This plugin connects to the Canadian Canvas Prints fulfillment API at https://www.canvasprintscalgary.com/api/partner/v1 or the U.S. Canvas Prints fulfillment API at https://www.canvasprintsusa.com/api/partner/v1 according to the merchant-selected fulfillment pricing market. It sends the connected store URL, paid-order identifiers, canvas configuration, production image URL, delivery contact and address, and fulfillment totals needed to validate, charge and produce the order. It receives connection, catalog, validation, order, billing and fulfillment status responses.

The service is provided by Canvas Prints Ltd. Review the service privacy policy at https://www.canvasprintscalgary.com/canvas-prints-privacy-policy and terms at https://www.canvasprintscalgary.com/canvas-prints-terms before connecting a store.

== Changelog ==

= 1.10.0 =
* Adopted the distinctive Canvas Prints Ltd. product name and WordPress.org slug.
* Expanded all plugin identifiers and stored-data prefixes to prevent collisions.
* Prevented catalog requests until a merchant explicitly saves a connection key.

= 1.9.1 =
* Ask where the merchant business is based and use one Canadian/CAD or U.S./USD Canvas account for all fulfillment orders, regardless of buyer destination.

= 1.9.0 =

* Automatically selects the Canadian or U.S. fulfillment market from the WooCommerce store location.
* Clearly identifies CAD versus USD catalog and seasonal pricing before connection.
* Directs merchants to create the API key on the matching Canvas Prints market site.

= 1.8.2 =

* Aligned the translation domain and package directory with the assigned WordPress.org plugin slug.
* Added verified nonces and normalized upload data to storefront artwork submissions.
* Hardened tracking output, remote-image imports, and product SKU generation for WordPress Plugin Check.

= 1.8.1 =

* Expanded internal PHP, settings, action and asset prefixes to prevent conflicts with other plugins.
* Preserved existing store connections through automatic legacy-setting migration.
* Stopped all external API requests until a merchant has explicitly configured a connection key.
* Tightened product-save capability and nonce validation, external links and input handling.
* Removed contributor-only release files from the installable ZIP.

= 1.8.0 =

* Prepared the customer-installable production release for WooCommerce stores.
* Declared compatibility with WooCommerce High-Performance Order Storage.
* Added WordPress privacy-policy guidance for fulfillment data sent to Canvas Prints.
* Aligned plugin and directory release metadata and refreshed installation documentation.
* Includes product publishing, existing-product linking, paid-order intake, shipping choices, fulfillment status and tracking synchronization.

= 1.7.2 =

* Added multi-store product synchronization and improved fulfillment validation.
* Added CAD/USD store currency detection and daily exchange-rate context.
* Added tracking, cancellation and billing-hold handling for connected stores.

= 1.4.1 =

* Carries Mirror, Blur, Image and seller-selected Color wrap choices from Product Studio through WooCommerce orders to fulfillment.

= 1.4.0 =
* Added draft or live product publication from Canvas Product Studio.
* Improved repeat synchronization of existing WooCommerce products.
* Documented multiple-store connections and the installation workflow.
