vellTRDocs

Kvell API Documentation

Everything you need to integrate payments, payouts, and financial services into your application with the Kvell platform.

Quick Start

Create your first payment session in seconds. Use your API key and secret to authenticate, then send a POST request to create a session.

Base URLs

Sandbox

https://api.pay.sandbox.kvell.group

Production

https://api.pay.kvell.group

Authentication

All requests require three headers:

  • X-Api-Key: Your merchant API key
  • X-Signature: hex HMAC-SHA256 over timestamp, method, path, and body hash
  • X-Timestamp: ISO 8601 UTC request time (validated within ±5 minutes)
TypeScriptCreate a Payment
import { createHash, createHmac } from "node:crypto";

const body = JSON.stringify({
  transactionId: "ORDER-2026-001",
  amount: 15000,       // 150.00 TRY (integer kuruş)
  currency: "TRY",
  description: "Order #1234",
  returnUrl: "https://yoursite.com/return",
});

// Sign: "{timestamp}\nPOST\n/v1/payments/sessions\n{sha256(body)}"
const timestamp = new Date().toISOString();
const bodyHash = createHash("sha256").update(body).digest("hex");
const signature = createHmac("sha256", process.env.KVELL_SECRET_KEY)
  .update(timestamp + "\nPOST\n/v1/payments/sessions\n" + bodyHash)
  .digest("hex");

const response = await fetch(
  "https://api.pay.sandbox.kvell.group/v1/payments/sessions",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-Api-Key": process.env.KVELL_API_KEY,
      "X-Signature": signature,
      "X-Timestamp": timestamp,
    },
    body,
  }
);

const session = await response.json();
// => { sessionId: "3f1c…", checkoutUrl: "https://pay.kvell.group/s/…" }

API Categories

Explore the complete Kvell API across seven major domains.

8 endpoints

Payments

Accept card payments and TR QR. Create checkout sessions, charge tokenized cards (3DS 2.0), preauth/capture/void, and refund.

View endpoints
2 endpoints

Installments

Look up eligible installment (taksit) plans and commission rates for a card BIN and amount, and resolve BIN metadata.

View endpoints
9 endpoints

Customers

Manage customer records and saved-card tokens, then charge saved cards without handling PANs.

View endpoints
7 endpoints

Transactions

Query transaction status, list with filtering and keyset pagination, inspect ledger legs, and export registries.

View endpoints
10 endpoints

Invoices

Issue hosted payment links. Create, send or activate, cancel, and render PDFs; buyers pay via the public link.

View endpoints
12 endpoints

Subscriptions

Recurring billing on saved cards. Create, pause, resume, retry, cancel, and trigger immediate charges.

View endpoints
9 endpoints

Payouts

Disburse to TR IBANs via FAST or EFT, or to cards via OCT. Query outstanding balances and run bulk payout drafts.

View endpoints
3 endpoints

Disputes

Handle chargebacks. List chargebacks on a payment, then accept (concede) or reverse (won representment).

View endpoints
6 endpoints

Webhooks

Register endpoints and inspect deliveries. Kvell sends signed event POSTs with tiered retries and a dead-letter queue.

View endpoints
2 endpoints

Marketplace

Split payments across submerchants and pay submerchants out. Onboarding and KYC are handled in the dashboard.

View endpoints
2 endpoints

Onboarding & KYC

Read merchant/submerchant KYC status and introspect the authenticated subject. Payments require an approved status.

View endpoints

Build with AI

These docs are machine-readable — bring your copilot.

llms.txtEvery page as markdown, indexed for LLMs and agents.MCP serverConnect Kvell docs to Claude Code, Cursor, or ChatGPT.
Ask an assistantOpen these docs in your AI chat and ask integration questions.