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.
Buyer makes an offer
They pick a price and confirm their card.
Card is authorised
The amount is held on the card and nothing is charged yet.
Seller decides
Accept, decline or counter, before the offer expires.
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