Ana içeriğe geç

Güvenlik Modeli

Paylox entegrasyonunuzun güvenliğini sağlamak için uyulması gereken kurallar ve mimari yaklaşımlar.

API Key Güvenliği

KuralAçıklama
Frontend'de kullanmayınAPI Key sadece sunucu tarafında olmalı
Environment variable.env dosyasında saklayın, koda yazmayın
Git'e commit etmeyin.gitignore'a .env ekleyin
PaylaşmayınAPI Key'i e-posta, Slack veya başka kanallarla paylaşmayın
PAYLOX_API_KEY=fbd654ad-6448-4cbc-9780-5cdd3eadb677
import os
api_key = os.environ["PAYLOX_API_KEY"]
const apiKey = process.env.PAYLOX_API_KEY;

Callback Doğrulama

Callback URL'ine gelen isteğin Paylox'tan geldiğini mutlaka doğrulayın:

status = requests.get(
f"https://api.jetcheckout.com/api/v1/payment/status/{order_id}",
params={"session_id": session_id}
)
if status.json()["status"] == "completed":
process_order()
tehlike

Callback URL parametrelerine doğrudan güvenmeyin. Kötü niyetli bir kişi sahte callback URL'i oluşturabilir.

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)

Embedded Checkout kullanıyorsanız, CSP header'ınıza şunları ekleyin:

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

Hash Doğrulama

Ödeme isteklerinde hash_data alanı, isteğin bütünlüğünü doğrulamak için kullanılı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, Paylox altyapısı tarafından otomatik yapılır. Hosted Checkout veya Embedded Checkout kullanıyorsanız bu adımı yapmanız gerekmez.