Ender Docs

Payments

Purchase credits using cryptocurrency through our secure payment system.

Overview

Top up your account with credits using cryptocurrency. We accept Bitcoin, Ethereum, USDT, and many other cryptocurrencies through OxaPay.

Exchange Rate

$1 USD = 300 Credits


Supported Cryptocurrencies

  • Bitcoin (BTC)
  • Ethereum (ETH)
  • USDT (TRC20/ERC20)
  • Litecoin (LTC)
  • And many more...

Create a Payment

Endpoint

POST /v1/payments/create

Request

ParameterTypeRequiredDescription
amountnumberAmount in USD ($1 - $10,000)

Example

curl -X POST https://api.ender.black/v1/payments/create \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 10}'

Response

{
  "success": true,
  "data": {
    "trackId": "oxapay-track-id",
    "paymentUrl": "https://pay.oxapay.com/...",
    "amount": 10,
    "credits": 3000,
    "expiresAt": "2026-01-01T01:00:00.000Z"
  }
}

Check Payment Status

Endpoint

GET /v1/payments/status/:trackId

Response

{
  "success": true,
  "data": {
    "trackId": "oxapay-track-id",
    "orderId": "ENDER-123456-ABCD",
    "amount": 10,
    "credits": 3000,
    "status": "PAID",
    "txStatus": "confirmed",
    "txConfirmations": 6,
    "paidAmount": 0.00045,
    "paidCurrency": "BTC",
    "paidAt": "2026-01-01T00:30:00.000Z",
    "expiresAt": "2026-01-01T01:00:00.000Z",
    "createdAt": "2026-01-01T00:00:00.000Z"
  }
}

Payment Statuses

StatusDescription
PENDINGAwaiting payment
CONFIRMINGPayment received, awaiting confirmations
PAIDPayment successful, credits added
EXPIREDInvoice timed out
FAILEDPayment failed

Payment Flow

  1. Create Invoice — Call /v1/payments/create with amount
  2. Redirect User — Open the paymentUrl for user to pay
  3. Poll Status — Check /v1/payments/status/:trackId periodically
  4. Credits Added — Once PAID, credits are automatically added

Invoice Expiration

Invoices expire after 60 minutes. If payment isn't completed in time, create a new invoice.


Purchase a Plan

You can also purchase a subscription plan via crypto payment:

POST /v1/payments/plan
{
  "plan": "PREMIUM"
}

On this page