Paynoloji Geliştirici Merkezi

Service URL & Post Type

Servis Adresi: https://api.paynoloji.com/pay3D

İstek Türü: POST / JSON

Değer Tür Zorunlu Açıklama
card_holder string Evet Banka/Kredi kartının üzerindeki isim.
card_number string Evet Banka/Kredi kartı numarası. (Bir önceki getPos methoduna gönderilen kart ile aynı olmalı)
exp_month string Evet Banka/Kredi kartı son kullanma tarihi (Ay)
exp_year string Evet Banka/Kredi kartı son kullanma tarihi (Yıl)
cvv string Evet Banka/Kredi CVV kodu (Yıl)
amount string / integer Evet Çekim yapılacak tutar (Numerik olmalı 2,1 kabul edilmez 2.1 doğru olanı).
Bir önceki getPos apisine gönderilen amount ile aynı olmalı
currency string Hayır Para birim (Varsayılan TRY)
installment string / integer Evet Taksit sayısı (Zorunlu değil boş gönderilirse tek çekim yapılır.)
redirectOkUrl string Evet 3D işleminde sonra dönülecek başarılı callback adresi.
redirectFailUrl string Evet 3D işleminde sonra dönülecek başarısız callback adresi.
notifyUrl string Evet 3D işleminde sonra dönülecek callback adresi.
paymentID string Evet Benzersiz sipariş kodu.(pay3D methoduna gönderilen her istekte parametre değeri farklı olmalı)
note string Hayır Sipariş açıklaması

Örnek PHP Kodu


// Ödeme bilgilerini içeren veri dizisini oluştur
$paymentData = [
    "card_holder" => $name,
    "card_number" => $number,
    "exp_month" => $month,
    "exp_year" => $year,
    "cvv" => $cvc2,
    "amount" => $price,
    "payment_token" => $result->payToken,
    "redirect_url" => $redirect,
    "other_code" => $id,
    "note" => $note
];

// cURL öğesini başlat
$ch = curl_init("https://api.paynoloji.com/pay3D");

// cURL ayarlarını tanımla
curl_setopt_array($ch, [
    CURLOPT_POSTFIELDS => json_encode($paymentData),
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true
]);

// cURL isteğini gerçekleştir
$result = curl_exec($ch);

// cURL öğesini kapat
curl_close($ch);

// Sunucudan gelen cevabı çözümle
$result = json_decode($result, true);

// Elde edilen sonucu kullanma (örneğin, ekrana yazdırma)
print_r($result);

Başarılı Cevap

{
    "status": true,
    "code": 200,
    "redirectUrl": "https://api.paynoloji.com/redirect/xxx",
}

Değer Tür Açıklama
status boolean Yapılan isteğin sonucunu bildirir. İşlem başarılı ise true döner.
code integer Yapılan isteğin sonucunu bildirir. İşlem başarılı ise 200 döner.
redirectUrl string Ödeme için yönlendirilecek güvenli 3D sayfası.

Başarısız Cevap

{
    "code": 404,
    "message": " Token is missing"
}

Değer Tür Açıklama
code integer Yapılan isteğin sonucunu bildirir. İşlem hatalı ise aşağıdaki kodlar döner.
message string Yapılan istekteki hata mesajını belirtir.

Hata Mesajları

Kod Hata Mesajı Açıklama
403 Api is not active in the merchant Mağaza apisi aktif değil.
402 This payment token already used payment_token değeri daha önce kullanılmış.
getPos apisinden alınan payment_token sadece 1 kere kullanılır (3D sayfasına başarıyla yönlenmiş transactionlar için geçerli)
402 other_code must be unique other_code parametresi benzersiz olmalı.
403 Payment token and card number do not match getPos apisinde gönderilen kart numarası ile pay3D apisine gönderilen kart numarasını aynı değil.
403 Payment token and amount do not match getPos apisinde gönderilen tutar ile pay3D apisine gönderilen tutar aynı değil.
410 Installment must be numeric Taksit sayısı numerik olmalı.
412 Non-permitted installment getPos apisinden alınan taksitlerden farklı bir taksit sayısı gönderildi.
500 Installment Error - ... Taksit hatası - Gönderilen taksit sayısı oranlar tablosunda bulunamadı.
404 Wrong payment token payment_token değeri hatalı.
500 System Error Sistem hatası.
410 The credit card must be 16 digits Kart numarası 16 karakterden oluşmalı.
406 Merchant is not active Mağaza aktif değil.