Ana içeriğe geç

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