Create your first payment session in seconds. Use your API key and secret to authenticate, then send a POST request to create a session.
Sandbox
https://api.pay.sandbox.kvell.groupProduction
https://api.pay.kvell.groupAll requests require three headers:
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/…" }Follow this order and you will be taking live payments the same week.
Explore the complete Kvell API across seven major domains.
Accept card payments and TR QR. Create checkout sessions, charge tokenized cards (3DS 2.0), preauth/capture/void, and refund.
View endpointsLook up eligible installment (taksit) plans and commission rates for a card BIN and amount, and resolve BIN metadata.
View endpointsManage customer records and saved-card tokens, then charge saved cards without handling PANs.
View endpointsQuery transaction status, list with filtering and keyset pagination, inspect ledger legs, and export registries.
View endpointsIssue hosted payment links. Create, send or activate, cancel, and render PDFs; buyers pay via the public link.
View endpointsRecurring billing on saved cards. Create, pause, resume, retry, cancel, and trigger immediate charges.
View endpointsDisburse to TR IBANs via FAST or EFT, or to cards via OCT. Query outstanding balances and run bulk payout drafts.
View endpointsHandle chargebacks. List chargebacks on a payment, then accept (concede) or reverse (won representment).
View endpointsRegister endpoints and inspect deliveries. Kvell sends signed event POSTs with tiered retries and a dead-letter queue.
View endpointsSplit payments across submerchants and pay submerchants out. Onboarding and KYC are handled in the dashboard.
View endpointsRead merchant/submerchant KYC status and introspect the authenticated subject. Payments require an approved status.
View endpointsThese docs are machine-readable — bring your copilot.