KuvarPay API
Home
Home
  1. Subscriptions
  • Overview
  • SDK Integration Guide
  • Webhooks Integration Guide
  • Subscriptions Guide
  • Transactions
    • Calculate required crypto amount for a fiat target
      POST
    • Create a new fiat transaction
      POST
    • Get transaction by ID
      GET
    • List transactions
      GET
    • Public transaction status by reference
      GET
    • Demo pay (sandbox/testing)
      POST
  • Checkout Sessions
    • Create a checkout session (returns authToken for SSE)
    • Get a checkout session
    • Receive payment status webhook for session
  • SSE
    • Subscribe to transaction updates (SSE)
    • Subscribe to session updates (SSE)
  • Currencies
    • List supported currencies
  • Sandbox
    • Simulate sandbox error scenarios for a transaction
    • Deliver a test webhook to a URL
    • List available sandbox error scenarios
    • Get sandbox environment info
    • Reset all sandbox data for your business (destructive)
  • Sandbox Simulator
    • Start the sandbox transaction simulator
    • Stop the sandbox transaction simulator
    • Get current status of the sandbox transaction simulator
    • Update simulator configuration
    • Force execute a specific scenario for a transaction (testing only)
    • Force execute a specific scenario for a transaction (URL param)
    • List pending sandbox transactions available for simulation
    • Reset sandbox transactions to PENDING for testing
  • Invoices
    • Create a new invoice
    • Send invoice email to customer
  • Payment Links
    • Create a new payment link
  • Subscriptions
    • Create subscription checkout session
      POST
    • Get a subscription checkout session by UID
      GET
    • Confirm subscription checkout session
      POST
    • Get stablecoin currencies supported for subscriptions
      GET
    • Submit relay authorization for subscription
      POST
    • Create a new subscription
      POST
    • Get a subscription by UID
      GET
    • Get relay authorization status for a subscription
      GET
    • Update a subscription
      PATCH
    • Cancel a subscription
      DELETE
    • Create a new subscription plan
      POST
    • List subscription plans
      GET
    • Get a subscription plan by UID
      GET
    • Update a subscription plan
      PATCH
    • Create a price for a subscription plan
      POST
    • Get prices for a subscription plan
      GET
    • Update a subscription price
      PATCH
    • Create a subscription invoice
      POST
    • List subscription invoices
      GET
    • Create a metered subscription invoice
      POST
    • Get a subscription invoice by UID
      GET
    • Charge a subscription invoice
      POST
    • Get charge attempts for an invoice
      GET
  • Payment Fiat Rates
    • Get fiat rate for a specific currency
    • Get multiple fiat rates
    • Update NGN rate from CryptoCompare
    • Update all supported fiat rates
    • Get Flutterwave transfer rates (debug/testing)
    • List supported bank transfer and mobile money currencies
    • Clear the fiat rates cache
    • Get cache statistics
  • Transfer Fees
    • Get transfer fee for a specific amount and currency
    • Get optimal transfer fee (bank vs mobile money)
    • Get all stored transfer fees
    • Manually update transfer fees from Flutterwave
    • Get currencies supported for transfers
  • Schemas
    • Schemas
      • CalculatePaymentRequest
      • CalculatePaymentResponse
      • CreateTransactionRequest
      • Transaction
      • CreateTransactionResponse
      • CheckoutSessionCreateRequest
      • CheckoutSession
      • CheckoutSessionDetails
      • CheckoutSessionGetResponse
      • PaymentStatusWebhookPayload
      • SimpleAck
      • ErrorResponse
      • CurrenciesResponse
      • SandboxDeliveryResult
      • SandboxSimulateErrorRequest
      • SandboxSimulateErrorResponse
      • SandboxTestWebhookRequest
      • SandboxTestWebhookResponse
      • SandboxErrorScenariosResponse
      • SandboxInfoResponse
      • SandboxResetRequest
      • SandboxResetResponse
      • CreateInvoiceRequest
      • CreateSubscriptionCheckoutSessionRequest
      • InvoiceResponse
      • CreateSubscriptionCheckoutSessionResponse
      • CreateInvoiceResponse
      • ConfirmSubscriptionCheckoutSessionRequest
      • SendInvoiceEmailRequest
      • ConfirmSubscriptionCheckoutSessionResponse
      • SendInvoiceEmailResponse
      • SubscriptionCurrency
      • CreatePaymentLinkRequest
      • SubscriptionCurrenciesResponse
      • PaymentLinkResponse
      • CreatePaymentLinkResponse
      • CreateSubscriptionRequest
      • Subscription
      • UpdateSubscriptionRequest
      • SubscriptionResponse
      • CreatePlanRequest
      • UpdatePlanRequest
      • SubscriptionPlan
      • CreatePriceRequest
      • UpdatePriceRequest
      • SubscriptionPrice
      • PlanResponse
      • PlansListResponse
      • PriceResponse
      • PricesListResponse
      • SubscriptionInvoice
      • ChargeInvoiceRequest
      • ChargeAttempt
      • InvoicesListResponse
      • ChargeResponse
      • ChargeAttemptsListResponse
      • SubscriptionCheckoutSession
      • SubscriptionCheckoutSessionResponse
  1. Subscriptions

Create subscription checkout session

POST
/api/v1/subscriptions/checkout-sessions
Subscriptions
Create a new subscription checkout session for either FIXED or METERED billing.
šŸ“– For detailed implementation guide, see: Subscriptions Documentation

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Header Params

Body Params application/json

Examples

Responses

🟢201Created
application/json
Checkout session created
Body

🟠400Bad Request
🟠401Unauthorized
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v1/subscriptions/checkout-sessions' \
--header 'x-business-id;' \
--header 'Idempotency-Key;' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "priceUid": "string",
    "billingMode": "FIXED",
    "targetPrice": {
        "targetCurrency": "NGN",
        "targetAmount": "1000.00"
    },
    "customer": {
        "email": "user@example.com",
        "firstName": "string",
        "lastName": "string"
    },
    "successUrl": "http://example.com",
    "cancelUrl": "http://example.com"
}'
Response Response Example
201 - sample
{
    "checkoutSession": {
        "uid": "cs_1234567890abcdef",
        "approval_url": "https://checkout.kuvarpay.com/approve/cs_1234567890abcdef"
    },
    "subscription": {
        "uid": "sub_abcdef1234567890"
    },
    "customer": {
        "uid": "cus_fedcba0987654321"
    }
}
Modified atĀ 2025-09-15 21:23:04
Previous
Create a new payment link
Next
Get a subscription checkout session by UID
Built with