Ascent™
Discord login

Ascent™ API

Merchant checkout

Create one payment session from your website backend, redirect the customer to Ascent™, then check the payment status after they pay. Money goes to the merchant account that owns the API key.

API ready
1 Create key

Merchant role users create one private key here.

2 Create payment

Your backend calls POST /api/ascent/send with amount and order details.

3 Redirect customer

When paid, the API key owner receives the money. Sessions expire after about 5 minutes.

Merchant keys

Access needed

Anyone can read this page. Creating keys requires Merchant access, and each account can keep one active merchant API key.

Sign in neededSign in with Discord to check merchant access.

Sign in to create a merchant key

Your merchant key

Sign in with Discord to manage your merchant key.

Minimal backend example

Call this from your server only. Do not put the API key in browser JavaScript.

const res = await fetch("https://ascentmc.bank.si/api/ascent/send", {
  method: "POST",
  headers: {
    "Authorization": "Bearer asc_live_your_key_here",
    "Content-Type": "application/json",
    "Idempotency-Key": "order-123"
  },
  body: JSON.stringify({
    merchant: "Ascent LLCS",
    amount: "500.00",
    description: "VIP package",
    order_id: "order-123",
    return_url: "https://merchant.example/success",
    cancel_url: "https://merchant.example/cancel"
  })
});
const data = await res.json();
if (!data.ok) throw new Error(data.error);
// Redirect the customer to data.checkout_url

Response

{
  "ok": true,
  "checkout_url": "/checkout/abc123...",
  "token": "abc123...",
  "status_url": "/api/ascent/send/abc123.../status",
  "expires_in_seconds": 300
}

The checkout link lasts about 5 minutes. If it expires, create a new session for the same order.

Status check

GET /api/ascent/send/{token}/status

Returns status, merchant, amount, order ID, created time, and expiry time. It never returns user balances, Discord tokens, card CVC, or private account data.

Common errors

  • 401: missing or wrong API key.
  • 403: API disabled, key frozen/revoked by staff, merchant payments locked, or merchant role grace expired.
  • 400: invalid amount, return URL, or merchant name mismatch.
  • expired: checkout took longer than 5 minutes.

Checkout behavior