When the buyer collects in person (a car at a dealership, a phone at a meetup, keys to a flat), set release.method to release_code. KetaPay gives the buyer a 6-digit code for each milestone. The buyer gives it to the seller only once they are satisfied, and the seller entering it delivers and releases that milestone in one step.

Create the session

How the code reaches the buyer

KetaPay sends each code to the buyer by email and by WhatsApp or SMS once the escrow is funded. To show it in your own app too, fetch it with the buyer’s customer token:
Never show the code to the seller, and never send it from your server to the seller’s screen.

The seller enters the code

The seller’s customer token is optional here: the code is the buyer’s proof. The milestone is delivered and released together, and the seller is paid.

Wrong codes

  • A wrong code fails with release_code_invalid.
  • After 5 wrong codes, code entry is locked for that escrow for 1 hour (release_code_locked) and the buyer is alerted.
  • A disputed milestone can’t be released with a code; the dispute must be settled first.