KuvarPay API
Home
Home
  1. Payment Links
  • 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)
      POST
    • Get a checkout session
      GET
    • Receive payment status webhook for session
      POST
  • SSE
    • Subscribe to transaction updates (SSE)
      GET
    • Subscribe to session updates (SSE)
      GET
  • Currencies
    • List supported currencies
      GET
  • Sandbox
    • Simulate sandbox error scenarios for a transaction
      POST
    • Deliver a test webhook to a URL
      POST
    • List available sandbox error scenarios
      GET
    • Get sandbox environment info
      GET
    • Reset all sandbox data for your business (destructive)
      DELETE
  • Sandbox Simulator
    • Start the sandbox transaction simulator
      POST
    • Stop the sandbox transaction simulator
      POST
    • Get current status of the sandbox transaction simulator
      GET
    • Update simulator configuration
      PUT
    • Force execute a specific scenario for a transaction (testing only)
      POST
    • Force execute a specific scenario for a transaction (URL param)
      POST
    • List pending sandbox transactions available for simulation
      GET
    • Reset sandbox transactions to PENDING for testing
      POST
  • Invoices
    • Create a new invoice
    • Send invoice email to customer
  • Payment Links
    • Create a new payment link
      POST
  • Subscriptions
    • Create subscription checkout session
    • Get a subscription checkout session by UID
    • Confirm subscription checkout session
    • Get stablecoin currencies supported for subscriptions
    • Submit relay authorization for subscription
    • Create a new subscription
    • Get a subscription by UID
    • Get relay authorization status for a subscription
    • Update a subscription
    • Cancel a subscription
    • Create a new subscription plan
    • List subscription plans
    • Get a subscription plan by UID
    • Update a subscription plan
    • Create a price for a subscription plan
    • Get prices for a subscription plan
    • Update a subscription price
    • Create a subscription invoice
    • List subscription invoices
    • Create a metered subscription invoice
    • Get a subscription invoice by UID
    • Charge a subscription invoice
    • Get charge attempts for an invoice
  • 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. Payment Links

Create a new payment link

POST
/api/v1/payment-links
Payment Links

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
Payment link created successfully
Body

🟠400Bad Request
🟠401Unauthorized
🟠409409
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location --request POST '/api/v1/payment-links' \
--header 'x-business-id;' \
--header 'Idempotency-Key;' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "title": "Premium Subscription",
    "description": "Monthly premium subscription with advanced features",
    "amount": 25000,
    "currency": "NGN",
    "slug": "premium-subscription",
    "expiresAt": "2025-12-31T23:59:59Z"
}'
Response Response Example
201 - sample
{
    "success": true,
    "message": "Payment link created successfully",
    "data": {
        "id": "pl_123456",
        "businessId": "biz_123",
        "title": "Premium Subscription",
        "description": "Monthly premium subscription with advanced features",
        "slug": "premium-subscription",
        "amount": "25000",
        "currency": "NGN",
        "status": "ACTIVE",
        "paymentUrl": "https://payment.rayswap.exchange/pay/premium-subscription",
        "isActive": true,
        "transactionCount": 0,
        "expiresAt": "2025-12-31T23:59:59Z",
        "createdAt": "2025-01-01T12:00:00Z",
        "updatedAt": "2025-01-01T12:00:00Z"
    }
}
Modified at 2025-09-04 20:35:45
Previous
Send invoice email to customer
Next
Create subscription checkout session
Built with