Ana içeriğe geç

Checkout

Güvenli bir ödeme sayfasında işlemleri gerçekleştirmek için bir checkout bağlantısı oluşturun. Bu, kart verilerinin PayPorter tarafından işlenmesi sayesinde PCI uyumluluk yükünüzü azaltır.

Müşterinizi yönlendirmek için benzersiz bir checkout URL'si oluşturun.

POST/api/checkout

İstek Parametreleri (Request Parameters)

ParametreZorunluTipAçıklama
orderIdEvetstringSipariş için benzersiz takip numaranız (örneğin, ORD-12345).
amountEvetnumberİşlem tutarı (örneğin, 100.50).
currencyEvetstringISO para birimi kodu (örneğin, TRY).
descriptionHayırstringSatın alma işleminin kısa özeti.
callbackEvetstringÖdeme işlendikten sonra çağrılacak URL.
customerIdHayırstringMüşteri için isteğe bağlı benzersiz tanımlayıcı.
maxInstallmentCountHayırnumberİzin verilen maksimum taksit sayısı (varsayılan: 1).
interestPaidByCustomerHayırbooleanTaksit faizinin müşteri tarafından ödenip ödenmeyeceği (varsayılan: false).

Yanıt (Response)

AlanTipAçıklama
checkoutIdstringCheckout işlemi için benzersiz tanımlayıcı (UUID).
redirectUrlstringKullanıcıyı ödemeyi tamamlaması için yönlendireceğiniz URL.

2. Kullanıcıyı Yönlendirme

redirectUrl parametresini aldıktan sonra, kullanıcının ödemesini PayPorter tarafından barındırılan güvenli sayfada tamamlaması için bu URL'ye yönlendirin.

3. Geri Dönüşün (Callback) İşlenmesi

Ödeme işlendikten sonra (başarılı veya başarısız), PayPorter form verisi olarak checkoutId parametresini içeren bir POST isteğini callback URL'nize gönderecektir.

4. Checkout Durumunu Sorgulama

Geri dönüş URL'sinde alınan checkoutId parametresini kullanarak işlemin nihai durumunu alın.

GET/api/checkout/{checkoutId}

Yol Parametreleri (Path Parameters)

ParametreTipAçıklama
checkoutIdstringGeri dönüş URL'sinde alınan UUID.

Yanıt (Response)

Tamamlanmış ödeme ayrıntılarını içeren bir ApiPaymentResponse nesnesi döner (Doğrudan Ödeme yanıtıyla aynıdır).


Checkout Akışı

  1. Bağlantı Oluştur: /api/checkout uç noktasını çağırın.
  2. Yönlendir: Kullanıcıyı redirectUrl adresine gönderin.
  3. Bekle: callback URL'nize gelen POST isteğini dinleyin.
  4. Ayıkla: Geri dönüş form verisinden checkoutId bilgisini alın.
  5. Doğrula: Nihai durumu almak için /api/checkout/{checkoutId} uç noktasını çağırın.
  6. Onayla: Yalnızca yanıtın status alanı SUCCESS ise ödemeyi başarılı kabul edin.

Örnek Uygulama (JavaScript)

// 1. Checkout bağlantısı oluşturma
const createCheckout = async (orderDetails) => {
const response = await fetch('https://api.example.com/api/checkout', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'your_api_key_here',
'X-API-SECRET': 'your_api_secret_here'
},
body: JSON.stringify(orderDetails)
});
const data = await response.json();
return data.redirectUrl;
};

// 2. Geri dönüş işleyici (Express örneği)
app.post('/payment-callback', async (req, res) => {
const checkoutId = req.body.checkoutId;
const checkoutStatus = await getCheckoutStatus(checkoutId);

if (checkoutStatus.status === 'SUCCESS') {
// Başarılı ödemeyi işle
console.log('Ödeme başarılı');
} else {
// Başarısız ödemeyi yönet
console.log('Ödeme başarısız');
}

res.sendStatus(200);
});

// 3. Checkout durumunu sorgulama
const getCheckoutStatus = async (checkoutId) => {
const response = await fetch(`https://api.example.com/api/checkout/${checkoutId}`, {
method: 'GET',
headers: {
'X-API-KEY': 'your_api_key_here',
'X-API-SECRET': 'your_api_secret_here'
}
});
return await response.json();
};