Ana içeriğe geç

Güvenlik

Paylox entegrasyonunuzun güvenliğini sağlamak için uyulması gereken kurallar.

API Key Güvenliği

  • API Key'inizi asla frontend kodunda bulundurmayın
  • API Key sadece backend (sunucu tarafı) isteklerinde kullanılmalıdır
  • API Key'i environment variable olarak saklayın:
# .env dosyası
PAYLOX_API_KEY=fbd654ad-6448-4cbc-9780-5cdd3eadb677
# Python
import os
api_key = os.environ["PAYLOX_API_KEY"]
// Node.js
const apiKey = process.env.PAYLOX_API_KEY;

Hash Doğrulama

Ödeme isteklerinde hash_data alanı, isteğin bütünlüğünü doğrulamak için kullanılır. Hash şu formülle hesaplanır:

hash_data = Base64(SHA256(application_key + order_id + amount + secret_key))
import hashlib
import base64

def compute_hash(application_key, order_id, amount, secret_key):
raw = f"{application_key}{order_id}{amount}{secret_key}"
sha256 = hashlib.sha256(raw.encode()).digest()
return base64.b64encode(sha256).decode()
bilgi

Hash doğrulama, FastAPI middleware tarafından otomatik yapılır. Hosted Checkout veya Shadow DOM Widget kullanıyorsanız bu adımı yapmanız gerekmez.

Callback Doğrulama

Callback URL'ine gelen isteğin gerçekten Paylox'tan geldiğini doğrulamak zorunludur:

# Callback'i aldıktan sonra mutlaka API'den doğrulayın
status = requests.get(
f"https://api.paylox.io/api/v1/payment/status/{order_id}",
params={"session_id": session_id}
)
if status.json()["status"] == "completed":
# Ödeme gerçekten tamamlanmış
process_order()

HTTPS Zorunluluğu

  • Tüm API istekleri HTTPS üzerinden yapılmalıdır
  • Callback URL'leriniz de HTTPS olmalıdır
  • HTTP istekleri reddedilir

Content Security Policy (CSP)

Shadow DOM Widget kullanıyorsanız, CSP header'ınıza şunları ekleyin:

Content-Security-Policy:
script-src 'self' https://checkout.paylox.io;
connect-src 'self' https://api.paylox.io;
frame-src https://checkout.paylox.io;