Skip to content

fix(storefront): fill the delivery quote and checkout query params - #33

Merged
roncodes merged 1 commit into
mainfrom
fix/storefront-quote-and-checkout
Aug 11, 2026
Merged

roncodes merged 1 commit into
mainfrom
fix/storefront-quote-and-checkout

Conversation

@roncodes

Copy link
Copy Markdown
Member

Both requests shipped every query parameter empty, so each failed on its own validation and the published reference showed no values for endpoints that cannot work without them — the same gap as the empty request bodies in #29.

Retrieve a Delivery Service Quote — "The origin field is required."

origin and destination accept five forms, all handled by getPlaceFromId(): a place id, a store_location id, a vehicle id, a food_truck id, or a "lat,lng" pair.

Coordinates are used because that is what a storefront client usually has — the store's position and the customer's address — and because it needs no fixture. The comment documents the other four forms.

It now also captures {{service_quote_id}}, which Checkout/Before addresses and nothing set.

Before — "The gateway field is required."

gateway is the gateway code, not an id: CheckoutController reads $request->input('gateway') and resolves it with Storefront::findGateway(). "stripe" matches the code on the gateway the contract run seeds. The remaining params reuse variables the run already has.

It now captures {{checkout_token}}, which Capture checkout as order and Get Checkout Status both address and nothing set.

Chain

These two are the head of the checkout chain — Capture checkout as order and Get Checkout Status currently fail behind them on the unset token, and Update Stripe Payment Intent on the unset service_quote.

🤖 Generated with Claude Code

Both requests shipped every query parameter empty, so each failed on its own
validation and the published reference showed no values for endpoints that
cannot work without them. Same gap as the empty request bodies.

Retrieve a Delivery Service Quote answered "The origin field is required."
  origin and destination accept a place id, a store_location id, a vehicle id, a
  food_truck id, or a "lat,lng" pair — getPlaceFromId() handles all five.
  Coordinates are used because that is what a storefront client usually has: the
  store's position and the customer's address. No fixture is needed for them.

  It now also captures {{service_quote_id}}, which Checkout/Before addresses and
  nothing set.

Before answered "The gateway field is required."
  `gateway` is the gateway CODE, not an id — CheckoutController reads
  $request->input('gateway') and resolves it with Storefront::findGateway(), so
  "stripe" is correct and matches the seeded gateway's code. The remaining params
  reuse variables the run already has.

  It now captures {{checkout_token}}, which Capture checkout as order and Get
  Checkout Status both address and nothing set.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@roncodes
roncodes merged commit ab668ab into main Aug 11, 2026
1 check passed
@roncodes
roncodes deleted the fix/storefront-quote-and-checkout branch August 11, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant