Phase-by-phase checklist from evaluation through post-launch. Use it as a shared tracker for your engineering, QA, and ops teams. For formal test cases and evidence format, see Certification. For cutover steps, see Go-live.
Phase 1 — Evaluate#
- Read Seller API overview and Quickstart and confirm the Seller API fits your storefront model
- Confirm you will charge buyers at your payment processor — Avrix never auto-refunds
- Confirm key-delivery fulfilment (
deliveryMode: "key") and durable key persistence before buyer UI - Confirm vendor commercial prerequisites (BMA / share / allocations) with your commercial contact
Phase 2 — Sandbox access#
- Seller company in Console with Integrations → API Keys visible
- Create a sandbox key with least-privilege scopes for checkout
- GET /health returns 200
- GET /whoami returns
environment: sandbox, expected scopes, andhasActiveBmaas expected for the shared sandbox catalog - Register a webhook endpoint; verify
test.pingsignature
Phase 3 — Catalog#
- Cold-start sync: snapshot (or products) plus
/allocationsmerge - Persist sellable set; treat allocation-only SKUs correctly
- Incremental sync via
/catalog/changeswith tombstones - Cache / ETag strategy follows Caching and fairness
- Cases 1–6 from Certification pass
Phase 4 — Checkout#
- POST /orders/preview before every charge; gate on
canFulfill - Echo
expectedUnitPriceCents(andpriceCommitmentTokenwhen returned) - Stable
Idempotency-Keyper commercial attempt, stored before the request - Stable
orderReferenceper fulfilment attempt - Production-shaped
integrationOrderContexteven in sandbox — Order context - Never call Seller API from browser or mobile clients
- Cases 7–14 from certification pass, including unknown-outcome recovery
Phase 5 — Fulfilment and webhooks#
- Persist keys / redemption identifiers before responding to the buyer
- Webhook signature verification on raw body; reject invalid and stale signatures
- Deduplicate on event id; process asynchronously after fast 2xx
- Missed-delivery recovery via delivery list / replay and GET /orders
- Cases 15–23 from certification pass
Phase 6 — Refunds and ops#
- Return / refund path uses
keyIdsfrom the order response ororder.fulfilledwebhook - PSP refunds owned by your storefront on
409 NO_AVAILABLE_KEYS/order.failed - Structured logging with
requestId - Alerts on error rate by code and webhook failure
- Reconciliation job scheduled
- Cases 24–29 from certification pass
Phase 7 — Production launch#
- Certification evidence submitted and approved
- Production key, allowlist, webhooks, and catalog cold-start complete — Go-live
- Controlled live order verified
- Gradual traffic enablement and 24-hour watch window
Phase 8 — Post-launch#
- Monitor CATALOG_PRICE_MISMATCH, webhook success, reconciliation drift, allocation depletion
- Key rotation rehearsed
- Re-run certification suite after material checkout changes