Quick start

Accept your first crypto payment in four steps. Do it on a testnet, then switch to mainnet keys.

1. Get an API key

Ask us to create a merchant account, then issue a key from the backoffice. Keys are bearer tokens prefixed ak_test_ (testnet) or ak_live_ (mainnet). See API keys.

2. Create an invoice

Price it in fiat and name the asset you want to be paid in. Always send an Idempotency-Key.

curl https://api.payzuno.io/v1/invoices \
  -H "Authorization: Bearer ak_test_…" \
  -H "Idempotency-Key: order_8412" \
  -d '{ "price_usd": "25.00", "asset_id": "USDC" }'

The response carries an id, a status of pending, and a payment address:

{ "id": "in_8412", "status": "pending",
  "payment_options": [{ "asset": "USDC",
    "amount": "25.000000", "address": "0x…" }] }

3. Show the checkout

Redirect the buyer to the hosted checkout URL, or render your own page from the amount, address, asset and network.

4. Handle the webhook

Payzuno POSTs a signed event when the payment confirms. Verify the signature (webhooks), then fulfil the order. Treat the on-chain confirmation as the source of truth and the status endpoint as the authoritative record.

When it works end-to-end on testnet, swap your ak_test_ key for an ak_live_ key. Nothing else changes.