Python
Python ile Paylox API entegrasyonu. requests kütüphanesi kullanarak temel işlemleri gösterir.
Kurulum
pip install requests
Yardımcı Sınıf
import os
import requests
class PayloxClient:
def __init__(self):
self.api_url = os.environ.get("PAYLOX_API_URL", "https://api.jetcheckout.com/api/v1")
self.api_key = os.environ["PAYLOX_API_KEY"]
def create_session(self, amount, customer, success_url, fail_url):
response = requests.post(
f"{self.api_url}/embedded/session",
json={
"merchant_api_key": self.api_key,
"amount": amount,
"currency": "TRY",
"customer": customer,
"success_url": success_url,
"fail_url": fail_url,
}
)
response.raise_for_status()
return response.json()
def get_payment_status(self, order_id, session_id):
response = requests.get(
f"{self.api_url}/payment/status/{order_id}",
params={"session_id": session_id}
)
response.raise_for_status()
return response.json()
def refund(self, order_id, session_id, amount=None):
body = {"order_id": order_id, "session_id": session_id}
if amount:
body["amount"] = amount
response = requests.post(f"{self.api_url}/payment/refund", json=body)
response.raise_for_status()
return response.json()
Kullanım
client = PayloxClient()
session = client.create_session(
amount=15000,
customer={
"name": "Ayşe",
"surname": "Demir",
"email": "[email protected]",
"phone": "+905551234567"
},
success_url="https://yoursite.com/payment/success",
fail_url="https://yoursite.com/payment/fail"
)
print(f"Session ID: {session['session_id']}")
print(f"Checkout URL: {session['checkout_url']}")
Flask Örneği
from flask import Flask, request, redirect, render_template
app = Flask(__name__)
client = PayloxClient()
@app.route("/checkout", methods=["POST"])
def checkout():
session = client.create_session(
amount=int(request.form["amount"]),
customer={
"name": request.form["name"],
"surname": request.form["surname"],
"email": request.form["email"]
},
success_url=f"{request.host_url}payment/success",
fail_url=f"{request.host_url}payment/fail"
)
return redirect(session["checkout_url"])
@app.route("/payment/success")
def payment_success():
order_id = request.args.get("order_id")
session_id = request.args.get("session_id")
status = client.get_payment_status(order_id, session_id)
if status.get("success") and status.get("status") == "completed":
return render_template("success.html", order_id=order_id)
return render_template("error.html")
Django Örneği
from django.http import JsonResponse
from django.shortcuts import redirect
def create_checkout(request):
client = PayloxClient()
session = client.create_session(
amount=15000,
customer={
"name": request.POST["name"],
"surname": request.POST["surname"],
"email": request.POST["email"]
},
success_url=request.build_absolute_uri("/payment/success/"),
fail_url=request.build_absolute_uri("/payment/fail/")
)
return redirect(session["checkout_url"])