cartdini
Get Free

Checkout workflows

Cartdini Pro: Require a Purchase Reference Only When Shoppers Opt In

Ask for a purchase reference only when the shopper chooses to add one, with a required follow-up in Pro.

More about this article

Build a two-field purchase-reference workflow, make visibility and validation conditional on the same checkbox, and record five staging tests covering blank answers, completed references and deselection.

Start reading
An unchecked option has no extra field; selecting it reveals a required purchase reference field. Conceptual checkout diagram.

Use an optional checkbox to control both the visibility and the required status of a purchase-reference field. Cartdini Pro supports conditional questions and conditional requirements; Free supplies the checkbox and text inputs but cannot provide these conditions alone.

Shoppers who leave the box unchecked can proceed without a reference; those who check it must enter one. Verify this on staging—a test copy of your store—including unchecking the box after an error or an entered answer. Do not assume that hiding the field deletes its previous value.

Decide whether shopper opt-in fits your policy

This workflow suits a store where a reference is optional, but shoppers who request one should not submit it blank. It does not enforce a business-account purchasing policy: shoppers can leave the checkbox unchecked.

It does not authenticate or approve a reference, generate an invoice, or choose a payment method. Purchase-order approval or delivery into an invoice system requires a separately verified workflow.

If blank answers are acceptable, one optional Text field in Free is simpler. Alternatively, staff can request a reference through the store’s existing contact process without conditional checkout enforcement.

Prepare the plugin pair on staging

Use Free 1.8.2 with the separately supplied Pro 1.8.2. The documented minimums are WordPress 6.7+, WooCommerce 9.9+ and PHP 8.0+; your WooCommerce version may require newer WordPress or PHP versions.

  • On a staging copy, upload the public Free ZIP through Plugins → Add New → Upload Plugin, then activate it.
  • Install and activate Pro afterward, keeping Free active. Annual Pro subscriptions are available, with protected downloads in eligible accounts.
  • Open WooCommerce → Cartdini and check the detected checkout implementation. Fresh activation adds no sample questions; configure and save deliberately.

Conditional questions and requirements are documented for Classic and Blocks. In Blocks, expanded conditions use the plugin’s registered integration with server validation on WooCommerce 9.9+. Reused workflows on WooCommerce’s native additional-fields path retain older limits. Review editor warnings and the compatibility guide before relying on an older setup.

Configure the two-field workflow

This two-field configuration was checked on 28 October 2026 with Cartdini Free and Pro 1.8.2 in an isolated Classic checkout. It collects one reference for the whole order. The dated test record below covers guest checkout; repeat it for your own store.

1. Create the optional checkbox. In Extra questions, add a Checkbox labelled “Add a purchase reference.” Place it in Order information and keep it optional. Requiring shoppers to check it would defeat the opt-in design.

2. Create the follow-up. Add a Text field labelled “Purchase reference,” also in Order information. Suggested wording: “Enter the reference you want recorded with this order.” Keep both fields together: cross-location field dependencies are not supported.

3. Define visibility and validation separately. Set the text field to appear when the checkbox is checked. Set its conditional requirement to use that same checked-checkbox condition, rather than making it required for everyone. A field appearing or disappearing does not, by itself, prove that validation is correct.

4. Choose answer-display destinations. Each field has four independent controls: administrator orders, customer orders, administrator emails and customer emails. Enable administrator-order display for both fields during testing; choose other destinations only where needed. These controls affect display, not deletion of stored answers.

5. Review and save. Check the two conditions and display settings, then save the configuration. Editor previews help with preparation but do not establish behavior at checkout or replace a real test order.

Record and run all five staging cases

Use synthetic customer details and TEST-REF-204 as the sample reference. Isolate staging from live charges, real recipients and production fulfilment; use the gateway’s test mode. Satisfy unrelated checkout requirements so address or payment errors do not obscure reference validation.

Record this test context once per run: plugin versions, checkout implementation, theme, gateway and guest or signed-in status. Repeat the full run as a guest and a signed-in shopper, using each checkout implementation you intend to support.

For each case, keep a record with these labels:

Case; expected behavior; observed visibility and validation; order ID if created; saved checkbox and reference values; enabled-email observations; pass, fail or unverified.

Inspect saved answers and enabled emails for completed orders. For the intentionally blocked blank-reference attempt, mark order inspection as not applicable unless an order was unexpectedly created; do not invent an order ID for a blocked attempt.

The following outcomes are acceptance criteria to verify, not reported findings. This checklist is an execution aid: it does not test your store or save your evidence.

Working checklist

Tick each step as you go. Your choices are not saved or sent.

The last two cases test different transitions. Clearing a validation error does not establish what happens to an entered answer. Inspect the saved order rather than treating a hidden field as evidence of deletion.

Make the launch decision from the evidence

If any acceptance criterion fails or remains unverified, investigate and repeat the affected tests. If an earlier reference remains after deselection and could mislead staff, establish and verify a handling process before launch.

Keep the completed five-case record with the configuration. Use the setup documentation for adjustments, and move the configuration live only after the validation, saved-answer and selected email-display checks are resolved.

The purchase-reference example in Cartdini 1.8.2

Genuine current screenshots from a fictional store using WordPress 7.1.3, WooCommerce 11.2.1, PHP 8.5.4 and Storefront 4.6.2. The checkbox controls both visibility and the requirement to enter a reference. No real payment, customer data or outgoing email was used.

Cartdini checkout with Add a purchase reference unchecked and no reference input.
Unchecked: the purchase-reference input is hidden and does not block the order.
Cartdini checkout with Add a purchase reference checked and fictional TEST-REF-204 entered in the required field.
Checked: the reference appears and is required. The test value is fictional.