cpstackbackup Reseller API

Use wallet funds to create and renew plugin licenses from WHMCS, Blesta, WiseCP, WordPress, Laravel, or a custom billing panel.

Authentication

Generate a token in the customer portal, then send it as a Bearer token.

Authorization: Bearer cpsb_live_your_token_here
Content-Type: application/json
Idempotency-Key: whmcs-order-1234-create

Idempotency-Key is required on paid create and renew calls. Safe retries return the original result without a second wallet debit.

Balance

{"action":"balance"}

Plans

{"action":"plans"}

Create License

{
  "action": "create_license",
  "plan": "pro",
  "customer_email": "enduser@example.com",
  "note": "WHMCS order #1234"
}

Renew License

{
  "action": "renew_license",
  "license_key": "SB-XXXXXXXX-XXXXXXXX-XXXXXXXX",
  "plan": "pro"
}

Reissue / Unbind

{
  "action": "unbind_license",
  "license_key": "SB-XXXXXXXX-XXXXXXXX-XXXXXXXX"
}

Endpoint

POST https://soft.servercone.com/api.php

The plans response returns the authenticated customer's effective price. If admin set a custom per-customer price, price_cents is the custom price and base_price_cents is the default plan price. Promo codes are used in the customer portal order flow.

API calls are rate-limited per token and logged in the admin panel for audit. Admins can also restrict reseller API traffic to trusted billing server IPs with api_allowed_ips. Idempotency records are retained for the configured replay window.

Signed Payment Webhook

POST https://soft.servercone.com/payment-webhook.php
X-Cpstackbackup-Signature: sha256=<hex-or-base64-hmac>

Sign the raw JSON body with HMAC-SHA256 using payment_webhook_secret. Send order_number, status, provider, optional event_id, amount_cents, and currency. Paid callbacks approve pending orders automatically.

Full Markdown documentation is included in the private package as API.md.