Skip to content

Admin Billing API

Admin-only endpoints for managing subscriptions, viewing revenue, processing refunds, and managing coupons. Requires instance admin authentication.

Subscriptions

List All Subscriptions

GET /api/admin/subscriptions/?offset=0&per_page=20

Get Subscription Detail

GET /api/admin/subscriptions/{subId}/

Revenue

Revenue Summary

GET /api/admin/revenue/

Response:

json
{
  "active_subscriptions": 42,
  "trial_subscriptions": 5,
  "mrr": 4195000,
  "revenue_30d": 8390000,
  "revenue_7d": 2097500,
  "currency": "TRY"
}

All monetary values are in kurus (1 TRY = 100 kurus). Divide by 100 for display.

Payments

List All Payments

GET /api/admin/payments/?offset=0&per_page=20

Refund a Payment

POST /api/admin/payments/{paymentId}/refund/

Request Body:

json
{
  "amount": 0
}

amount: 0 = full refund. Otherwise specify amount in kurus.

Invoices

List All Invoices

GET /api/admin/invoices/?offset=0&per_page=20

Get Invoice Detail

GET /api/admin/invoices/{invoiceId}/

Coupons

List Active Coupons

GET /api/admin/coupons/

Create Coupon

POST /api/admin/coupons/

Request Body:

json
{
  "code": "WELCOME20",
  "discount_type": "percent",
  "discount_value": 20,
  "max_redemptions": 100,
  "valid_from": "2026-04-01T00:00:00Z",
  "valid_until": "2026-12-31T23:59:59Z"
}
FieldTypeDescription
discount_typestringpercent (0-100) or fixed (kurus)
discount_valueintegerDiscount amount
max_redemptionsinteger0 = unlimited
applies_to_plansstring[]Empty = all plans

Delete Coupon

DELETE /api/admin/coupons/{couponId}/

Configuration

Billing Configuration

GET /api/admin/subscription-config/

Returns payment provider status (PayTR, Stripe, Iyzico), trial config, dunning config, and invoice settings.