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.