• 11-05-2021, 18:39:49
    #1
    Merhabalar. Hayırlı Ramazanlar, hayırlı iftarlar.

    PHP PayTR sanal pos entegresini yapmaya çalışıyorum, PayTR örnek dosyalarda anlatımı sağlamış lakin anlamadığım kısım var. Bildirim php dosyasına bildirim gidip kontrol ediyor ve eğer sorun yoksa işleme devam ediyor anladığım kadarıyla bu php dosyası bu işleme yarıyor. Ödeme başarılı veya ödeme başarısız url adreslerine get değeri gönderebiliyorum, onda bir sorun yok. Anlamadığım nokta şurası, bildirim.php sayfasına POST değeri nasıl ve ne şekilde geliyor? Örnekte 2. adım PHP örneğinde bildirim dosyasının adı ve uzantısı "bildirim_url_ornek.php" bu dosyayı alıp iframe kodunu vs dahil edip ben entegreyi yapıp adını vs değiştirdiğimde dosyanın, nasıl bulacak ki bu "bildirim_url_ornek.php" dosyasını ve POST'tan gelen değerleri alacak?

    Bir türlü yapamadım, bilen arkadaşların yardımlarına ihtiyacım var. Şimdiden teşekkürler. İyi forumlar.
  • 11-05-2021, 18:44:08
    #2
    Üyeliği durduruldu
    Senaryo şu şekildedir:
    1) Siz iframe'i çağırırsınız, ödeme formu kullanıcıya gözükür.
    2) Kullanıcı ödemeyi yapar.
    3) Bu aşamada ödemenin onaylandığı ile alakalı bildirim gelir sizin sitenize. Bu bildirim url'ini PayTR panelde belirlersiniz. (Bu istek arka planda paytr botları ile gelir)
    4) Gelen bildirime göre siparişi onaylarsınız.
    5) Paytr kullanıcıyı işlem başarılı sayfasına yönlendirir.

    Iframe oluşturma sırasında sizden merchant_oid diye bir benzersiz sipariş numarası alıyor. Bildirim aşamasında da merchant_oid değerini size geri gönderecek, siz de bu değere göre siparişi onaylacaksınız.
  • 11-05-2021, 18:47:25
    #3
    awoken adlı üyeden alıntı: mesajı görüntüle
    Senaryo şu şekildedir:
    1) Siz iframe'i çağırırsınız, ödeme formu kullanıcıya gözükür.
    2) Kullanıcı ödemeyi yapar.
    3) Bu aşamada ödemenin onaylandığı ile alakalı bildirim gelir sizin sitenize. Bu bildirim url'ini PayTR panelde belirlersiniz. (Bu istek arka planda paytr botları ile gelir)
    4) Gelen bildirime göre siparişi onaylarsınız.
    5) Paytr kullanıcıyı işlem başarılı sayfasına yönlendirir.

    Iframe oluşturma sırasında sizden merchant_oid diye bir benzersiz sipariş numarası alıyor. Bildirim aşamasında da merchant_oid değerini size geri gönderecek, siz de bu değere göre siparişi onaylacaksınız.
    Şuan test olarak deniyorum sistemde.


    O zaman bildirim dosyasının ismini değiştirip veya ismini, PHP entegrasyonu yapılsa dahi PayTR panelinde url adresini belirlemek mi gerekiyor?

    bildirim dosyasında if( $post['status'] == 'success' ) bloğunda, şayet başarılıysa test için, bir text dosyasına yazı yazdırmak istedim ancak onu yapamadı. Test modu açık olduğu için olabilir mi? O işlemi yapması lazım çünkü o kısımda veritabanıyla ilgili işlemler yapacağım.
  • 11-05-2021, 18:49:03
    #4
    Üyeliği durduruldu
    YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
    Şuan test olarak deniyorum sistemde.


    O zaman bildirim dosyasının ismini değiştirip veya ismini, PHP entegrasyonu yapılsa dahi PayTR panelinde url adresini belirlemek mi gerekiyor?

    bildirim dosyasında if( $post['status'] == 'success' ) bloğunda, şayet başarılıysa test için, bir text dosyasına yazı yazdırmak istedim ancak onu yapamadı. Test modu açık olduğu için olabilir mi? O işlemi yapması lazım çünkü o kısımda veritabanıyla ilgili işlemler yapacağım.
    Evet, her halükarda URL adresini PayTR panelinde belirleyeceksiniz. Hayır test modu ile alakası yok, kodda hata vardır muhtemelen.
  • 11-05-2021, 18:57:28
    #5
    awoken adlı üyeden alıntı: mesajı görüntüle
    Evet, her halükarda URL adresini PayTR panelinde belirleyeceksiniz. Hayır test modu ile alakası yok, kodda hata vardır muhtemelen.
    Önceki kodda hata olabilirdi ki sanırsam hata vardı fwrite fonksiyonunda parametreleri yanlış verdiğimi hatırlıyorum.

    Şimdi şu kodla denedim tekrar ve yine olmadı. Yani test.txt adlı text dosyasına "Başarılı" mesajını kaydetmedi.
    if( $post['status'] == 'success' ) bloğuna eklediğim kodlar;

    $dosya = fopen("test.txt", "w");
    fwrite($dosya, "Başarılı");
    fclose($dosya);

    Şuanda test modunda, localhostta çalışıyorum. Ayrıca, PayTR panelinde bir url belirtmedim bildirim.php dosyası için. Bundan dolayı çalışmıyor sanırım.
  • 11-05-2021, 19:39:19
    #6
    YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
    Önceki kodda hata olabilirdi ki sanırsam hata vardı fwrite fonksiyonunda parametreleri yanlış verdiğimi hatırlıyorum.

    Şimdi şu kodla denedim tekrar ve yine olmadı. Yani test.txt adlı text dosyasına "Başarılı" mesajını kaydetmedi.
    if( $post['status'] == 'success' ) bloğuna eklediğim kodlar;

    $dosya = fopen("test.txt", "w");
    fwrite($dosya, "Başarılı");
    fclose($dosya);
    Şuanda test modunda, localhostta çalışıyorum. Ayrıca, PayTR panelinde bir url belirtmedim bildirim.php dosyası için. Bundan dolayı çalışmıyor sanırım.
    Evet bildirim url zorunlu
  • 12-05-2021, 15:41:23
    #7
    @awoken; @yusok32; arkadaşlar teşekkür ederim yardımlarınızdan dolayı.