Skip to main content

Ndeight API

Developer documentation covers payments, webhooks, organization & merchant settings, currencies, payment links (dashboard-only), and subscriptions (merchant lifecycle; USD/EUR).

Base URL

https://api.sandbox.nd8.com/api

Use Sandbox or Production in the API Reference when both are listed; set API_BASE_URL (and sandbox URL if applicable) in your environment.

Quick overview

TopicWhat it is
AuthenticationAPI keys for server-to-server calls
Create paymentPOST /api/checkout/create/ — hosted checkout (USD or EUR; currency optional, defaults USD)
Currencies (USD & EUR)Supported charge currencies
Organization & merchantOrg profile, API keys, webhooks (dashboard session)
Payment links (dashboard)Shareable links — created in the dashboard, not with API keys
SubscriptionsRecurring billing — USD/EUR; merchant lifecycle via dashboard
WebhooksPayment status events to your endpoint
Deposit attemptsCard retry / decline history on payments
Get payment by idGET /api/transactions/<id>/
RefundsPOST /api/transactions/<id>/refund/, list/get refunds

Two ways to call the API

  1. API keyAuthorization: Api-Key … for checkout, payment reads, and refunds (integration from your backend).
  2. Dashboard sessionAuthorization: Token … for organization, payment links, and other merchant tools while a user is logged into the web app (Organization & merchant).

Payment links are only available with dashboard session authentication, not API keys (Payment links).

1. Create payment

Start a payment (hosted checkout):

  • POST /api/checkout/create/ — Requires API key. Send billing, products, optional currency (USD or EUR, defaults USD); receive checkout_url and token.
  • Redirect the customer to checkout_url. On completion or failure, use webhooks or Get payment by id.

Details: Create payment.

2. Webhooks

Configure Endpoint URL and Secret under Organization → API & Webhooks in the dashboard.

  • Event transaction.status_changed includes payment identifiers, amount, status, currency, depositAttempts, timestamps.
  • Verify with X-Webhook-Signature (HMAC-SHA256 of the raw body).

Details: Webhooks.

3. Get payment by id

  • GET /api/transactions/<id>/ — Requires API key. Use the public ID (e.g. TXabc123) or numeric id.

Details: Get payment by id.