Skip to content

Static PayID ​

Create and manage permanent, reusable checkout PayIDs for receiving payments. Static PayIDs don't expire and have their own ledger for tracking balance.

Required permission: virtual_payid

Business accounts only

Static PayIDs require an API key belonging to a business account. API keys from personal accounts will receive a 403 Forbidden error. You can check your account type in the dashboard.

Create Static PayID ​

POST /v1/checkout/static-payid

Authentication ​

Requires a secret key (sk_*) from a business account.

Request body ​

ParameterTypeRequiredDescription
pay_idstringYesBase name (3-20 chars). Letters, numbers, dots, and underscores only
suffixstringYesPayID suffix: ".spid" or ".checkout"
namestringYesDisplay name (max 255 chars)
descriptionstringNoDescription (max 2000 chars)

The full PayID will be {pay_id}{suffix}, for example, mystore.spid.

Settlement

Payments received on this PayID are settled to your API key's configured settlement ledger. To change where payments are settled, update your API key's settlement configuration in the dashboard.

Example request ​

bash
curl -X POST https://api.zevpaycheckout.com/v1/checkout/static-payid \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk_test_your_secret_key" \
  -d '{
    "pay_id": "mystore",
    "suffix": ".spid",
    "name": "My Online Store",
    "description": "Payments for online orders"
  }'
javascript
const response = await fetch(
  "https://api.zevpaycheckout.com/v1/checkout/static-payid",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-api-key": "sk_test_your_secret_key",
    },
    body: JSON.stringify({
      pay_id: "mystore",
      suffix: ".spid",
      name: "My Online Store",
      description: "Payments for online orders",
    }),
  }
);
const data = await response.json();

Response ​

json
{
  "success": true,
  "data": {
    "id": "a1b2c3d4-...",
    "pay_id_id": "e5f6g7h8-...",
    "pay_id": "mystore.spid",
    "business_id": "b1c2d3e4-...",
    "api_key_id": "k1l2m3n4-...",
    "settlement_pay_id_id": "s1t2u3v4-...",
    "name": "My Online Store",
    "description": "Payments for online orders",
    "suffix": ".spid",
    "source": "api",
    "is_active": true,
    "created_at": "2026-03-08T12:00:00.000Z",
    "updated_at": "2026-03-08T12:00:00.000Z"
  }
}

List Static PayIDs ​

GET /v1/checkout/static-payid

Query parameters ​

ParameterTypeDefaultDescription
pageinteger1Page number
page_sizeinteger20Items per page (max 100)
searchstringnoneSearch by name or PayID

Example request ​

bash
curl https://api.zevpaycheckout.com/v1/checkout/static-payid?page=1&page_size=10 \
  -H "x-api-key: sk_test_your_secret_key"

Response ​

json
{
  "success": true,
  "data": {
    "items": [
      {
        "id": "a1b2c3d4-...",
        "pay_id": "mystore.spid",
        "name": "My Online Store",
        "is_active": true,
        "created_at": "2026-03-08T12:00:00.000Z"
      }
    ],
    "total": 1,
    "page": 1,
    "page_size": 10,
    "total_pages": 1
  }
}

Get Static PayID ​

GET /v1/checkout/static-payid/:id

Path parameters ​

ParameterTypeDescription
idstringStatic PayID UUID

Example request ​

bash
curl https://api.zevpaycheckout.com/v1/checkout/static-payid/a1b2c3d4-... \
  -H "x-api-key: sk_test_your_secret_key"

Update Static PayID ​

PUT /v1/checkout/static-payid/:id

Request body ​

ParameterTypeRequiredDescription
namestringNoNew display name (max 255 chars)
descriptionstringNoNew description (max 2000 chars)

Example request ​

bash
curl -X PUT https://api.zevpaycheckout.com/v1/checkout/static-payid/a1b2c3d4-... \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk_test_your_secret_key" \
  -d '{ "name": "Updated Store Name" }'

Deactivate Static PayID ​

Deactivate a static PayID so it no longer accepts payments.

DELETE /v1/checkout/static-payid/:id

Example request ​

bash
curl -X DELETE https://api.zevpaycheckout.com/v1/checkout/static-payid/a1b2c3d4-... \
  -H "x-api-key: sk_test_your_secret_key"

Response ​

json
{
  "success": true,
  "data": {
    "success": true,
    "message": "Static PayID deactivated."
  }
}

Reactivate Static PayID ​

Re-enable a previously deactivated static PayID.

POST /v1/checkout/static-payid/:id/reactivate

Example request ​

bash
curl -X POST https://api.zevpaycheckout.com/v1/checkout/static-payid/a1b2c3d4-.../reactivate \
  -H "x-api-key: sk_test_your_secret_key"

Response ​

json
{
  "success": true,
  "data": {
    "success": true,
    "message": "Static PayID reactivated."
  }
}

Response fields ​

FieldTypeDescription
idstringUnique identifier (UUID)
pay_id_idstringAssociated Pay ID record UUID
pay_idstringFull PayID string (e.g., "mystore.spid")
business_idstringOwner business UUID
api_key_idstring|nullAPI key used to create this PayID
settlement_pay_id_idstring|nullSettlement destination entity UUID
namestringDisplay name
descriptionstring|nullDescription
suffixstringPayID suffix (.spid or .checkout)
sourcestringCreation source ("api" or "dashboard")
is_activebooleanWhether the PayID is active
created_atstringISO 8601 timestamp
updated_atstringISO 8601 timestamp

Try it: Create Static PayID ​

API Playground
POSThttps://api.zevpaycheckout.com/v1/checkout/static-payid

Try it: List Static PayIDs ​

API Playground
GEThttps://api.zevpaycheckout.com/v1/checkout/static-payid

ZevPay Checkout Developer Documentation