API
https://flownoc.com/api/v1 · JSON · credits required to create invoices.
Dashboard: Invoices → New.
Quick integration
- Create a merchant in the dashboard and copy the API key.
POST /merchant/checkout-sessionwith{"amount":10.5,"note":"order_ref"}— you getpay_url.- Webhooks optional. Defaults: Merchants → Edit. Per request:
notify_url,success_url,return_url.
Merchant default (dashboard) → maps to API behavior
Webhook URL — used when notify_url is omitted (server-to-server on paid).
Default success URL — used when success_url / return_success_url is omitted (redirect customer after success).
Auth
API key from Merchants in the dashboard.
X-Api-Key: YOUR_KEY Authorization: Bearer YOUR_KEY
Webhook signing secret (shown once when the merchant is created) verifies X-FlowNoc-Signature on callbacks.
Create checkout
Send a fiat amount, get pay_url (same as checkout_url). Customer opens it and picks network; you get paid to your FlowNoc wallets.
POST /api/v1/merchant/checkout-session
curl -X POST "https://flownoc.com/api/v1/merchant/checkout-session" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_KEY" \
-d '{"amount":10.5,"note":"order_123"}'
Optional: currency (default USD), notify_url (overrides merchant webhook default), success_url (overrides merchant default success URL), return_url → cancel / back (or return_success_url / return_cancel_url aliases).
Invoices endpoint
POST /api/v1/invoices
Omit chain and token for hosted checkout; same body as checkout-session.
Fixed crypto: send chain, token, amount as a decimal string.
Read invoices
GET /api/v1/invoices/{public_id}
GET /api/v1/invoices?per_page=20
Webhooks
On paid: POST to invoice notify_url if set, else merchant Webhook URL. Optional for accepting payment; use for server notifications.
Verify HMAC on the raw request body with your signing secret (X-FlowNoc-Signature).
PATCH /api/v1/merchant/webhook
{"webhook_url":"https://yoursite.com/hook","callback_url":"https://yoursite.com/thanks"}
callback_url in this endpoint is the same field as Default success URL in the dashboard (used when checkout-session omits success_url).
Errors
401 — bad or missing key
403 — no transaction credits
422 — validation (see message)