PayPal + AI · live on the PayPal sandbox

Your storefront, ready for AI agents.

Drop a product photo and Shopfront writes the listing. Any AI shopping agent can then find it and set up the order, and the buyer approves the payment in PayPal.

  • The shop sets the price, never the agent
  • A person approves every payment

Happening on the sandbox right now

Connecting…
  1. ShopfrontDemo shop reset15:30:50

    7 listings restored · order history kept

  2. ShopfrontDemo shop reset16:18:11

    7 listings restored · order history kept

  3. ShopfrontDemo shop reset10:57:53

    7 listings restored · order history kept

  4. WebhookPAYMENT.CAPTURE.COMPLETED17:21:38

    signature verified · confirms existing state

  5. WebhookCHECKOUT.ORDER.APPROVED17:21:13

    signature verified

  6. Seller agentThank-you note published to the buyer's order page17:21:10
    Answered before
  7. PayPalPayment captured — order marked PAID (via capture response)17:21:10

From her photo to a paid, shipped order.

Who does what: the seller and the buyer decide; agents do the legwork; PayPal moves the money.

  1. 1 · The seller

    Drops a photo. AI writes the listing.

    She checks it and confirms the price. Nothing goes live on an AI guess.

  2. 2 · The buyer's agent

    A blue mug under $40, as a gift

    Blue crackle mugJuniper Clay Studio · $32.00

    Finds it over MCP and sets up the order.

    It sends ids and quantities. The shop computes the total.

  3. 3 · The buyer
    Items$32.00
    Shipping$5.00
    Total, set by the shop$37.00
    Approve in PayPal

    Approves the payment in PayPal.

    The agent can't pay on its own. A verified webhook confirms the sale.

  4. 4 · The seller's agent

    Ships, tracks and refunds inside her rules.

    It reads the label photo, adds tracking to PayPal and asks her before any refund outside policy.

The model proposes. Code decides the money.

No model can create an order, capture, refund or add tracking. Prices and totals come from the seller's catalog; refunds follow a tested policy. Text in a photo or a chat that tries to change a price is treated as data.

What an agent sent, and what the server answered
create_checkout({
  items: [{ variant_id: "var_cobalt120000",
            quantity: 1, price: 0 }]
})

Blocked by the server: unknown field “price”. Totals are set by the shop.

Try to hack the price yourself Watch 31 attacks on a naive shop and on Shopfront