Skip to main content

Server-to-Server Entegrasyon

Ödeme sürecini tamamen kendi backend'inizden yönetmek istiyorsanız bu yöntemi kullanın. Kendi ödeme formunuzu oluşturur, kart bilgilerini doğrudan API'ye gönderirsiniz.

PCI DSS Uyarısı

Bu yöntem kart bilgilerinin sunucunuzdan geçmesini gerektirir. PCI DSS Level 1 sertifikanız yoksa, Hosted Checkout veya Shadow DOM Widget yöntemlerini tercih edin.

Akış

1. Backend → POST /checkout/session → session_id alınır
2. Frontend → Kart bilgileri backend'e gönderilir
3. Backend → POST /payment/pay → Ödeme sonucu alınır
4. 3D Secure varsa → Müşteri yönlendirilir → Callback gelir
5. Backend → GET /payment/status/{order_id} → Doğrulama yapılır

Adım 1: Session Oluşturun

import requests

session_resp = requests.post(
"https://api.paylox.io/api/v1/checkout/session",
json={
"merchant_api_key": "YOUR_API_KEY",
"amount": 15000,
"currency": "TRY",
"customer": {
"name": "Ayşe",
"surname": "Demir",
"email": "ayse@example.com",
"phone": "+905551234567",
},
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail",
}
)
session = session_resp.json()
session_id = session["session_id"]

Adım 2: Ödeme Yapın

payment_resp = requests.post(
"https://api.paylox.io/api/v1/payment/pay",
json={
"session_id": session_id,
"payment_type": "creditcard",
"card_holder_name": "AYSE DEMIR",
"card_number": "5388880000000055",
"expire_month": "12",
"expire_year": "2030",
"cvc": "000",
"is_3d": True,
"installment_count": "1",
}
)
result = payment_resp.json()

if result.get("redirect_url"):
# 3D Secure: Müşteriyi yönlendir
redirect_to(result["redirect_url"])
elif result.get("success"):
# Direkt ödeme başarılı
update_order_status("paid")

Adım 3: Ödeme Durumunu Doğrulayın

status_resp = requests.get(
f"https://api.paylox.io/api/v1/payment/status/{result['order_id']}",
params={"session_id": session_id}
)
status = status_resp.json()

if status["success"] and status["status"] == "completed":
print("Ödeme onaylandı!")