Skip to content

Shopify test plan

Verify the Shopify quickstart, reconcile payments and orders, and check the experience your store controls.

View As MarkdownMCP

Run this plan after the Shopify Quickstart. These are acceptance criteria, not recorded results. Unexecuted cases are Not run. The refund launch case is Blocked until Bolt confirms a supported Shopify procedure.

Fixtures and evidence

Use the test store and Bolt Payments sandbox division from the guide, one available physical product, a supported shipping address, and test cards. Record the app/theme version, date, case ID, Bolt transaction reference, store order ID, amounts and screenshots. Do not record keys, secrets or card details in evidence.

Use a fresh cart or purchase for each payment case. Keep the same product/variant fixture; wait for catalog/configuration updates before retesting. Reconcile uncertain outcomes before retrying. Preserve order evidence; do not refund or delete records as routine cleanup. Refund testing is a separate launch case. Do not infer Shopify support from the other platforms on the general refund page. Restore changed permissions and browser network settings after failure tests.

Mark Passed, Failed, or Blocked with evidence after execution. Baseline completion requires all applicable setup, checkout, payment and merchant-experience cases to pass. Missing required capabilities are Blocked. Additional launch cases do not imply the quickstart built those features.

App and store connection

TestInputStepsExpected outputResult
SH-01: App permissionsTest-store app from checkpoint 11. Inspect installed app/store. 2. Compare granted scopes with the guide.App is installed on the intended test store; required scopes approved; secret is absent from theme/browser code.Not run
SH-02: Catalog identityOne known variant in test store1. Connect the store. 2. Find the imported product. 3. Compare variant/price/currency.The imported product belongs to the intended store and matches the selected variant.Not run
SH-03: Unavailable accessSandbox app; new product created after revoking product-read access1. Remove product-read access and release the change. 2. Create a new product. 3. Attempt catalog import. 4. Restore/release access and reconnect.The new product cannot import without product-read access and imports after access is restored. Previously cached products do not count as evidence.Not run
TestInputStepsExpected outputResult
SH-04: Correct linkDirect-to-checkout link for one variant1. Copy URL. 2. Open in a fresh browser.Correct product/variant opens; no live-store or production payment destination.Not run
SH-05: Inactive linkSeparate disposable link, not the link used for payment cases1. Deactivate in Checkout Everywhere. 2. Reopen copied URL.Inactive link cannot start a new purchase; existing transaction evidence remains available.Not run

Payment and order

TestInputStepsExpected outputResult
SH-07: Approved paymentAvailable product; approved Bolt Payments test card1. Pay once. 2. Find Bolt transaction. 3. Find store order.One completed Bolt payment and one matching store order; item, quantity, shopper, amount and currency agree.Not run
SH-08: Rejected paymentPre-auth irreversibly rejected card from the Bolt Payments table, using the card set assigned to your division; fresh cart/link1. Submit the rejection card. 2. Inspect transaction and order state.Payment is rejected before authorization; no order is marked paid; shopper can retry with a supported payment method.Not run
SH-09: Cancel checkoutUnpaid cart/link1. Open checkout. 2. Close it before paying. 3. Return to the cart/link.No completed payment; chosen product remains available for another attempt.Not run
SH-10: Repeat submitFresh test purchase1. Submit twice quickly. 2. Reconcile resulting transactions and orders.No duplicate completed purchase or duplicate paid order.Not run
SH-11: Uncertain resultFresh purchase; controlled connection interruption1. Interrupt the browser connection after submit. 2. Restore it. 3. Check Bolt and store before retrying.Operator can determine the existing outcome; no blind second charge. A completed payment has a matching order.Not run

Experience you control

TestInputStepsExpected outputResult
SH-12: Store identityConfigured logo and support contact1. Open checkout. 2. Inspect identity/support. 3. Inspect confirmation.Correct store identity and contact details; confirmation refers to the purchased product/order.Not run
SH-13: Phone and keyboardNarrow phone and keyboard-only desktop1. Reach the checkout entry. 2. Open and close checkout. 3. Return to the entry.Merchant-owned entry remains usable, visible and reachable; focus and return behavior do not strand the shopper. Report Bolt-owned checkout defects to Bolt.Not run
SH-14: TotalsKnown product price and supported address1. Record store pricing. 2. Enter shipping address. 3. Compare final breakdown.Product, quantity, shipping, tax, currency and total agree with store configuration.Not run

Additional launch checks

TestInputStepsExpected outputResult
SH-06: Theme buttonsSeparate installed theme-button extension1. Follow the theme guide. 2. Test product, cart and cart-drawer entries.Each supported entry opens its actual cart and returns correctly. This is outside the link-only baseline.Not run
SH-15: Refund reconciliationOwner-confirmed Shopify / Checkout Everywhere refund procedure required1. Ask Bolt to confirm the supported refund entry point and synchronization behavior. 2. Document it here. 3. Execute against a separate completed sandbox order.Bolt and Shopify refund amount/status reconcile with no duplicate refund. Do not execute until the procedure is confirmed.Blocked
SH-16: FulfillmentSeparate paid order and configured fulfillment workflow1. Process the order in the store. 2. Check shopper-facing confirmation/tracking.Only paid orders enter the intended fulfillment flow; merchant-owned messaging matches the order.Not run
SH-17: Production configurationApproved production account and separate launch checklist1. Review hosts/keys/account. 2. Run an approved production-readiness test.No sandbox keys, links or scripts in production; launch evidence is recorded separately from sandbox acceptance.Not run

On this page