Anneal
Work / 03 · Marketplace

Make an offer. Pay only if the seller says yes.

Client
Confidential jewellery marketplace
Sector
Marketplace, payments
Platform
iOS, Android and web
What we did
Payments design, product design and the full build

Buyers wanted to offer a price instead of paying the sticker one. Sellers wanted to accept, decline or counter, and know an accepted offer would actually pay. The usual answer is a custom escrow that holds the buyer's money until the deal closes. Here, building one would have meant taking on the compliance that comes with holding other people's money.

Three questions we answered before drawing a screen.

Who holds the money while the seller decides?

The buyer's own bank, same as any card payment. The card is authorised when the offer is made, and the funds stay there until the seller accepts.

Do we need to hold anyone's money at all?

A custom escrow would have put the client in the business of holding funds. We recommended a card hold through Stripe Checkout instead, so the money stays on the buyer's card until the seller accepts and we never hold it. How a marketplace is regulated depends on where it operates, so the client's advisers confirm that side.

What happens if the seller says nothing?

Every offer has an expiry. Card holds usually last about seven days, so offers run out inside that window. When one does, the hold is released and the buyer is free to try again.

Hold on offer. Charge on yes.

  1. Buyer makes an offer

    They pick a price and confirm their card.

  2. Card is authorised

    The amount is held on the card and nothing is charged yet.

  3. Seller decides

    Accept, decline or counter, before the offer expires.

  4. Charge or release

    Accept captures the payment. A decline or an expired offer releases the hold.

Before you build a payments feature, check whether the card network already does it.

An offer flow that looks after the money.

  • Offers

    Buyers name their price on any listing.

  • Counters

    Sellers accept, decline or come back with a number of their own.

  • Card holds

    Authorise and capture through Stripe Checkout, with no escrow for the client to build or run.

  • Expiry

    Every offer shows when it runs out, and the hold drops when it does.

  • Seller view

    Incoming offers in one place, ready to answer.

  • Mobile and web

    The same marketplace on iOS, Android and the web.

Built with

  • React Native
  • Next.js
  • Stripe Checkout
Bring us the idea,
the deadline
and the budget.