Skip to main content

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.