API Entegrasyonu

Entegrasyon Dokümantasyonu

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

API Kimlik Doğrulama

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
Test HTTP Header Bilgileri
Authorization: Bearer PPMRC_123456
X-SECRET-KEY: sk_test_abc123xyz789secret
Content-Type: application/json

Ödeme Oturumu Oluşturma

Bilgi Açıklama
HTTP Method POST
Endpoint /checkout/sessions
URL https://paypas.com.tr/api/v1/checkout/sessions

Parametreler

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)

Örnek Ödeme İsteği Oluşturma

$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())
        
Başarılı Response
200 OK Json Response
{
  "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
}

Ödeme Akışı

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

Ödeme Sorgulama

HTTP Method GET
Endpoint /checkout/sessions/{session_id}
Örnek https://paypas.com.tr/api/v1/checkout/sessions/cs_test_xxxxxxxxx
cURL Örneği
curl https://paypas.com.tr/api/v1/checkout/sessions/cs_test_xxxxxxxxx \
-H "Authorization: Bearer PPMRC_123456" \
-H "X-SECRET-KEY: sk_test_abc123xyz789secret"
Başarılı Response
{
"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 Değerleri
Status Açıklama
pending Ödeme henüz tamamlanmadı
completed Ödeme başarılı
failed Ödeme başarısız

Merchant Order ID ile Ödeme Sorgulama

HTTP Method GET
Endpoint /checkout/sessions/order/{merchant_order_id}
Örnek https://paypas.com.tr/api/v1/checkout/sessions/order/ORDER_10
cURL Örneği
curl https://paypas.com.tr/api/v1/checkout/sessions/order/ORDER_10 \
-H "Authorization: Bearer PPMRC_123456" \
-H "X-SECRET-KEY: sk_test_abc123xyz789secret"
Başarılı Response
{
"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
}