Skip to main content

Products, managed links and subscriptions

These are account-owned business resources. API-key or partner Bearer access and the corresponding enabled capabilities are required. A key does not turn on a payment route. See authentication.

For reads and deletion, env is a query filter. For product/link creation and updates, send env in the JSON body. Partner ownership comes from the credential; do not send another partner_id. Resource price fields can have endpoint-specific integer types: the transaction API amount remains an exact integer string.

Products​

GET /api/v1/products?env=prod&limit=10
GET /api/v1/products/{id}?env=prod
POST /api/v1/products
PUT /api/v1/products/{id}
DELETE /api/v1/products/{id}?env=prod

Creating a product defines its header, text, price, qty and currency. A product is not a payment. List responses use data/total; product details and creation responses use data. The shown price is 1 USDT at decimals=6.

{
"env": "prod",
"header": "Example item",
"text": "Example item",
"price": 1000000,
"qty": "1",
"currency": "USDT"
}
GET /api/v1/links?env=prod&limit=10
POST /api/v1/links
PUT /api/v1/links/{id}
DELETE /api/v1/links/{id}?env=prod

Links are separate server resources with amount settings, payment configuration and optional products. Use the returned resource URL/form information, not an invented URL. A Heth receive-link generated in the app is a different object. Deleting a link does not refund an already settled payment.

Merchant subscriptions​

GET /api/v1/recurrents?env=prod&limit=10
GET /api/v1/recurrents/{id}?env=prod
POST /api/v1/recurrents
PUT /api/v1/recurrents/{id}
POST /api/v1/recurrents/{id}/pause
POST /api/v1/recurrents/{id}/resume
POST /api/v1/recurrents/{id}/cancel

A subscription is created from a successful initial payment belonging to the account. POST /recurrents uses payment_id and a recurrent object; interval accepts daily, weekly, monthly or yearly, with period specifying the number of intervals. Environment is inherited from the initial payment. The payer must authorize the payment method and recurring debit terms. Creating a subscription is not proof that a usable debit permission exists.

Lifecycle actions use POST /recurrents/{id}/pause, /resume and /cancel. Read the returned status; cancelling future charges does not refund earlier ones. A Heth payer manages their own crypto subscription mandates with their wallet session in Settings → Subscription mandates, where the feature is enabled. This is separate from merchant subscription management.