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

Confirm subscription checkout session

POST
/api/v1/subscriptions/checkout-sessions/{checkoutSessionUid}/confirm
Subscriptions

Request

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

Header Params

Body Params application/json

Examples

Responses

🟢200OK
application/json
Checkout session confirmed
Body

🟠400Bad Request
🟠404Record Not Found
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v1/subscriptions/checkout-sessions//confirm' \
--header 'x-business-id;' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "walletAddress": "string",
    "tokenId": "string",
    "limits": {
        "capAmount": "string",
        "maxPerCharge": "string"
    },
    "schedule": {
        "periodSeconds": 0,
        "nextDue": 0,
        "expiry": 0
    }
}'
Response Response Example
200 - sample
{
    "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "decimals": 18,
        "chainId": 56
    },
    "auth": {
        "merchantId": "merchant_123",
        "authId": "auth_456",
        "spender": "0x1234567890123456789012345678901234567890",
        "collector": "0x0987654321098765432109876543210987654321"
    },
    "allowance": {
        "method": "approve",
        "spender": "0x1234567890123456789012345678901234567890",
        "requiredAllowanceUnits": "1000000000000000000000"
    },
    "eip712": {
        "domain": {
            "name": "SubscriptionSpender",
            "version": "1",
            "chainId": 56,
            "verifyingContract": "0x1234567890123456789012345678901234567890"
        },
        "types": {
            "EIP712Domain": [
                {
                    "name": "name",
                    "type": "string"
                },
                {
                    "name": "version",
                    "type": "string"
                },
                {
                    "name": "chainId",
                    "type": "uint256"
                },
                {
                    "name": "verifyingContract",
                    "type": "address"
                }
            ],
            "SubscriptionAuth": [
                {
                    "name": "merchantId",
                    "type": "string"
                },
                {
                    "name": "authId",
                    "type": "string"
                },
                {
                    "name": "subscriber",
                    "type": "address"
                },
                {
                    "name": "token",
                    "type": "address"
                },
                {
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "name": "period",
                    "type": "uint256"
                },
                {
                    "name": "deadline",
                    "type": "uint256"
                }
            ]
        },
        "message": {
            "merchantId": "merchant_123",
            "authId": "auth_456",
            "subscriber": "0xabcdef1234567890abcdef1234567890abcdef12",
            "token": "0x55d398326f99059fF775485246999027B3197955",
            "amount": "1000000000000000000000",
            "period": 2592000,
            "deadline": 1704110400
        }
    },
    "preview": {
        "type": "TRIAL",
        "fromAmountHuman": "10.00",
        "fromAmountUnits": "10000000000000000000",
        "expiresAt": 1704110400
    }
}
Modified at 2025-09-15 21:23:04
Previous
Get a subscription checkout session by UID
Next
Get stablecoin currencies supported for subscriptions
Built with