Shopify test plan
Verify the Shopify quickstart, reconcile payments and orders, and check the experience your store controls.
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
| Test | Input | Steps | Expected output | Result |
|---|---|---|---|---|
| SH-01: App permissions | Test-store app from checkpoint 1 | 1. 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 identity | One known variant in test store | 1. 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 access | Sandbox app; new product created after revoking product-read access | 1. 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 |
Link and checkout
| Test | Input | Steps | Expected output | Result |
|---|---|---|---|---|
| SH-04: Correct link | Direct-to-checkout link for one variant | 1. Copy URL. 2. Open in a fresh browser. | Correct product/variant opens; no live-store or production payment destination. | Not run |
| SH-05: Inactive link | Separate disposable link, not the link used for payment cases | 1. 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
| Test | Input | Steps | Expected output | Result |
|---|---|---|---|---|
| SH-07: Approved payment | Available product; approved Bolt Payments test card | 1. 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 payment | Pre-auth irreversibly rejected card from the Bolt Payments table, using the card set assigned to your division; fresh cart/link | 1. 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 checkout | Unpaid cart/link | 1. 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 submit | Fresh test purchase | 1. Submit twice quickly. 2. Reconcile resulting transactions and orders. | No duplicate completed purchase or duplicate paid order. | Not run |
| SH-11: Uncertain result | Fresh purchase; controlled connection interruption | 1. 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
| Test | Input | Steps | Expected output | Result |
|---|---|---|---|---|
| SH-12: Store identity | Configured logo and support contact | 1. 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 keyboard | Narrow phone and keyboard-only desktop | 1. 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: Totals | Known product price and supported address | 1. 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
| Test | Input | Steps | Expected output | Result |
|---|---|---|---|---|
| SH-06: Theme buttons | Separate installed theme-button extension | 1. 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 reconciliation | Owner-confirmed Shopify / Checkout Everywhere refund procedure required | 1. 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: Fulfillment | Separate paid order and configured fulfillment workflow | 1. 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 configuration | Approved production account and separate launch checklist | 1. 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 |