Start a fee payment
Starts a fee payment through the school's own payment provider and returns the checkout link.
POSThttps://api.klasstack.com/v1/payments
- fees:write
- Billable
- Test key: example response
Authorizations
AuthorizationstringheaderrequiredYour secret key as a bearer token, in the form Bearer ks_live_sk_... or Bearer ks_test_sk_.... Keep it on your server. A test key gets the documented example and touches no school data.
Headers
idempotency-keystringheaderA key of your own that makes this write safe to retry: the same key returns the first response instead of writing again.
Body
application/json
amountintegersessionIdintegerstudentIdintegercallbackUrlstringpaymentMethodIdinteger
Response
200, application/json
dataobjectrequiredShow child attributesHide child attributes
transactionReferencestringrequiredstatusstringrequiredamountnumberrequiredMajor units of the school currency (naira for NGN), not kobo.
currencystringrequiredauthorizationUrlstring or nullrequiredThe provider's hosted checkout (the payment link). Null once paid.
paidbooleanrequired
metaobjectrequiredShow child attributesHide child attributes
request_idstringrequiredAlso returned in the X-Request-ID header.
paginationobjectShow child attributesHide child attributes
limitintegerrequiredRequired range: x <= 100
has_morebooleanrequirednext_cursorstring or nullrequiredSend this back as
cursorfor the next page. Opaque: never parse it.
Errors
- 401invalid_api_keyNo key was presented, or the key is not valid.
- 402insufficient_balanceThe school's service wallet cannot cover this call.
- 403insufficient_scopeThe app does not hold the scope this endpoint needs.
- 404endpoint_not_exposedThis endpoint is not part of the API.
- 429rate_limitedThe rate limit was reached. Retry after the Retry-After header says.
- 503platform_unavailableThe API is not available for this school right now.
What each code means, and what to do about it, is in the errors guide.
Webhook events
This call can trigger payment.succeeded. See the webhooks guide for the payload and how to verify it.