> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reap.global/llms.txt
> Use this file to discover all available pages before exploring further.

# One-Time Purchases

> The full request flow from product search to the completed order.

A one-time purchase runs from product search to a completed order with a single approval. The agent finds and prices the item, and the user approves the payment once on the Reap-hosted page.

<Steps>
  <Step title="Find the item" icon="search">
    The agent turns the user's request into a purchasable variant.

    * Your application searches the catalog with [Search products](/api-reference/agentic/search-products)
    * [Get product details](/api-reference/agentic/get-product-details) returns the product's options. When the product has options, [Resolve variant](/api-reference/agentic/resolve-variant) turns the selected option ids into the variant id that feeds the quote
  </Step>

  <Step title="Quote the item" icon="tag">
    The quote opens the merchant checkout and locks the payable amount.

    * Your application opens the quote with [Create quote](/api-reference/agentic/create-quote), passing the variant ids and a shipping address when the items ship
    * The response itemizes the subtotal, the shipping options, the tax, and the final amount
    * [Select shipping option](/api-reference/agentic/select-shipping-option) re-prices the quote for a different delivery choice

    <Warning>
      Quotes are short-lived. Create the checkout before the quote's `expiresAt` passes, or open a fresh quote.
    </Warning>
  </Step>

  <Step title="Open the checkout and hand over for approval" icon="shopping-cart">
    Reap executes the real merchant checkout after the user approves it.

    * Your application opens the payment with [Create checkout](/api-reference/agentic/create-checkout), passing the quote id, the owner reference, and a `returnUrl`
    * The response carries a redirect link to the hosted approval page. Send the user there to review the order, provide or select a card, and approve the payment
    * After the approval the user returns to your `returnUrl` and Reap completes the merchant checkout
  </Step>

  <Step title="Confirm the completed order" icon="clipboard-check">
    The checkout reports its progress until the order exists at the merchant.

    * Your application polls [Get checkout](/api-reference/agentic/get-checkout) until the status reaches `COMPLETED` or `FAILED`
    * A completed checkout carries the merchant order reference and the final charged amount, and the agent confirms the order back to the user
  </Step>
</Steps>

<Note>
  The create endpoints require an `Idempotency-Key` header, so a retried request cannot open a duplicate quote or charge twice.
</Note>

## A worked example

<Tabs>
  <Tab title="What the user sees">
    The user asks the agent to buy Sony WH-1000XM5 headphones for about USD 130. The agent finds them at audiohub.com and quotes USD 138.42 including shipping and tax. The user opens the approval link, checks the order, and pays with their card. The agent reports order 12345 with Friday delivery.
  </Tab>

  <Tab title="What happens underneath">
    * [Search products](/api-reference/agentic/search-products), [Get product details](/api-reference/agentic/get-product-details), and [Resolve variant](/api-reference/agentic/resolve-variant) resolve the headphones to a purchasable variant
    * [Create quote](/api-reference/agentic/create-quote) opens the audiohub.com checkout and prices the order at USD 138.42
    * [Create checkout](/api-reference/agentic/create-checkout) returns the approval link and the user approves the payment there
    * [Get checkout](/api-reference/agentic/get-checkout) reports the completed order 12345
  </Tab>
</Tabs>

## Next steps

<CardGroup cols={2}>
  <Card title="Recurring purchases" icon="repeat" href="/agentic-payments/recurring-purchases">
    The planned standing approval that covers every later cycle
  </Card>

  <Card title="Read the FAQ" icon="help-circle" href="/agentic-payments/faq">
    Coverage, limits, and the questions prospects ask
  </Card>
</CardGroup>
