Merchant role users create one private key here.
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.
Your backend calls POST /api/ascent/send with amount and order details.
When paid, the API key owner receives the money. Sessions expire after about 5 minutes.
Merchant keys
Access neededAnyone can read this page. Creating keys requires Merchant access, and each account can keep one active merchant API 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
- Customer signs in with Ascent if they are not already signed in.
- Customer chooses Wallet, Credit card, or Wallet + Credit card in one form.
- Payment money is credited to the Ascent account that owns the API key.
- Merchant only receives final payment status and session token. Frozen or revoked keys cannot create new checkouts.
- Use
Idempotency-Keyper order to stop duplicate sessions.