Pay quickstart
One call, one payment URL. Authenticate with your marketplace secret key
(apk_live_..., minted once in the provider portal), describe the sale, and get
back a URL to redirect the buyer to.
1. Create the checkout
Three fields are required: amount, seller_id, product_name. amount is
dollars as a string. seller_id is an ID, never a name, see
/pay/sellers.
Dollars go in, and both amount and amount_minor come back: the string for
anything you show a human, the integer for reconciling against the webhook,
which speaks minor units.
2. Redirect the buyer
Send the buyer to url. The hosted page handles wallet connection, the
signature, and the transaction. The link is payable for 20 minutes; after
that the buyer is told to start again from your store.
If you passed a return_url, the buyer lands back there when the payment
settles. If you did not, they stay on the hosted completion screen, so a first
integration works with a single curl and no callback route.
3. Read the result before you ship
The webhook is a nudge, never the authority. It can be late, lost, replayed or
forged. Read the payment back with this endpoint before releasing goods.
Testing without a browser
GET /health reports whether the deployment is configured to take checkouts at
all, without revealing any address:
A 501 not_configured from POST /v1/checkout means one of those flags is
false, most often a missing settlement contract or platform fee wallet.