Taksit/Komisyon Bilgisi
Satış işlemi yaparken ihtiyaç duyulan taksit parametresine koyulabilecek değerleri öğrenmek için kullanılan bir işlemdir. bank_id hangi bankadan taksit yapılmak isteniyorsa, gateway ilgili bankaya ait bir parametre, commission ilgili taksit sayısı için Payful hesabınızda belirlediğiniz komisyon miktarıdır. Komisyon hesabını satış işlemi gerçekleştirmeden önce yapıp total değerine girmelisiniz.

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 Installments 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.
one_shot_commission: OPSİYONEL
Bu parametreyi 1 olarak ayarlarsanız sadece tek çekimlerde alınana komisyon değerini istemiş olursunuz ve cevaplarda taksit bilgileri değil komisyon bilgileri yer alır.
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.
Banka ve ödeme kuruluşlarına ait bank_id değerleri aşağıdaki gibidir.
Garanti
Akbank
Finansbank
Isbank
Halkbank
HSBC
Denizbank
YapiKredi
Vakifbank
KuveytTurk
Asya
Sekerbank
Teb
Turkiyefinans
Albaraka
ING
Aktifbank
Ziraat
Anadolu
İlgili bankaları ödeme yöntemine göre belirlemek için gateway değerleri aşağıdaki gibidir.
BKMExpress : 210
Compay : 260
Hepsipay : 220

Isbank
PayU : 160
Moka : 250

Iyzico : 150

Doğrudan Banka : 10001

Param : 310

Paytrek : 300

Paytr Banka : 300

> İstek Örneği

merchant : merchant name
type : Get
get_param: Installments
language: tr
client_ip: 192.168.1.1
hash: 14339MjuG01015018

> Cevap Örneği

{
“status”: "1",
“ErrorMSG”: "",
“ErrorCode”: "00",
“data”: "",
[{
“bank”: "KuveytTurk",
“gateway”: "10001",
“installments”: [{"count":2,"commission":"0%"},{"count":3,"commission":"0%"}],
“has3d”:1,
"image":"https://dev.payfull.com/sites/all/themes/payfull_theme/design/https://emrahduman.com/payfull/api-docs/assets/admin/scripts/card/img/networks/KuveytTurk.png"
},
{
“bank”: "Akbank",
“gateway”: "10001",
“installments”: [{"count":3,"commission":"5%"},{"count":4,"commission":"1%"}],
“has3d”: 0,
image":"https://dev.payfull.com/sites/all/themes/payfull_theme/design/https://emrahduman.com/payfull/api-docs/assets/admin/scripts/card/img/networks/Akbank.png"
}],
}

>  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"            => 'Installments',
                        "language"         => 'tr
                
                      "client_ip"       => '192.168.1.1'
                      
                        );

                   
                       $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));