Skip to content
Docs menu

Endpoints

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

  • amount integer Required
    The price in minor units of currency: 4900 with USD is $49.00. From the equivalent of $1.00 up to 1,000,000.00 in the currency.
  • currency string
    USD, EUR, GBP, CAD, AUD. Defaults to USD.
  • name string
    What the customer is paying for, up to 80 characters. It becomes the description of each payment made through the link, shown on the receipt.
  • description string
    More about it, shown in the checkout's details, up to 300 characters.
  • success_url string
    Where checkout sends the customer after paying, with payment_id added to its query. Use https://; http:// works only for localhost and 127.0.0.1. Defaults to the redirect in your checkout settings, then the receipt.

Errors

  • 400 invalid_request
    A field is missing, unknown or out of range. field names it.
  • 403 test_mode_unavailable
    A 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"  }}