Use a Merchant API Key from your server to integrate a merchant system with SixPay. Create and rotate keys in Developers > Merchant API Keys. Secrets begin with mapi_ and are shown only once.
Never send this header or its value to a browser.

Scopes

Keys can contain more than one scope. Use separate keys per environment or service and grant only the required scopes.

Subscription products

This endpoint requires subscription:manage. A product defines its name, description, duration and one or more billing strategies. Each strategy contains an interval and chain/token amounts.
Use GET /merchant/tenants/{tenantId}/subscriptions/products and GET /merchant/tenants/{tenantId}/subscriptions/products/{productId} with subscription:read to retrieve products. Drafts can be updated or deleted with subscription:manage. Publishing or stopping a plan is deliberately not available to an API key: the action needs a signature from an authenticated merchant wallet.

Confirmed subscriptions

subscription:read returns records derived from confirmed on-chain events. Each record includes the on-chain subscription ID, payer, selected token, billing amount and interval, authorization end, paid cycles, next collection time, status, and transaction hashes. Use GET /merchant/tenants/{tenantId}/subscriptions/{subscriptionId} to fetch one record with its cycle history. A subscription is not created directly through this API: SixPay inserts it only after a confirmed SubscriptionCreated event, so the record remains chain-reconcilable. The product id returned by the product endpoints is the subscriptionProductId used by SDK checkout-session creation and public product loading. Copy it from the subscription plan detail page in Subscriptions > Plans. It is different from the per-customer on-chain subscriptionId returned by confirmed subscription endpoints.

Collections and reporting

All endpoints below require subscription:read. Collection amounts are atomic token-unit strings. Use the returned token decimals and symbol before rendering an amount to a customer.

Confirmation and webhooks

The API reads SixPay’s confirmed event projection. Webhooks are emitted from the same projection after the chain confirmation threshold. For entitlement changes, consume and deduplicate subscription.payment_succeeded; see Subscription webhook events.