• 16-07-2018, 11:42:51
    #1
    Merhaba, girişte yaş bildirimi yapılıp girilen türde bir web sitemiz var.
    paytr ödeme sistemi bildirim url onayıda bu bölüme takılıyor ve onaylamıyor satışı. kendi dökümanlarında uzun uzadıya bir açıklamışlar ama ben yapamadım yardımcı olursanız sevinirim.
    teşekkürler

    Bildirim URL adresinize üye girişi ve benzeri erişim kısıtlaması yapılmamalıdır. Böylece PayTR sistemi bildirimleri kolayca iletebilecektir.
    2. Bildirim URL’nize gelecek bildirimlere döneceğiniz OK yanıtının öncesinde veya sonrasında HTML veya herhangi başka bir içerik ekrana basılmamalıdır.
    3. Bildirim URL’niz, müşterinizin ödeme sırasında ulaşacağı bir sayfa değildir, PayTR tarafından arka planda (server-side) ödeme sonucunu bildirmek için kullanılır. Bu nedenle, Bildirim URL’nizde kodlama yaparken
    Alan adı
    Başarılı
    Başarısız
    Açıklama
    merchant_oid


    Mağaza sipariş no: Satış işlemi için belirlediğiniz ve 1. ADIM’da gönderdiğiniz sipariş numarası
    status


    Ödeme işleminin sonucu (success veya failed)
    total_amount


    Müşteriden tahsil edilen toplam tutar
    (100 ile çarpılmış hali gönderilir. 34.56 => 3456) (Not: Müşteri vade farklı taksit seçtiği vb. durumlarda, 1. ADIM’da gönderdiğiniz “payment_amount” değerinden daha yüksek olabilir)
    hash


    PayTR sisteminden gönderilen değerlerin doğruluğunu kontrol etmeniz için güvenlik amaçlı oluşturulan hash değeri (Hesaplama ile ilgili olarak örnek kodlara bakmalısınız)
    failed_reason_code

    Ödemenin onaylanmaması durumunda gönderilir
    (Bkz: 2. Adım İçin Hata Kodları ve Açıklamaları Tablosu)
    failed_reason_msg

    Ödemenin neden onaylanmadığı mesajını içerir
    (Bkz: 2. Adım İçin Hata Kodları ve Açıklamaları Tablosu)
    test_mode


    Mağazanız test modunda iken veya canlı modda yapılan test işlemlerde 1 olarak gönderilir.
    payment_type


    Ödeme şekli: Müşterinin hangi ödeme şekli ile ödemesini tamamladığını belirtir. 'card' veya 'eft' değerlerini alır.
    currency

    Para birimi: Ödemenin hangi para birimi üzerinden yapıldığını belirtir. ‘TL’, ‘USD’, ‘EUR’, ‘GBP’, ‘RUB’ değerlerinden birini alır.
    payment_amount

    Sipariş tutarı: 1. ADIM’da gönderdiğiniz “payment_amount” değeridir.
    (100 ile çarpılmış hali gönderilir. 34.56 => 3456)
    Sayfa 2 / 2
    oturum (SESSION) değerlerini kullanamazsınız. İşlemlerinizi Mağaza sipariş no (merchant_oid) kullanarak gerçekleştirmelisiniz.
    4. OK yanıtı alınmayan bildirimlerde, ilgili sipariş Mağaza Paneli'ndeki SATIŞLAR sayfasında “Devam Ediyor” olarak görünecektir.
    5. PayTR sistemi, Bildirim URL’nizden OK cevabını istendiği şekilde almadığı durumda, bildirimin başarısız olduğunu varsayar. Ağ trafik sorunları, sitenizdeki anlık yoğunluklar ve benzeri nedenlerden dolayı aynı ödeme işlemi için birden fazla bildirim ulaşabilir. Bu nedenle, bildirimin birden fazla geldiği durumlarda, yalnızca ilk bildirim göz önünde bulundurulmalı, sonraki bildirimler için müşteriye tekrar ürün/hizmet sunulmamalıdır. Tekrarlayan bildirimlerde yalnızca OK yanıtı ile süreç sonlandırılmalıdır. Tekrarlayan bildirimlerin tespiti Mağaza sipariş no (merchant_oid) temel alınarak yapılmalıdır.
    6. Bildirimin PayTR sisteminden geldiğinden ve ulaşım esnasında değiştirilmediğinden emin olmak için, POST içerisindeki hash değeri ile tarafınızca oluşturulacak hash değerinin aynı olduğunu kontrol etmeniz, güvenlik açısından büyük önem arz etmektedir. Bu kontrolü yapmamanız durumunda maddi kayıplar ile karşılaşabilirsiniz.
  • 16-07-2018, 11:52:48
    #2
    Platin üye
    Sorunu anlamadım Bildirimde işlem sonra OK dönüyor mu ? echo ile bastırıp bakınız.
  • 16-07-2018, 11:58:57
    #3
    <?php
    	$post = $_POST;
    	$merchant_key 	= '------';
    	$merchant_salt	= '-----';
    	$hash = base64_encode( hash_hmac('sha256', $post['merchant_oid'].$merchant_salt.$post['status'].$post['total_amount'], $merchant_key, true) );
    
        
            $dr = $post['status'];
    
    
    if($dr == 'success'){
    
     echo "OK";
    
    	
    }
    ?>
    kendi key ve saltınızı güncelleyip deneyin.
  • 16-07-2018, 12:09:50
    #4
    Konuyu anlamamakla beraber, paytr size hazır dökümanlarla ilgili olabilecek linkleri veriyordu bir panelde.
    Onlara bakmanızı öneririm. Eğer özel yazılım ise, mesajı yazmadım farzedin.
  • 16-07-2018, 12:10:31
    #5
    kavas adlı üyeden alıntı: mesajı görüntüle
    <?php
    	$post = $_POST;
    	$merchant_key 	= '------';
    	$merchant_salt	= '-----';
    	$hash = base64_encode( hash_hmac('sha256', $post['merchant_oid'].$merchant_salt.$post['status'].$post['total_amount'], $merchant_key, true) );
    
        
            $dr = $post['status'];
    
    
    if($dr == 'success'){
    
     echo "OK";
    
    	
    }
    ?>
    kendi key ve saltınızı güncelleyip deneyin.
    Kavas bunu hangi dosya üstünde yapacağım
    Teşekkürler
  • 16-07-2018, 12:13:57
    #6
    fatihkurt adlı üyeden alıntı: mesajı görüntüle
    Kavas bunu hangi dosya üstünde yapacağım
    Teşekkürler
    bildir.php'nın kendisi kardeşim bu.
  • 16-07-2018, 12:15:17
    #7
    Platin üye
    fatihkurt adlı üyeden alıntı: mesajı görüntüle
    Kavas bunu hangi dosya üstünde yapacağım
    Teşekkürler
    Arkadaşın verdiğini bildir.php olarak kayıt edip PayTR bildirim url kısmına siteniz.com/bildir.php yazınız . Bakalım ok dönecek mi
  • 16-07-2018, 12:18:15
    #8
    Bu arada, yanılmıyorsam tamamlandı sayfası ekleniyordu.
    Şuan bakamıyorum ama, örnek/ ödeme sayfaında işlem yapıldı ama onaylandı ya da onaylanmadı / tamamlandı gibi bir sayfaya atıyor ya.
    Bu sayfayı yazıyorduk, işlem yapanı eklersek demo sürümü geçmiyordu. Not olarak düşelim, belki lazım olur.
  • 16-07-2018, 12:20:39
    #9
    kavas adlı üyeden alıntı: mesajı görüntüle
    bildir.php'nın kendisi kardeşim bu.
    kendi bilgilerimi yazıp bir bildir.php oluşturdum ana dizine attım.
    sonuç alamadım maalesef.



    OziyWeb adlı üyeden alıntı: mesajı görüntüle
    Arkadaşın verdiğini bildir.php olarak kayıt edip PayTR bildirim url kısmına siteniz.com/bildir.php yazınız . Bakalım ok dönecek mi
    Denedim, bildirim url hatası devam ediyor.
    teşekkürler



    teşekkür ederim oldu