Sandbox demo: PayPal Sandbox only, no real money moves.

Holdfastat Kestrel Gear Rentals, a demo shop

Deposits settled on evidence, not arguments.

Holdfast keeps a rental deposit as a PayPal hold, has Gemini compare photos from pickup and return, prices anything new from the shop's own list, and takes only what the renter agrees to. The rest of the hold is voided.

  • PayPal holds and settles the money
  • Gemini proposes, never decides
  • People approve every cent
One deposit, start to finishExample with the shop's real prices
  1. PayPal

    Places a $200.00 hold on the renter's account. Nothing is charged.

    AUTHORIZATION CREATED
  2. Gemini

    Compares 6 check-out and return photos and proposes one finding:

    Right side: ear cushion missing, 99% confident

  3. Staff

    Confirms it and prices it from the shop's list: Ear cushion replacement, $38.00.

  4. Renter

    Sees the photos and the price, and accepts.

  5. PayPal

    Captures $38.00 and voids the rest of the authorization.

Captured by PayPal
$38.00
Authorization voided
$162.00

Try it live, end to end

Real PayPal Sandbox calls and live Gemini inspections. About 10 minutes.

  1. Rent the headphones

    Approve the deposit with a PayPal Sandbox buyer account. PayPal places a hold; nothing is charged.

    Pick an item
  2. Inspect as staff

    Upload check-out and return photos and let Gemini compare them. The passcode is in the Devpost testing instructions.

    Open the staff workspace
  3. Answer as the renter

    Open the renter link from the staff page. See every photo and price, then accept or contest each line.

  4. Settle

    Watch PayPal capture the agreed amount and void the rest, with signature-verified webhooks in the timeline.

Two engines, fenced apart. A person stands between them.

PayPal Orders v2, sandbox

Moves the money

  • Creates the order with intent AUTHORIZE, so the deposit is a hold, not a payment.
  • Captures only the agreed amount, then voids the rest of the authorization.
  • Every write carries a fixed PayPal-Request-Id, so a retry can never charge twice.
  • Webhooks count only after PayPal verifies their signature.
Gemini 3.7 Flash on Vertex AI

Reads the photos

  • At pickup, lists the marks already on each of 6 angles, so they are never charged later.
  • At return, compares each angle and proposes new damage with a box, type, severity, confidence and evidence.
  • Answers in schema-checked JSON. Under 50% confidence is shown as a note, never priced.
  • Never sees a price and has no code path to PayPal.

Rent something

Kestrel Gear Rentals is a demo shop. Your deposit is a hold, not a charge, and nothing is captured until you agree.