Payment Applications API

Endpoints for creating and managing payment applications. All endpoints require OAuth2 authentication.

List Applications

Get all payment applications for your account.

GET /api/payment-applications
Authorization: Bearer YOUR_OAUTH_TOKEN

Response

{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "My E-commerce Store",
      "clientId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
      "userId": "...",
      "currencyWhitelist": ["BTC", "ETH", "USDT"],
      "site": {
        "id": "...",
        "url": "https://mystore.com",
        "callbackUrl": "https://mystore.com/webhooks/payments"
      },
      "paymentAppImage": null,
      "createdAt": "2026-01-01T00:00:00Z",
      "deletedAt": null
    }
  ]
}

Get Application

Retrieve a specific payment application.

GET /api/payment-applications/{id}
Authorization: Bearer YOUR_OAUTH_TOKEN

Create Application

Create a new payment application.

POST /api/payment-applications
Authorization: Bearer YOUR_OAUTH_TOKEN
Content-Type: application/json

Request Body

{
  "name": "My New Store",
  "secret": "your_webhook_secret",
  "url": "https://mynewstore.com",
  "callbackUrl": "https://mynewstore.com/webhooks/payments",
  "currencyWhitelist": ["BTC", "ETH", "USDT"],
  "allowUnderpay": false,
  "allowOverpay": true
}

Parameters

ParameterTypeRequiredDescription
namestringYesApplication name (3-255 characters)
secretstringYesWebhook signing secret for HMAC verification
urlstringNoYour website URL
callbackUrlstringNoWebhook endpoint URL for payment notifications
currencyWhitelistarrayNoList of accepted cryptocurrency codes
allowUnderpaybooleanNoAccept underpaid payments
allowOverpaybooleanNoAccept overpaid payments

Response

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My New Store",
    "clientId": "x9y8z7w6v5u4t3s2r1q0p9o8n7m6l5k4",
    "userId": "...",
    "currencyWhitelist": ["BTC", "ETH", "USDT"],
    "site": {
      "id": "...",
      "url": "https://mynewstore.com",
      "callbackUrl": "https://mynewstore.com/webhooks/payments"
    },
    "createdAt": "2026-01-20T12:00:00Z"
  }
}

The clientId is a unique 32-character identifier for your application. Use it in payment creation requests.

Update Application

Update payment application settings.

PUT /api/payment-applications/{id}
Authorization: Bearer YOUR_OAUTH_TOKEN
Content-Type: application/json

Request Body

{
  "name": "Updated Store Name",
  "callbackUrl": "https://mynewstore.com/webhooks/v2/payments",
  "currencyWhitelist": ["BTC", "ETH", "USDT", "USDC"],
  "allowUnderpay": true,
  "allowOverpay": true
}

All fields are optional. Only include the fields you want to update.

Delete Application

Soft-delete a payment application.

DELETE /api/payment-applications/{id}
Authorization: Bearer YOUR_OAUTH_TOKEN

Restore Application

Restore a soft-deleted payment application.

POST /api/payment-applications/{id}/restore
Authorization: Bearer YOUR_OAUTH_TOKEN