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ı!")