Ana içeriğe geç

Sessions

Checkout session, bir ödeme işleminin başlangıç noktasıdır. Her ödeme almak istediğinizde önce bir session oluşturmanız gerekir.

Session Oluştur

POST /api/v1/embedded/session

İstek

{
"merchant_api_key": "fbd654ad-6448-4cbc-9780-5cdd3eadb677",
"amount": 15000,
"currency": "TRY",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "[email protected]",
"phone": "+905551234567",
"identity_number": "12345678901",
"ip_address": "192.168.1.1"
},
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail",
"metadata": {
"order_ref": "ORD-2025-042"
}
}

İstek Parametreleri

ParametreTipZorunluAçıklama
merchant_api_keystringEvetMerchant API Key
amountintegerEvetTutar (kuruş cinsinden, 1000 = 10,00 TL)
currencystringEvetPara birimi (TRY, USD, EUR)
customerobjectEvetMüşteri bilgileri
customer.namestringEvetMüşteri adı
customer.surnamestringEvetMüşteri soyadı
customer.emailstringEvetE-posta adresi
customer.phonestringHayırTelefon numarası
customer.identity_numberstringHayırTC kimlik numarası
customer.ip_addressstringHayırIP adresi
success_urlstringEvetBaşarılı ödeme yönlendirme URL'i
fail_urlstringEvetBaşarısız ödeme yönlendirme URL'i
metadataobjectHayırÖzel alanlar (callback'te geri döner)

Yanıt

{
"session_id": "ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"checkout_url": "https://checkout.paylox.io?session=ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"expires_at": "2025-01-15T14:30:00Z"
}
AlanTipAçıklama
session_idstringBenzersiz oturum kimliği
checkout_urlstringHosted Checkout sayfası URL'i
expires_atstringSession geçerlilik süresi (1 saat)

Kod Örnekleri

Python

import requests
import os

response = requests.post(
"https://api.jetcheckout.com/api/v1/embedded/session",
json={
"merchant_api_key": os.environ["PAYLOX_API_KEY"],
"amount": 15000,
"currency": "TRY",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "[email protected]"
},
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail"
}
)

data = response.json()
session_id = data["session_id"]
checkout_url = data["checkout_url"]

Node.js

const response = await fetch("https://api.jetcheckout.com/api/v1/embedded/session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
merchant_api_key: process.env.PAYLOX_API_KEY,
amount: 15000,
currency: "TRY",
customer: {
name: "Ahmet",
surname: "Yılmaz",
email: "[email protected]"
},
success_url: "https://yoursite.com/payment/success",
fail_url: "https://yoursite.com/payment/fail"
})
});

const { session_id, checkout_url } = await response.json();

PHP

<?php

$ch = curl_init("https://api.jetcheckout.com/api/v1/embedded/session");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'merchant_api_key' => getenv('PAYLOX_API_KEY'),
'amount' => 15000,
'currency' => 'TRY',
'customer' => [
'name' => 'Ahmet',
'surname' => 'Yılmaz',
'email' => '[email protected]'
],
'success_url' => 'https://yoursite.com/payment/success',
'fail_url' => 'https://yoursite.com/payment/fail'
]),
]);

$response = json_decode(curl_exec($ch), true);
$sessionId = $response['session_id'];
$checkoutUrl = $response['checkout_url'];

Hata Yanıtları

HTTP KoduAçıklama
400Eksik veya geçersiz parametre
401Geçersiz API Key
429Rate limit aşıldı
500Sunucu hatası
{
"detail": "merchant_api_key is required"
}