Payment links

Create a payment link

GET
/link/create/

Returns a link to a hosted payment page. The customer picks a coin and pays a fresh address; every deposit is forwarded to your wallet and reported to your callback like a /create/ payment. Give at least one address_<family>: the page offers every coin of the families you give a wallet for, or only coins. Limited to 30 requests a minute and 1,000 a day per IP.

Query Parameters

kind?string

payment: a fixed fiat amount, paid once. deposit: any amount, any number of times.

Default"payment"
Value in"payment""deposit"
value?string

Amount to collect, in currency. Required for a payment link.

currency?string

Fiat code (usd, eur, …). Required with value or suggested_value.

suggested_value?string

deposit links: an amount shown on the page, never enforced.

address_evm?string

Your wallet for Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum, Optimism and Avalanche, or a split pct@address|pct@address. address_tron, address_btc, address_ltc, address_bch, address_doge and address_sol work the same for their chains. At least one is required.

address_tron?string
address_btc?string
address_ltc?string
address_bch?string
address_doge?string
address_sol?string
coins?string

Comma-separated tickers to offer, each with a wallet for its chain. Defaults to every coin you gave a wallet for.

callback?string

Your URL. It receives the callback of every deposit, with noncepay_link and noncepay_ticker added to its query string, and, for a payment link, one link-paid callback.

Formaturi
pending?integer

1 to also be called when a deposit is first seen.

Default0
Value in01
post?integer

1 to receive callbacks as a POST form.

Default0
Value in01
json?integer

1 to receive callbacks as a POST JSON body.

Default0
Value in01
redirect_url?string

payment links: where the page sends the customer once paid, with link_id and success_token added.

Formaturi
item_description?string

Plain text shown on the page.

Lengthlength <= 128
merchant_name?string

Plain text shown on the page.

Lengthlength <= 64
logo_url?string

An https image shown beside the merchant name, loaded from your server with no referrer. NoncePay never uploads or hosts it.

Formaturi
Lengthlength <= 2048
expire_at?integer

payment links: expiry in epoch seconds, at least one hour ahead. Defaults to 7 days.

tolerance?string

payment links: percent, 0 to 1, by which the paid total may fall short of value and still count as paid.

Default"0"

Response Body

The link.

application/json
  1. response
status?string
link_id?string
Formatuuid
payment_url?string

The page to share.

Formaturi
success_token?string

Secret added to redirect_url with link_id once the link is paid. Store it with the link and compare it with the one on the redirect.

Example Request
curl -X GET 'https://api.noncepay.app/link/create/?value=49.90&currency=usd&address_evm=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266&coins=trc20%2Fusdt%2Cbep20%2Fusdt&callback=https%3A%2F%2Fshop.example%2Fpaid%3Forder%3D1042'
Example Response
{  "status": "success",  "link_id": "3f6c2a1e-8b4d-4c7a-9e21-5d0f7b9a6c13",  "payment_url": "https://checkout.noncepay.app/?id=3f6c2a1e-8b4d-4c7a-9e21-5d0f7b9a6c13",  "success_token": "q3J8vT0mZk6xR1yH5wN2bC9dL4sF7gA0eU8iO3pK6jM"}