Tek Çekim Ödeme
Müşterinizden tek seferde ödeme almak için adım adım rehber.
Akış
Adım 1: Session Oluşturun
import requests
import os
response = requests.post(
"https://api.jetcheckout.com/api/v1/embedded/session",
json={
"merchant_api_key": os.environ["PAYLOX_API_KEY"],
"amount": 9990,
"currency": "TRY",
"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"
}
)
data = response.json()
session_id = data["session_id"]
checkout_url = data["checkout_url"]
Adım 2: Müşteriyi Ödeme Sayfasına Yönlendirin
Hosted Checkout
from flask import redirect
@app.route("/checkout")
def checkout():
return redirect(checkout_url)
Embedded Checkout
<script src="https://checkout.paylox.io/sdk/paylox.js"></script>
<div id="paylox-checkout"></div>
<script>
Paylox.init({
sessionId: "ses_xxx",
container: "#paylox-checkout",
onSuccess: function(data) {
window.location.href = "/payment/success?order_id=" + data.order_id;
},
onFail: function(error) {
window.location.href = "/payment/fail?message=" + error.message;
}
});
</script>
Adım 3: Ödeme Sonucunu Doğrulayın
@app.route("/payment/success")
def payment_success():
order_id = request.args.get("order_id")
session_id = request.args.get("session_id")
status = requests.get(
f"https://api.jetcheckout.com/api/v1/payment/status/{order_id}",
params={"session_id": session_id}
).json()
if status["success"] and status["status"] == "completed":
update_order(order_id, "paid")
return render_template("success.html")
return render_template("error.html")