Paynock

API reference

Build the checkout on your site.

Every call is JSON. Show pay_address and pay_amount yourself. checkout_url is optional.

Authentication

Send the key on every request. Keep it on the server. Do not put it in the browser.

x-api-key: YOUR_KEY
Authorization: Bearer YOUR_KEY

A missing or wrong key returns 401.

GEThttps://paynock.com/v1/currencies

Currencies

The coins this desk can watch.

Request

curl https://paynock.com/v1/currencies \
  -H "x-api-key: YOUR_KEY"

Response

{
  "currencies": [
    { "code": "usdttrc20", "asset": "USDT", "network": "Tron · TRC20" }
  ]
}

usdttrc20usdtbscusdterc20usdttontrxtonbnbdogeltc

POSThttps://paynock.com/v1/payment

Create a payment

Price is in USD. The returned amount is unique, so the customer must send that figure, not a round number.

FieldRequired
price_amountyesUSD price, for example 6
price_currencyyesusd
pay_currencyyesA code from currencies
order_idyesYour order id, up to 64 characters
order_descriptionyesSent back on the webhook
ipn_callback_urlyesHTTPS URL on your server

Request

curl https://paynock.com/v1/payment \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "price_amount": 6,
    "price_currency": "usd",
    "pay_currency": "usdttrc20",
    "order_id": "ORDER-1001",
    "order_description": "Plan 1m [email protected]",
    "ipn_callback_url": "https://your-site.com/ipn"
  }'

Response 201

{
  "payment_id": "pn_ab12cd34ef567890",
  "payment_status": "waiting",
  "pay_address": "T...",
  "pay_amount": "6.001",
  "pay_currency": "usdttrc20",
  "asset": "USDT",
  "network": "Tron · TRC20",
  "price_amount": "6.00",
  "order_id": "ORDER-1001",
  "expires_at": "2026-11-07 16:00:00",
  "checkout_url": "https://paynock.com/pay/pn_ab12cd34ef567890"
}

GEThttps://paynock.com/v1/payment/{id}

Payment status

waiting until the exact amount is seen. Then finished. After the window, expired.

curl https://paynock.com/v1/payment/pn_ab12cd34ef567890 \
  -H "x-api-key: YOUR_KEY"

POSTyour ipn_callback_url

Webhook

Paynock posts this body when the invoice is finished. Sign the raw body with HMAC-SHA512 and compare it to x-nowpayments-sig. Answer with OK.

{
  "payment_id": "pn_ab12cd34ef567890",
  "payment_status": "finished",
  "order_id": "ORDER-1001",
  "order_description": "Plan 1m [email protected]",
  "pay_amount": "6.001",
  "pay_currency": "usdttrc20",
  "price_amount": 6,
  "price_currency": "usd"
}