SFTP İşlem Listesi
This request is useful to pull all transactions that come from bank via SFTP of specific day. get_param value must be Sftp specially for this request.
Bu istek, belirli bir günün tüm SFTP işlemlerini çekmek için kullanılıdır. get_param bu işlem için özel olarak Sftp şeklinde değer atanarak belirlenir.

Gerekli parametreler
merchant: ZORUNLU
Payfull hesabınız içerisinde(Ayarlar->Apı Hesapları) tanımladığınız Apı hesabına ait "Üye İşyeri Adı" alanına girilen değerdir.
type: ZORUNLU
İşlem tipi Sale olmalıdır.
get_param: ZORUNLU
Parametre değeri Sftp olmalıdır.
language: ZORUNLU
Satış işlemi sonrası gelecek olan cevabın dil seçeneğini belirlemekte kullanılır. İki seçenek vardır. en / tr
client_ip: ZORUNLU
İşlemi yapacak kişiye ait IP bilgisi gönderilmelidir.
day_date: ZORUNLU
Bu parametre, alacağınız işlemlerin belirli gün tarihidir. İçin bu değeri kullanmanız gerekir.
Tarih dd-mm-yyyy formatında olmalıdır. Örnek : 15-03-2019
bank_id: ZORUNLU
Hareketlerini almak istediğiniz banka id'si, Isbank/Garanti/YapiKredi.
report_type: OPSİYONEL
Özet ve Detaylı olmak üzere iki tip rapor alabilirsiniz. Özet rapor için: summery Detaylı rapor için: detailed olarak gönderebilmelidir.

hash: ZORUNLU
İşlemin hangi api kullanıcısına ait olduğunu anlamamız ve güvenlik için kullanılan Güvenlik kodu parametresidir. Nasıl oluşturulacağı aşağıda anlatılmış olup sayfanın sağ tarafındaki örnekte php örneği olarak gösterilmiştir.

Güvenlik kodu (hash) değerini oluşturmak için aşağıdaki işlemler sırası ile gerçekleştirilmelidir;

- Bütün parametrelerin oluşturulduğundan emin olun. Her senaryo için Güvenlik kodu (hash) oluşturma işlemi son işlem ve son parametreniz olmalıdır.
- Parametreleri alfabetik olarak A'dan Z'ye sıralayınız.
- Bir string değeri($siraliParametreler) oluşturup teker teker her parametrenizin uzunluğunu ve kendisini yanyana ekleyiniz.
- sha256 hash kodu üretici fonksiyon ile parametrelerinizden oluşturduğunuz ($siraliParametreler) string değerinizi ve Payfull hesabınızda belirlenen "Üye İşyeri Şifresi" ni kullanarak bir Güvenlik kodu üretiniz.
- Parametreleriniz içerisine parametre ismi "hash", değeri ise şimdi oluştuduğunuz Güvenlik kodunu yerleştirerek Api isteğinizi Endpoint Url'inize gönderiniz.

> İstek Örneği

merchant : merchant name
type : Get
get_param: Sftp
language : tr
client_ip: 192.168.1.1
day_date: 15-03-2019
bank_id: Isbank
report_type: success
hash: e34a9d3aa4312e43cae22573d21edf8d84ee9564

> Cevap Örneği

{
“status”: 1,
“ErrorMSG”: "",
“ErrorCode”: "00",
“data”:
[0]=>[{
“trxDate”: "28.04.2020",
“trxTime”: "09:56:25",
“trxType”: "Satış",
“trxTotal”: "100.10",
“trxInstallments”: "0",
“trxCard”: "4111********1111",
“trxCurrency”: "TL",
“trxPFId”: "P_F_eb2fc80ef8_9c4dafc16",
“trxRawData”: "{...}",
}]
[1]=>[{
“trxDate”: "29.04.2020",
“trxTime”: "10:01:25",
“trxType”: "Satış",
“trxTotal”: "996.10",
“trxInstallments”: "0",
“trxCard”: "4111********1111",
“trxCurrency”: "TL",
“trxPFId”: "P_F_eb2fc80ef8_9c4da0239",
“trxRawData”: "{...}",
}]
}

>  Php Örneği

 $api_url =
'https://yourSubDomain.payfull.com/integration/api/v1';    

   $merchantPassword = 'your merchant password';  

                        $params = array(                  
                     "merchant"        => 'your merchant name',
                       "type"            => 'Get',          
                        "get_param"            => 'Sftp',

                       "language"        => 'tr',
                     "client_ip"       => '192.168.1.1'
                      "day_date"       => '15-03-2019'

                     "bank_id"  =>   'Isbank',
     );
                     
                        ksort($params);
                     $hashString = "";
                     foreach ($params as $key=>$val) {                             
                      $l = mb_strlen($val);  
                      if($l) $hashString .= $l . $val;
                       }


                       $params["hash"] = hash_hmac("sha256", $hashString, $merchantPassword);

                       $ch = curl_init();
                       curl_setopt($ch, CURLOPT_URL, $api_url);            
                        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                               curl_setopt($ch, CURLOPT_TIMEOUT, 60);      
                        curl_setopt($ch, CURLOPT_POST, 1);  
                        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));

                         $response = curl_exec($ch);                    

           $curlerrcode = curl_errno($ch);
           $curlerr = curl_error($ch);              

           var_dump(json_decode($response));