Herkese Merhaba,
Yaklaşık 2 Yıldır Kullandığım Scriptin PyTR kısmında şu an bir sorun yaşıyorum test modda ödeme yapıyorum fakat canlı moda alırken bildirim URL'si bozuk diyor.
Bu konuda bilgisi olan yardımcı olursa sevinirim

Bildirim URL'si: siteadı.com/bildirim.php

Kodlar şu şekilde:

odeme.php:
<?php
require __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/system/db.php';
require_once 'PayTR.php';

function siteUrl(){
    return "http://" . $_SERVER['SERVER_NAME'];
}

$paytr = new \App\PayTr();

// SET IMPORTANT INFORMATION

/** @var TYPE_NAME $settings */
$paytr->setMerchantId($settings->merchant_id);                       // set your merchant id
$paytr->setMerchantKey($settings->merchant_key);              // set your merchant key
$paytr->setMerchantSalt($settings->merchant_salt);             // set your merchant salt

$paytr->setEmail($_SESSION['product_email']);                        // example: example@example.com (string)
$paytr->setPaymentAmount($_SESSION['product_price']);                  // example: 10.5 (decimal 8/2)
$paytr->setUserName($_SESSION['product_name']);                  // example: Jhon Deo  (string)
$paytr->setAddress($_SESSION['product_address']);                    // example: H.Əliyev 5/81 45-ci məhəllə (string)
$paytr->setPhone($_SESSION['product_phone']);                        // example: +994555555555 (string)
$paytr->setBasket([
        [
            'name' => $_SESSION['product_product_name'],
            'price' => $_SESSION['product_price'],
            'currency' => 'TL'
        ]
]);               // example: [["name"=>"Macbook Pro", "price"=>10, "currency"=>"TL"]]  (array)
$paytr->setSuccessUrl(siteUrl() . '/success.php');            // example: https://example.com/succsess.php
$paytr->setFailUrl(siteUrl() . '/failed.php');                   // example: https://example.com/fail.php
$paytr->initialize();

$token = $paytr->token;
?>

<script src="https://www.paytr.com/js/iframeResizer.min.js"></script>
<iframe src="https://www.paytr.com/odeme/guvenli/<?php echo $token;?>" id="paytriframe" frameborder="0" scrolling="no" style="width: 100%;"></iframe>
<script>iFrameResize({},'#paytriframe');</script>
bildirim.php:
<?php
require __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/system/db.php';

## 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.

/** @var TYPE_NAME $settings */
$merchant_id     = $settings->merchant_id;
$merchant_key     = $settings->merchant_key;
$merchant_salt    = $settings->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.

/** @var TYPE_NAME $db */
$sql = $db->table('orders')->where('order_id', $post['merchant_oid'])->get();

if($sql){
    echo "OK";
    exit;
}

if( $post['status'] == 'success' ) { ## Ödeme Onaylandı

    $name = $_SESSION['product_name'];
    $email = $_SESSION['product_email'];
    $phone = $_SESSION['product_phone'];
    $address = $_SESSION['product_address'];
    $city = $_SESSION['product_city'];
    $town = $_SESSION['product_town'];
    $payment_type = $_SESSION['product_payment_type'];
    $product = $_SESSION['product_product_name'];

    $order_id = $post['merchant_oid'];

    $data = [
        'order_id' => $order_id,
        'name' => $name,
        'email' => $email,
        'phone_number' => $phone,
        'address' => $address,
        'city' => $city,
        'town' => $town,
        'product' => $product,
        'payment_type' => $payment_type
    ];
    /** @var TYPE_NAME $db */
    $insert = $db->table('orders')->insert($data);
    if ($insert) {
        header('Location: success.php');
    }

    ## BURADA YAPILMASI GEREKENLER
    ## 1) Siparişi onaylayın.
    ## 2) Eğer müşterinize mesaj / SMS / e-posta gibi bilgilendirme yapacaksanız bu aşamada yapmalısınız.
    ## 3) 1. ADIM'da gönderilen payment_amount sipariş tutarı taksitli alışveriş yapılması durumunda
    ## değişebilir. Güncel tutarı $post['total_amount'] değerinden alarak muhasebe işlemlerinizde kullanabilirsiniz.

} else { ## Ödemeye Onay Verilmedi,

    header('Location: success.php');

    ## BURADA YAPILMASI GEREKENLER
    ## 1) Siparişi iptal edin.
    ## 2) Eğer ödemenin onaylanmama sebebini kayıt edecekseniz aşağıdaki değerleri kullanabilirsiniz.
    ## $post['failed_reason_code'] - başarısız hata kodu
    ## $post['failed_reason_msg'] - başarısız hata mesajı

}

## Bildirimin alındığını PayTR sistemine bildir.
echo "OK";
exit;