ilgili url de bir sıkıntı yok kodlarda bu
<?php
require_once '../config/database.php';
// Mağaza Bilgisi
$paytr = $db->query("SELECT * FROM paytr WHERE id='1'");
$paytr = $paytr->fetch(PDO::FETCH_ASSOC);
$userEmail = $_SESSION['email'];
$getCodeSQL = $db->query("SELECT `orderCode`,`paytr_err_msg` FROM `users` WHERE email='$userEmail'");
$getCodeSQL = $getCodeSQL->fetch(PDO::FETCH_OBJ);
$orderCode = $getCodeSQL->orderCode;
$errMsg = $getCodeSQL->paytr_err_msg;
$orderCode = $post['merchant_oid'];
## 2. ADIM için örnek kodlar ##
## ÖNEMLİ UYARILAR ##
## 1) Bu sayfaya oturum (SESSION) ile veri taşıyamazsınız. Çünkü bu sayfa müşterilerin yönlendirildiği bir sayfa değildir.
## 2) Entegrasyonun 1. ADIM'ında gönderdiğniz merchant_oid değeri bu sayfaya POST ile gelir. Bu değeri kullanarak
## veri tabanınızdan ilgili siparişi tespit edip onaylamalı veya iptal etmelisiniz.
## 3) Aynı sipariş için birden fazla bildirim ulaşabilir (Ağ bağlantı sorunları vb. nedeniyle). Bu nedenle öncelikle
## siparişin durumunu veri tabanınızdan kontrol edin, eğer onaylandıysa tekrar işlem yapmayın. Örneği aşağıda bulunmaktadır.
$post = $_POST;
####################### DÜZENLEMESİ ZORUNLU ALANLAR #######################
#
## API Entegrasyon Bilgileri - Mağaza paneline giriş yaparak BİLGİ sayfasından alabilirsiniz.
$merchant_key = $paytr['merchant_key'];
$merchant_salt = $paytr['merchant_salt'];
###########################################################################
####### Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. #######
#
## POST değerleri ile hash oluştur.
$hash = base64_encode(hash_hmac('sha256', $post['merchant_oid'] . $merchant_salt . $post['status'] . $post['total_amount'], $merchant_key, true));
#
## Oluşturulan hash'i, paytr'dan gelen post içindeki hash ile karşılaştır (isteğin paytr'dan geldiğine ve değişmediğine emin olmak için)
## Bu işlemi yapmazsanız maddi zarara uğramanız olasıdır.
if ($hash != $post['hash'])
die('PAYTR notification failed: bad hash');
###########################################################################
## BURADA YAPILMASI GEREKENLER
## 1) Siparişin durumunu $post['merchant_oid'] değerini kullanarak veri tabanınızdan sorgulayın.
## 2) Eğer sipariş zaten daha önceden onaylandıysa veya iptal edildiyse echo "OK"; exit; yaparak sonlandırın.
/* Sipariş durum sorgulama örnek
$durum = SQL
if($durum == "onay" || $durum == "iptal"){
echo "OK";
exit;
}
*/
if ($post['status'] == 'success') { ## Ödeme Onaylandı
// Üyeyi çekilişe ekliyorum
$join = $db->query("INSERT INTO `participants` (`sweepstake_id`, `user_id`) VALUES ('$getId', '$userId')");
$count = $join->rowCount();
} else { ## Ödemeye Onay Verilmedi
$errMsg = $post['failed_reason_msg'];
$errMsgSQL = $db->query("UPDATE `users` SET `paytr_err_msg`='$errMsg' WHERE email='$userEmail'");
}
## Bildirimin alındığını PayTR sistemine bildir.
echo "OK";
exit;