Satış ve İade İşlem Dökümü Servisi

Bu servisi ile iletilen tarih aralığındaki (en fazla 3 gün) yapılan satış ve iade işlemlerinin dökümünü alabilirsiniz.

1- İşlem detaylarını gerçek istediğiniz tarih / saat ve aşağıdaki tabloda belirtilen diğer bilgileri https://www.paytr.com/rapor/islem-dokumu adresine POST metodu ile gönderin.

Token üretiminde kullanılacak veriler

Alan adı / tipi Açıklama Zorunlu Kısıtlar
merchant_id(string) Mağaza No: PayTR tarafından size verilen Mağaza numarası Evet -
start_date(string) Başlangıç Tarihi Formatı: 2021-01-01 00:00:00 (YYYY-MM-DD hh:mm:ss) Evet -
end_date Bitiş Tarihi Formatı: 2021-01-01 23:59:59 (YYYY-MM-DD hh:mm:ss) Evet -
merchant_salt PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -
merchant_key PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -


* POST REQUEST içeriğinde gönderilecek değerler:

Alan adı / tipi Açıklama Zorunlu Kısıtlar
merchant_id (string) Mağaza No: PayTR tarafından size verilen Mağaza numarası Evet -
start_date (integer) Başlangıç Tarihi Formatı: 2021-01-01 00:00:00 (YYYY-MM-DD hh:mm:ss) Evet -
end_date(integer) Bitiş Tarihi Formatı: 2021-01-01 23:59:59 (YYYY-MM-DD hh:mm:ss) Evet -
dummy(int) Demo Veri: Servisten dönen verileri simule etmek için kullanılır. Dönen değerler gerçek değildir, test amaçlı gözlem içindir. Hayır 0 veya 1
paytr_token(string) paytr_token: İsteğin sizden geldiğine veiçeriğin değişmediğine emin olmamız için oluşturacağınız değerdir Evet Hesaplama ile ilgili olarak örnek kodlara bakmalısınız.



2- Yaptığınız bu isteğe cevap JSON formatında döner. a. Verilen tarih aralığında eğer herhangi bir işlem / hareket yoksa status değeri failed olarak döner. b. Verilen tarih aralığında 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. Satış ve İade işlemlerinde fark olmaksızın aynı değerler döner.

Açıklama Alan adı / tipi Değerler
İşlem Tipi: Yapılan işlemin tipi. islem_tipi (string) S (satış) veya I (iade)
Net Tutar: Kesinti sonrası kalan tutar. net_tutar (string) Örn. 9.76
Kesinti Tutarı: İşlem için kesilen tutar. kesinti_tutari (string) Örn. 0.24
Kesinti Oranı: İşlem için kesilen oran. kesinti_orani (string) Örn. 2.35
İşlem Tutarı: Yapılan işlemin tutarı. islem_tutari (string) Örn. 10.00
Ödeme Tutarı: İşlem tutarı üzerinde bir ödeme olması durumunda dönülür. odeme_tutari (string) Örn. 10.00
İşlem Tarihi: İşlemin yapıldığı tarih. islem_tarihi (string) Örn. 13.01.2021
Para Birimi: İşlemin para birimi. para_birimi (string) TL, USD, EUR, GBP, RUB
Taksit: İşlem taksitli yapıldı ise taksit sayısı. taksit (string) 0,2,3,4,5,6,7,8,9,10,11,12
Kart Markası: İşlem yapılan kartın markası. kart_marka (string) Örn. WORD, BONUS, vb.
Kart No: İşlem yapılan maskeli kart numarası. kart_no (string) Örn. 455359AAA6747
Sipariş Numarası: İşlemin sipariş numarası. siparis_no (string) Örn. ABC123
Ödeme Tipi: Ödemenin hangi tipte yapıldığı. odeme_tipi (string) KART veya EFT


<?php

    ########################### İŞLEM DÖKÜMÜ ALMAK  İÇİN ÖRNEK KODLAR ##########################
    #                                                                                          #
    ################################ DÜZENLEMESİ ZORUNLU ALANLAR ###############################
    #
    ## API Entegrasyon Bilgileri - Mağaza paneline giriş yaparak BİLGİ sayfasından alabilirsiniz.

    $merchant_id    = 'XXXXXX';
    $merchant_key   = 'XXXXXXYYYYYY';
    $merchant_salt  = 'YYYYYYXXXXXX';

    ## Gerekli Bilgiler
    #
    $start_date = "2020-06-02 00:00:00";
    $end_date = "2020-06-04 23:59:59";
    # Başlangıç / Bitiş tarihi. En fazla 3 gün aralık tanımlanabilir.
    #
    ############################################################################################

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

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

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

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/rapor/islem-dokumu");
    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);

    //XXX: DİKKAT: lokal makinanızda "SSL certificate problem: unable to get local issuer certificate" uyarısı alırsanız eğer
    //aşağıdaki kodu açıp deneyebilirsiniz. ANCAK, güvenlik nedeniyle sunucunuzda (gerçek ortamınızda) bu kodun kapalı kalması çok önemlidir!
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    $result = @curl_exec($ch);

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

    curl_close($ch);

    $result = json_decode($result, 1);

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

İşlem Dökümü Servisi örnek kodlarını indirmek için tıklayın.