Satış - 3D Kullanmadan
- Satış işlemi ilgili kredi kartından anında ücret tahsil eden işlemdir.- Taksitli işlem yapılmak istenirse installments parametresi kullanılarak taksit değeri belirlenir. Ayrıca bank_id, gateway parametreleride zorunlu hale gelir. Taksitli işlem yapmadan önce taksit imkanlarınız, banka_id ve gateway değerlerini bilmeniz gerekmektedir.
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.
total: ZORUNLU
Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00
currency: ZORUNLU
Desteklenen para birimleri şunlardır. TRY/USD/EUR/GBP
installments: ZORUNLU
Taksit değerinin girildiği alanı ifade eder. Tek çekim işlem tapılacaksa değer 1 olarak atanmalıdır.
bank_id: OPSİYONEL
bank_id değeri zorunlu değildir. Ancak taksitli işlem yapılmak istendiğinde ZORUNLU hale gelir. Taksitli işlemin hangi bankadan yapılmasını istiyorsanız o bankanın bank_id değerini göndermeniz gerekmektedir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
gateway: OPSİYONEL
Taksitli işlem yapılmak istenildiğinde ZORUNLU olan bir parametre daha. bank_id ile beraber kullanılmak istenen bankaya ait özel bir değer girilmesi gerekir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
language: ZORUNLU
client_ip: ZORUNLU
İşlemi yapacak olan kişiye ait IP bilgisi gönderilmelidir.
customer_firstname: ZORUNLU
İşlemi yapan kişinin bilgilerine ihtiyaç vardır. İlk olarak isim.
customer_lastname: ZORUNLU
Soyisim
customer_email: ZORUNLU
Email hesabı
customer_phone: ZORUNLU
Telefon numarası
Satış işlemi sonrası gelecek olan cevabın dil seçeneğini belirlemekte kullanılır. İki seçenek vardır. en / tr
BKM Express ile Satış işlemi
- BKM Express kullanılarak satış işlemi gerçekleştirmek için ilgili parametleri hazırlamanız gerekmektedir.- Bu satış işleminde kart bilgilerini göndermeniz gerekmemektedir.- Bu işlemin cevabı eğer başarısız ise JSON formatında gelicektir. Eğer Başarılı olursa HTML formatında gelicektir.
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.
total: ZORUNLU
Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00
currency: ZORUNLU
Desteklenen para birimleri şunlardır. TRY/USD/EUR/GBP
installments: ZORUNLU
Taksit değerinin girildiği alanı ifade eder. Tek çekim işlem tapılacaksa değer 1 olarak atanmalıdır.
bank_id: OPSİYONEL
bank_id değeri zorunlu değildir. Ancak taksitli işlem yapılmak istendiğinde ZORUNLU hale gelir. Taksitli işlemin hangi bankadan yapılmasını istiyorsanız o bankanın bank_id değerini göndermeniz gerekmektedir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
gateway: OPSİYONEL
Taksitli işlem yapılmak istenildiğinde ZORUNLU olan bir parametre daha. bank_id ile beraber kullanılmak istenen bankaya ait özel bir değer girilmesi gerekir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
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 olan kişiye ait IP bilgisi gönderilmelidir.
Compay ile Satış İşlemi
- BKM Express kullanılarak satış işlemi gerçekleştirmek için ilgili parametleri hazırlamanız gerekmektedir.- Bu satış işleminde kart bilgilerini göndermeniz gerekmemektedir.- Bu işlemin cevabı eğer başarısız ise JSON formatında gelicektir. Eğer Başarılı olursa HTML formatında gelicektir.
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.
total: ZORUNLU
Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00
currency: ZORUNLU
Desteklenen para birimleri şunlardır. TRY/USD/EUR/GBP
installments: ZORUNLU
Taksit değerinin girildiği alanı ifade eder. Tek çekim işlem tapılacaksa değer 1 olarak atanmalıdır.
bank_id: OPSİYONEL
bank_id değeri zorunlu değildir. Ancak taksitli işlem yapılmak istendiğinde ZORUNLU hale gelir. Taksitli işlemin hangi bankadan yapılmasını istiyorsanız o bankanın bank_id değerini göndermeniz gerekmektedir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
gateway: OPSİYONEL
Taksitli işlem yapılmak istenildiğinde ZORUNLU olan bir parametre daha. bank_id ile beraber kullanılmak istenen bankaya ait özel bir değer girilmesi gerekir. İlgili değeri nasıl temin edeceğinizi Taksit Bilgisi sayfasından öğrenebilirsiniz.
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 olan kişiye ait IP bilgisi gönderilmelidir.

> İstek Örneği

merchant : merchant name
type: Sale : Sale
tota : 23.02
cc_name : ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
merchant: merchant name
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payment title
bank_id: Akbank
gateway: 160
customer_firstname: ALI
customer_lastname: MUHAMMED
customer_email: alitestmail@gmail.com
customer_phone: 5394569832
customer_tc: 12590326514
passive_data: just any passive data
hash: 14339MjuG01015018

> Cevap Örneği

{
“type”: ”Sale”,
“status”: 1,
“transaction_id”: ”T4U_7dd053f6b8_d9a58906b”,
“ErrorMSG”: ”Success Transaction”,
“ErrorCode”: ”00”,
“passive_data”: ”just any passive data”,
“original_currency”: ”TRY”,
“total”: 23.02,
“currency”: ”TRY”,
“conversion_rate”: 1,
“bank_id”: ”Akbank”,
“use3d”: 0,
“installments”: 1,
“time”: ”08-09-2016 02:53:25”
}

>  Php Örneği

//API isteğini göndereceğiniz Endpoint URL değeri                      
 $api_url =
'https://yourSubDomain.payfull.com/integration/api/v1';    

                  //Payfull hesabınız içerisinde oluştuduğunuz API hesabına ait "Üye İşyeri Şifresi" değeri.                    
   $merchantPassword = 'your merchant password';  

                     //parametrelerinizi oluşturduğunuz dizi.
                        $params = array(                  
                     "merchant"        => 'your merchant name',
                       "type"            => 'Sale',
                        "total"            => '1.01',
                       "language"        => 'tr',
                      "cc_name"         => 'Mohammad',                                                      "cc_number"       => '4111111111111111',  
                       "cc_month"        => '12',    
                       "cc_year"         => '2030',          
                         "cc_cvc"          => '000',
     
                        "currency"        => 'TRY',                          
                        "installments"    => 1,                          
                         "language"        => 'tr',                            
                         "client_ip"       => '192.168.1.1',                        
                          "payment_title"   => 'test payment title',                        
                          "bank_id"         => 'Akbank',    
                          "gateway"         => '160',

                           "customer_firstname" => 'ALI',      
                          "customer_lastname"  => 'MUHAMAD',                                                           "customer_email"     => 'alitestemail@gmail.com',                                                           "customer_phone"     => '5394659832',                            
                           "customer_tc"        => '12590326514',                            
                          "passive_data"  => 'write here what you like',                        );
                     }

                     // Hash kodu üretme yöntemi.        
                        ksort($params);
                     $hashString = "";
                     foreach ($params as $key=>$val) {                             
                      $l = mb_strlen($val);  
                      if($l) $hashString .= $l . $val;
                       }


                       $params["hash"] = hash_hmac("sha256", $hashString, $merchantPassword);
                        // Hash kodu üretilip parametreler arasına "hash" index'i ile eklendi.

                       //curl sürecini başlatıyoruz.
                       $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));

                        //curl için gerekli olan URL değeri ve parametreler hazırlandı ve curl_exec() fonksiyonu ile işlemi başlatıp cevabı $response değerine atıyoruz.                      
                         $response = curl_exec($ch);                    

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

           //cevabı öğrenmek için print ediyoruz.                      
           var_dump(json_decode($response));