Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası Genel PayTR Bildirim URL (2. Adım) Entegr...

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

PayTR Bildirim URL (2. Adım) Entegrasyonu: Ödeme Sonucu Onaylama Rehberi

PayTR iFrame API entegrasyonunun tamamlanması için sadece ödeme formunun gösterilmesi yeterli değildir. Gerçek sipariş onayı ya da iptali, Bildirim URL üzerinden gerçekleşir. Bu makalede PayTR Bildirim URL entegrasyonunun nasıl yapılacağını adım adım anlatacağız ve örnek kodlar ile destekleyeceğiz.

Ayrıca ilk adım olan iframe entegrasyonu için mutlaka şu yazıya da göz atmanızı öneririz:


Bildirim URL Nedir?

Müşteri ödemeyi tamamladıktan sonra, PayTR sisteminizde tanımlı Bildirim URL'ye POST isteği yapar. Bu bildirim sayesinde, siparişinizin durumunu (onay/iptal) kesinleştirirsiniz.

Önemli Not:

  • Bildirim URL bir "kullanıcı yönlendirme" sayfası değildir.

  • Server-side çalışır.

  • Bildirimi alır almaz PayTR sistemine "OK" cevabı vermek zorundasınız.


PayTR'nin Bildirim URL'ye Göndereceği Parametreler

Parametre Zorunlu Açıklama
merchant_oid Evet Sipariş numarası
status Evet "success" veya "failed"
total_amount Evet Ödenen toplam tutar (kuruş cinsinden)
hash Evet İmza kontrolü için hash değeri
failed_reason_code Hayır Hata kodu
failed_reason_msg Hayır Hata mesajı
test_mode Hayır Test işlemi mi?
payment_type Evet 'card' veya 'eft'
currency Hayır TL, USD, EUR vb.
payment_amount Hayır İlk gönderilen tutar

Bildirim URL Entegrasyonu Nasıl Yapılır?

1. Gelen POST Verilerini Alın

$post = $_POST;

2. Gelen Verilerin İmzasını (hash) Doğrulayin

$merchant_key = 'Sizin_Merchant_Key';
$merchant_salt = 'Sizin_Merchant_Salt';

$hash = base64_encode( hash_hmac('sha256', $post['merchant_oid'].$merchant_salt.$post['status'].$post['total_amount'], $merchant_key, true) );

if( $hash != $post['hash'] )
    die('PAYTR notification failed: bad hash');

3. Siparişi Tespit Edin ve Durumunu Güncelleyin

if( $post['status'] == 'success' ) {
    // Siparişi ONAYLAYIN
} else {
    // Siparişi İPTAL EDİN
}

4. Mutlaka "OK" Cevabı Dönün

echo "OK";
exit;

Güvenlik Önerileri

  • Gelen POST verilerini mutlaka hash kontrolü ile doğrulayın.

  • Bildirimi birden fazla alabileceğiniz için, sipariş durumunu sorgulayarak tekrar işlem yapmayın.

  • Bildirim URL'nize herhangi bir ek çıktı basmayın. Sadece OK yazın.

  • Session değişkenleri kullanmayın. Siparişleri sadece merchant_oid ile bulun.


Hatalı Durumlar ve Sebepleri

failed_reason_code Açıklama
0 Detaylı hata mesajı
1 Kimlik doğrulama eksik
2 Yanlış şifre
3 Güvenlik kontrolü başarısız
6 Müşteri ödeme yapmadı
8 Taksit desteklenmiyor
9 Kart işleme yetkisi yok
10 3D Secure zorunlu
11 Fraud uyarısı
99 Teknik entegrasyon hatası

Bildirim URL'de Yapılan Sık Hatalar

  • OK cevabı dönülmemesi → Sipariş "Devam Ediyor" gözükür.

  • Bildirimin hash kontrolü yapılmaması → Güvenlik zaafiyeti olur.

  • Session kullanılması → Kullanılamaz, çöker.

  • Aynı siparişe birden fazla onay/iptal işlemi uygulanması → Mükerrer işlemler olur.


Sonuç: PayTR Bildirim URL Olmadan Entegrasyon Tamamlanmaz!

PayTR Bildirim URL entegrasyonu, ödeme sürecinin en kritik parçasıdır. Bu adımı doğru uygulamazsanız, ödemeleriniz tamamlanmaz ve siparişleriniz eksik işlenebilir. Bu rehberi adım adım uygulayarak, PayTR entegrasyonunuzu profesyonel ve güvenli hale getirebilirsiniz.

Bağlantılı İçerikler:

 

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(772 defa görüntülendi. / 486 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top