PayPas ödeme altyapısını web sitenize entegre etmek için gerekli tüm API bilgilerinin yer aldığı geliştirici dokümantasyonu.
| Base URL | https://paypas.com.tr/api/v1 |
| Veri Formatı | JSON |
| Kimlik Doğrulama | Bearer Merchant Key + Secret Key |
| Desteklenen Para Birimleri | TRY, USD, EUR |
Tüm API isteklerinde Merchant API anahtarınız ve Secret Key bilgisi header içerisinde gönderilmelidir.
| Header | Açıklama |
|---|---|
| Authorization | Bearer MERCHANT_API_KEY |
| X-SECRET-KEY | Merchant Secret Key |
| Content-Type | application/json |
| Bilgi | Açıklama |
|---|---|
| HTTP Method | POST |
| Endpoint | /checkout/sessions |
| URL | https://paypas.com.tr/api/v1/checkout/sessions |
| Parametre | Açıklama |
|---|---|
| mode | payment (zorunlu) |
| success_url | Ödeme başarılı olduğunda yönlendirilecek adres (zorunlu) |
| cancel_url | Ödeme iptal edildiğinde yönlendirilecek adres (zorunlu) |
| client_reference_id | Merchant sipariş numarası (zorunlu) |
| color_code | Tema rengi (opsiyonel) |
| customer | Müşteri bilgileri (opsiyonel) |
| line_items | Ürün listesi (zorunlu) |
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://paypas.com.tr/api/v1/checkout/sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
"mode" => "payment",
"color_code" => "#2563eb",
"success_url" => "https://site.com/success",
"cancel_url" => "https://site.com/cancel",
"client_reference_id" => "ORDER_10",
"customer" => [
"name" => "Ali Veli",
"email" => "[email protected]",
"phone" => "+905555555555"
],
"line_items" => [[
"price_data" => [
"currency" => "TRY",
"unit_amount" => 15000,
"product_data" => ["name" => "Premium Paket"]
],
"quantity" => 1
]]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer PPMRC_123456",
"X-SECRET-KEY: sk_test_abc123xyz789secret",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'Authorization' => 'Bearer PPMRC_123456',
'X-SECRET-KEY' => 'sk_test_abc123xyz789secret'
])->post('https://paypas.com.tr/api/v1/checkout/sessions', [
'mode' => 'payment',
'color_code' => '#2563eb',
'success_url' => 'https://site.com/success',
'cancel_url' => 'https://site.com/cancel',
'client_reference_id' => 'ORDER_10',
'customer' => [
'name' => 'Ali Veli',
'email' => '[email protected]',
'phone' => '+905555555555'
],
'line_items' => [[
'price_data' => [
'currency' => 'TRY',
'unit_amount' => 15000,
'product_data' => ['name' => 'Premium Paket']
],
'quantity' => 1
]]
]);
return $response->json();
const axios = require('axios');
const data = {
mode: "payment",
success_url: "https://site.com/success",
cancel_url: "https://site.com/cancel",
client_reference_id: "ORDER_10",
color_code: "#2563eb",
customer: {
name: "Ali Veli",
email: "[email protected]",
phone: "+905555555555"
},
line_items: [{
price_data: {
currency: "TRY",
unit_amount: 15000,
product_data: { name: "Premium Paket" }
},
quantity: 1
}]
};
axios.post('https://paypas.com.tr/api/v1/checkout/sessions', data, {
headers: {
'Authorization': 'Bearer PPMRC_123456',
'X-SECRET-KEY': 'sk_test_abc123xyz789secret'
}
}).then(res => console.log(res.data));
import requests
url = "https://paypas.com.tr/api/v1/checkout/sessions"
headers = {
"Authorization": "Bearer PPMRC_123456",
"X-SECRET-KEY": "sk_test_abc123xyz789secret",
"Content-Type": "application/json"
}
payload = {
"mode": "payment",
"color_code": "#2563eb",
"success_url": "https://site.com/success",
"line_items": [{
"price_data": {
"currency": "TRY",
"unit_amount": 15000,
"product_data": {"name": "Premium Paket"}
},
"quantity": 1
}]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"id": "cs_live_wsh4ZKCTCAyPRLdnLGVWpDSQX5AwokG",
"object": "checkout.session",
"mode": "payment",
"client_reference_id": "ORDER_10",
"status": "open",
"payment_status": "unpaid",
"amount_total": 15000,
"currency": "TRY",
"livemode": true,
"url": "https://paypas.com.tr/checkout/cs_live...",
"created": 1776424703
}
Checkout session oluşturulduktan sonra API size bir url döndürür. Bu URL PayPas ödeme sayfasıdır.
Müşterinizi bu sayfaya yönlendirerek ödeme işlemini tamamlamasını sağlayabilirsiniz.
"url":"https://paypas.com.tr/checkout/cs_test_xxxxxxxxx"
Ödeme tamamlandıktan sonra PayPas aşağıdaki adreslere yönlendirme yapar:
success_url → ödeme başarılı
cancel_url → ödeme iptal edildi
Bu URL'lerin sonuna otomatik olarak session_id parametresi eklenir.
https://site.com/success_url?session_id=cs_test_xxxxx
| HTTP Method | GET |
| Endpoint | /checkout/sessions/{session_id} |
| Örnek | https://paypas.com.tr/api/v1/checkout/sessions/cs_test_xxxxxxxxx |
curl https://paypas.com.tr/api/v1/checkout/sessions/cs_test_xxxxxxxxx \ -H "Authorization: Bearer PPMRC_123456" \ -H "X-SECRET-KEY: sk_test_abc123xyz789secret"
{
"id":"cs_test_xxxxxxxxx",
"object":"checkout.session",
"status":"completed",
"client_reference_id":"ORDER_10",
"payment_status":"paid",
"amount_total":15000,
"currency":"TRY",
"response_message":"Payment successful",
"customer_email":"[email protected]",
"created":1718200000
}
| Status | Açıklama |
|---|---|
| pending | Ödeme henüz tamamlanmadı |
| completed | Ödeme başarılı |
| failed | Ödeme başarısız |
| HTTP Method | GET |
| Endpoint | /checkout/sessions/order/{merchant_order_id} |
| Örnek | https://paypas.com.tr/api/v1/checkout/sessions/order/ORDER_10 |
curl https://paypas.com.tr/api/v1/checkout/sessions/order/ORDER_10 \ -H "Authorization: Bearer PPMRC_123456" \ -H "X-SECRET-KEY: sk_test_abc123xyz789secret"
{
"id":"cs_test_xxxxxxxxx",
"merchant_order_id":"ORDER_10",
"object":"checkout.session",
"status":"completed",
"payment_status":"paid",
"amount_total":15000,
"currency":"TRY",
"response_message":"Payment successful",
"customer_email":"[email protected]",
"paid_at":1718200050,
"created":1718200000
}