Ödeme Detay Servisi

Ödeme detay servisi aracılığıyla, iletilen tarihte yapılan satış işlemlerine ait transfer detayı alabilirsiniz.

Mağaza Ödeme Detay ve Pazaryeri Ödeme Detay olarak iki kategoriye ayrılır.

Mağaza Ödeme Detay

1- Aşağıdaki tabloda belirtilen bilgileri https://www.paytr.com/rapor/odeme-detayi adresine POST ile gönderin.

Değişkenler Açıklamalar
merchant_id Mağaza No
date Ödeme Detayı İstenen Tarih Formatı: 2022-01-01 (YYYY-MM-DD)
paytr_token Hesaplama ile ilgili olarak örnek kodlara bakmalısınız.


Mağaza Ödeme Detay
Tablodan gelen değerler tarihe göre işlemler sorgulanır. İlgili tarihte yapılan satış işlemlerine ait transfer bilgileri servisten döner.

2- Yaptığınız bu isteğe cevap JSON formatında döner.
a. Verilen tarihte eğer herhangi bir işlem / hareket yoksa status değeri failed olarak döner.
b. Verilen tarihte eğer herhangi bir işlem varsa status değeri success ve aşağıdaki tabloda bulunan bilgiler döner.
c. Eğer sorguda bir hatanız varsa status değeri error döner. Bu durumda hata detayı için err_msg içeriğini kontrol etmelisiniz.
Status “success” durumunda dönen diğer bilgiler aşağıdaki tabloda detaylandırılmıştır.

Alan Adı/tipi Açıklamalar Değerler
merchant_oid Mağaza sipariş no Örn. ABC123
merchant_iban Mağaza IBAN no Örn. TR000000000000000000000000000
merchant_name Mağaza isim bilgisi Örn. Test Firma
payment İşleme ait tutar Örn. 18
currency İşlemin para birimi Örn. TL


<?php

$merchant_id    = 'XXXXX';
    $merchant_key   = 'YYYYYYYYYYYYY';
    $merchant_salt  = 'YYYYYYYYYYYYY';

    ## Gerekli Bilgiler
    #
    //$date     = "2022-02-07";
    $date     = "2021-07-01";
    #
    ############################################################################################

    ################ Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. ################

    $paytr_token = base64_encode(hash_hmac('sha256', $merchant_id . $date . $merchant_salt, $merchant_key, true));

    $post_vals = array('merchant_id' => $merchant_id,
        'date' => $date,
        'paytr_token' => $paytr_token
    );
    #
    ############################################################################################

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/rapor/odeme-detayi/");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 90);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 90);

    $result = @curl_exec($ch);
    //print_r($result);

    if (curl_errno($ch)) {
        echo curl_error($ch);
        curl_close($ch);
        exit;
    }

    curl_close($ch);

    echo "<pre>";
    $result = json_decode($result, 1);

    if ($result['status'] == 'success')
    {
        // VT işlemleri vs.
        print_r($result);
    }
    elseif ($result['status'] == 'failed')
    {
       // sonuç bulunamadı
        echo "ilgili tarihte odeme detayi bulunamadi";
    }
    else
    {
        // Hata durumu
        echo $result['err_no'] . " - " . $result['err_msg'];
    }

Mağaza ödeme detay örnek kodları indirmek için tıklayın.

Pazaryeri Ödeme Detay

1- Aşağıdaki tabloda belirtilen bilgileri https://www.paytr.com/rapor/odeme-detayi adresine POST ile gönderin.

Değişkenler Açıklamalar
merchant_id Mağaza No
date Ödeme detay alınmak istenen tarih
paytr_token Hesaplama ile ilgili olarak örnek kodlara bakmalısınız.


Tablodan gelen değerler tarihe göre işlemler sorgulanır. İlgili tarihte yapılan satış işlemlerine ait transfer bilgileri servisten döner.

2- Yaptığınız bu isteğe cevap JSON formatında döner.
a. Verilen tarihte eğer herhangi bir işlem / hareket yoksa status değeri failed olarak döner.
b. Verilen tarihte eğer herhangi bir işlem varsa status değeri success ve aşağıdaki tabloda bulunan bilgiler döner.
c. Eğer sorguda bir hatanız varsa status değeri error döner. Bu durumda hata detayı için err_msg içeriğini kontrol etmelisiniz.
Status “success” durumunda dönen diğer bilgiler aşağıdaki tabloda detaylandırılmıştır.

Alan Adı/tipi Açıklamalar Değerler
merchant_oid Mağaza sipariş no Örn. ABC123
merchant_iban Mağaza IBAN no Örn. TR000000000000000000000000000
merchant_name Mağaza isim bilgisi Örn. Test Firma
payment İşleme ait tutar Örn. 18
currency İşlemin para birimi Örn. TL
amount Alt satıcıya aktarılan tutar Örn. 140
transfer Alt satıcı transfer hesap bilgisi Örn. TR111111111111111111111, TEST SATICI
currency İşlemin para birimi Örn. TL


Gelen tutar ve aktarılan tutarlar günlük olarak görünmektedir.

Ödeme detay örnek kodları: Örnek kodlar içinde nasıl yapılacağı detaylı olarak anlatılmaktadır.

<?php

$merchant_id    = 'XXXXX';
    $merchant_key   = 'YYYYYYYYYYYYY';
    $merchant_salt  = 'YYYYYYYYYYYYY';

    ## Gerekli Bilgiler
    #
    //$date     = "2022-02-07";
    $date     = "2021-07-01";
    #
    ############################################################################################

    ################ Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. ################

    $paytr_token = base64_encode(hash_hmac('sha256', $merchant_id . $date . $merchant_salt, $merchant_key, true));

    $post_vals = array('merchant_id' => $merchant_id,
        'date' => $date,
        'paytr_token' => $paytr_token
    );
    #
    ############################################################################################

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/rapor/odeme-detayi/");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 90);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 90);

    $result = @curl_exec($ch);
    //print_r($result);

    if (curl_errno($ch)) {
        echo curl_error($ch);
        curl_close($ch);
        exit;
    }

    curl_close($ch);

    echo "<pre>";
    $result = json_decode($result, 1);

    if ($result[status] == 'success')
    {
        // VT işlemleri vs.
        print_r($result);
    }
    elseif ($result[status] == 'failed')
    {
       // sonuç bulunamadı
        echo "ilgili tarihte odeme detayi bulunamadi";
    }
    else
    {
        // Hata durumu
        echo $result[err_no] . " - " . $result[err_msg];
    }

Pazaryeri ödeme detay örnek kodları indirmek için tıklayın.