Create a link
Create a reusable hosted checkout with a fixed price.
Returns the link with its hosted checkout at url. Every customer who pays it creates a new payment with the link's link_id.
Body
amountinteger RequiredThe price in minor units ofcurrency:4900withUSDis $49.00. From the equivalent of $1.00 up to 1,000,000.00 in the currency.currencystringUSD, EUR, GBP, CAD, AUD. Defaults to USD.namestringWhat the customer is paying for, up to 80 characters. It becomes the description of each payment made through the link, shown on the receipt.descriptionstringMore about it, shown in the checkout's details, up to 300 characters.success_urlstringWhere checkout sends the customer after paying, withpayment_idadded to its query. Usehttps://;http://works only forlocalhostand127.0.0.1. Defaults to the redirect in your checkout settings, then the receipt.
Errors
- 400
invalid_requestA field is missing, unknown or out of range.fieldnames it. - 403
test_mode_unavailableA test key can't create links on a live business, so use a live key.
Any request can also fail on its key or its body. See errors.
Request
curl -X POST "https://dash.402pay.co/api/v1/links" \ -H "Authorization: Bearer $PAY402_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Team plan, monthly", "description": "Everything in Pro for up to 10 people.", "amount": 19900, "currency": "USD" }'Response201 Created
{ "data": { "id": "lnk_nt842tPNne3lf0ka", "kind": "link", "code": "v6e4mrczwg", "url": "https://checkout.402pay.co/checkout/v6e4mrczwg", "name": "Team plan, monthly", "description": "Everything in Pro for up to 10 people.", "amount": 19900, "currency": "USD", "success_url": null, "status": "active", "disabled_at": null, "payments_count": 0, "volume": { "amount": 0, "currency": "USD" }, "created_at": "2026-09-26T21:22:46.992Z", "updated_at": "2026-09-26T21:22:46.992Z" }}