Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

3D ile Satış İşlemi

- 3D Secure güvenlik satış İşleminde, normal satıştan farklı olarak use3d  ve return_url olmak üzere iki ekstra parametre bulunur.
- Ayrıca lütfen TOKEN ve taksitlerin kullanılacağını öğrenmek/görmek için Satış İşlemi sayfasını kontrol edin.

- Aşama A:Satış isteği gönderirken  use3d ve return_url ile birlikte göndermeniz gerekir.
- Aşama B: bağlantı isteği güvenli bir şekilde kurulursa HTML yanıtı alırsınız.
- Aşama C: : Dönen cevabı tarayıcıya HTML olarak yazdırmanız gerekir; bu sayede 3D doğrulama sayfası tarayıcınızda (OTP girişi yapılacak ekran) görünür ve kart sahibi işleme devam edebilir.
- Aşama D: Kart sahibi 3D şifresini ekrana başarılı olarak girdikten sonra, Payfull response mesajını (JSON formatında) return_url’nize döner.
Önemli notlar
- 3D isteği güvenli bir şekilde kurulmazsa, B Aşamasındaki sonuç/response HTML yanıtı yerine JSON formatında yanıt alırsınız.
- Aşama D’nin sonunda, Payfull üye işyeri eşleştirmesi ve güvenlik için Hash kullanarak dönüş sağlayacaktır.


Gerekli parametreler

merchant: ZORUNLUPayfull 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


cc_name: ZORUNLU

Ücret Tahsil edilecek kişinin kart bilgilerine ihtiyaç vardır.Kart üzerinde yazan isim.


cc_number: ZORUNLU

16 haneli kart numarasıÖrnek olarak: 4123456789123456


cc_month: ZORUNLU

Kart Son Kullanım Tarihi Ay değeriÖrnek Olarak: 05


cc_year: ZORUNLU

Kart Son Kullanım Tarihi Yıl değeriÖrnek Olarak: 2017


cc_cvc: ZORUNLU

Kart Güvenlik NumarasıÖrnek Olarak: 000


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.


campaign_id: OPSİYONEL

Belirli bankalar belirli koşullar yerine geldiğinde taksit değerlerinde kampanyalar oluşturmaktadır. Kampanyadan faydalanılmak istenirse ilgili id bilgisini göndermeniz gerekmektedir.
Buradan kampanyalara ait tüm bilgiye ulaşabilirsiniz.


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.


payment_title: ZORUNLU

Her satış işlemine ait belirlenmesi gereken işlem başlığıdır. Örnek olarak: Çay Bardağı 6'lı Set


use3d: ZORUNLU

Bu parametre 1 olmalıdır aksi halde normal bir satış işleminden farksız çalışır.
3D sayfasından dönecek olan sonuç verilerinin gönderileceği link adresini buraya giriniz.


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.


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ı


customer_tc: OPSİYONEL

TC kimlik numarası.


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.
(not: lütfen bunu kart numaraları veya şifreler gibi önemli bir veri göndermek için kullanmayın).


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt title
use3d: 1
return_url: https://your_Application/return3D bank_id: Akbank
gateway: 160
customer_firstname: ALI
customer_lastname: MUHAMAD
customer_email: alitestemail@gmail.com
customer_phone: 5394659832
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":1,
"installments":1,
"time":"08-09-2016 02:53:25"
hash: 14339MjuG01015018
}



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',

                       "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',

                       "use3d"           => '1',

                       "return_url"      => 'https://your_Application/return3D',

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

İstek Örneği

merchant: merchant name
type: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt 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: 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',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

3D ile Satış İşlemi

- 3D Secure güvenlik satış İşleminde, normal satıştan farklı olarak use3d  ve return_url olmak üzere iki ekstra parametre bulunur.
- Ayrıca lütfen TOKEN ve taksitlerin kullanılacağını öğrenmek/görmek için Satış İşlemi sayfasını kontrol edin.

- Aşama A:Satış isteği gönderirken  use3d ve return_url ile birlikte göndermeniz gerekir.
- Aşama B: bağlantı isteği güvenli bir şekilde kurulursa HTML yanıtı alırsınız.
- Aşama C: : Dönen cevabı tarayıcıya HTML olarak yazdırmanız gerekir; bu sayede 3D doğrulama sayfası tarayıcınızda (OTP girişi yapılacak ekran) görünür ve kart sahibi işleme devam edebilir.
- Aşama D: Kart sahibi 3D şifresini ekrana başarılı olarak girdikten sonra, Payfull response mesajını (JSON formatında) return_url’nize döner.
Önemli notlar
- 3D isteği güvenli bir şekilde kurulmazsa, B Aşamasındaki sonuç/response HTML yanıtı yerine JSON formatında yanıt alırsınız.
- Aşama D’nin sonunda, Payfull üye işyeri eşleştirmesi ve güvenlik için Hash kullanarak dönüş sağlayacaktır.


Gerekli parametreler

merchant: ZORUNLUPayfull 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


cc_name: ZORUNLU

Ücret Tahsil edilecek kişinin kart bilgilerine ihtiyaç vardır.Kart üzerinde yazan isim.


cc_number: ZORUNLU

16 haneli kart numarasıÖrnek olarak: 4123456789123456


cc_month: ZORUNLU

Kart Son Kullanım Tarihi Ay değeriÖrnek Olarak: 05


cc_year: ZORUNLU

Kart Son Kullanım Tarihi Yıl değeriÖrnek Olarak: 2017


cc_cvc: ZORUNLU

Kart Güvenlik NumarasıÖrnek Olarak: 000


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.


campaign_id: OPSİYONEL

Belirli bankalar belirli koşullar yerine geldiğinde taksit değerlerinde kampanyalar oluşturmaktadır. Kampanyadan faydalanılmak istenirse ilgili id bilgisini göndermeniz gerekmektedir.
Buradan kampanyalara ait tüm bilgiye ulaşabilirsiniz.


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.


payment_title: ZORUNLU

Her satış işlemine ait belirlenmesi gereken işlem başlığıdır. Örnek olarak: Çay Bardağı 6'lı Set


use3d: ZORUNLU

Bu parametre 1 olmalıdır aksi halde normal bir satış işleminden farksız çalışır.
3D sayfasından dönecek olan sonuç verilerinin gönderileceği link adresini buraya giriniz.


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.


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ı


customer_tc: OPSİYONEL

TC kimlik numarası.


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.
(not: lütfen bunu kart numaraları veya şifreler gibi önemli bir veri göndermek için kullanmayın).


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt title
use3d: 1
return_url: https://your_Application/return3D bank_id: Akbank
gateway: 160
customer_firstname: ALI
customer_lastname: MUHAMAD
customer_email: alitestemail@gmail.com
customer_phone: 5394659832
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":1,
"installments":1,
"time":"08-09-2016 02:53:25"
hash: 14339MjuG01015018
}



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',

                       "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',

                       "use3d"           => '1',

                       "return_url"      => 'https://your_Application/return3D',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

3D ile Satış İşlemi

- 3D Secure güvenlik satış İşleminde, normal satıştan farklı olarak use3d  ve return_url olmak üzere iki ekstra parametre bulunur.
- Ayrıca lütfen TOKEN ve taksitlerin kullanılacağını öğrenmek/görmek için Satış İşlemi sayfasını kontrol edin.

- Aşama A:Satış isteği gönderirken  use3d ve return_url ile birlikte göndermeniz gerekir.
- Aşama B: bağlantı isteği güvenli bir şekilde kurulursa HTML yanıtı alırsınız.
- Aşama C: : Dönen cevabı tarayıcıya HTML olarak yazdırmanız gerekir; bu sayede 3D doğrulama sayfası tarayıcınızda (OTP girişi yapılacak ekran) görünür ve kart sahibi işleme devam edebilir.
- Aşama D: Kart sahibi 3D şifresini ekrana başarılı olarak girdikten sonra, Payfull response mesajını (JSON formatında) return_url’nize döner.
Önemli notlar
- 3D isteği güvenli bir şekilde kurulmazsa, B Aşamasındaki sonuç/response HTML yanıtı yerine JSON formatında yanıt alırsınız.
- Aşama D’nin sonunda, Payfull üye işyeri eşleştirmesi ve güvenlik için Hash kullanarak dönüş sağlayacaktır.


Gerekli parametreler

merchant: ZORUNLUPayfull 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


cc_name: ZORUNLU

Ücret Tahsil edilecek kişinin kart bilgilerine ihtiyaç vardır.Kart üzerinde yazan isim.


cc_number: ZORUNLU

16 haneli kart numarasıÖrnek olarak: 4123456789123456


cc_month: ZORUNLU

Kart Son Kullanım Tarihi Ay değeriÖrnek Olarak: 05


cc_year: ZORUNLU

Kart Son Kullanım Tarihi Yıl değeriÖrnek Olarak: 2017


cc_cvc: ZORUNLU

Kart Güvenlik NumarasıÖrnek Olarak: 000


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.


campaign_id: OPSİYONEL

Belirli bankalar belirli koşullar yerine geldiğinde taksit değerlerinde kampanyalar oluşturmaktadır. Kampanyadan faydalanılmak istenirse ilgili id bilgisini göndermeniz gerekmektedir.
Buradan kampanyalara ait tüm bilgiye ulaşabilirsiniz.


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.


payment_title: ZORUNLU

Her satış işlemine ait belirlenmesi gereken işlem başlığıdır. Örnek olarak: Çay Bardağı 6'lı Set


use3d: ZORUNLU

Bu parametre 1 olmalıdır aksi halde normal bir satış işleminden farksız çalışır.
3D sayfasından dönecek olan sonuç verilerinin gönderileceği link adresini buraya giriniz.


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.


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ı


customer_tc: OPSİYONEL

TC kimlik numarası.


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.
(not: lütfen bunu kart numaraları veya şifreler gibi önemli bir veri göndermek için kullanmayın).


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt title
use3d: 1
return_url: https://your_Application/return3D bank_id: Akbank
gateway: 160
customer_firstname: ALI
customer_lastname: MUHAMAD
customer_email: alitestemail@gmail.com
customer_phone: 5394659832
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":1,
"installments":1,
"time":"08-09-2016 02:53:25"
hash: 14339MjuG01015018
}



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',

                       "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',

                       "use3d"           => '1',

                       "return_url"      => 'https://your_Application/return3D',

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

İstek Örneği

merchant: merchant name
type: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt 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: 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',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

3D ile Satış İşlemi

- 3D Secure güvenlik satış İşleminde, normal satıştan farklı olarak use3d  ve return_url olmak üzere iki ekstra parametre bulunur.
- Ayrıca lütfen TOKEN ve taksitlerin kullanılacağını öğrenmek/görmek için Satış İşlemi sayfasını kontrol edin.

- Aşama A:Satış isteği gönderirken  use3d ve return_url ile birlikte göndermeniz gerekir.
- Aşama B: bağlantı isteği güvenli bir şekilde kurulursa HTML yanıtı alırsınız.
- Aşama C: : Dönen cevabı tarayıcıya HTML olarak yazdırmanız gerekir; bu sayede 3D doğrulama sayfası tarayıcınızda (OTP girişi yapılacak ekran) görünür ve kart sahibi işleme devam edebilir.
- Aşama D: Kart sahibi 3D şifresini ekrana başarılı olarak girdikten sonra, Payfull response mesajını (JSON formatında) return_url’nize döner.
Önemli notlar
- 3D isteği güvenli bir şekilde kurulmazsa, B Aşamasındaki sonuç/response HTML yanıtı yerine JSON formatında yanıt alırsınız.
- Aşama D’nin sonunda, Payfull üye işyeri eşleştirmesi ve güvenlik için Hash kullanarak dönüş sağlayacaktır.


Gerekli parametreler

merchant: ZORUNLUPayfull 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


cc_name: ZORUNLU

Ücret Tahsil edilecek kişinin kart bilgilerine ihtiyaç vardır.Kart üzerinde yazan isim.


cc_number: ZORUNLU

16 haneli kart numarasıÖrnek olarak: 4123456789123456


cc_month: ZORUNLU

Kart Son Kullanım Tarihi Ay değeriÖrnek Olarak: 05


cc_year: ZORUNLU

Kart Son Kullanım Tarihi Yıl değeriÖrnek Olarak: 2017


cc_cvc: ZORUNLU

Kart Güvenlik NumarasıÖrnek Olarak: 000


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.


campaign_id: OPSİYONEL

Belirli bankalar belirli koşullar yerine geldiğinde taksit değerlerinde kampanyalar oluşturmaktadır. Kampanyadan faydalanılmak istenirse ilgili id bilgisini göndermeniz gerekmektedir.
Buradan kampanyalara ait tüm bilgiye ulaşabilirsiniz.


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.


payment_title: ZORUNLU

Her satış işlemine ait belirlenmesi gereken işlem başlığıdır. Örnek olarak: Çay Bardağı 6'lı Set


use3d: ZORUNLU

Bu parametre 1 olmalıdır aksi halde normal bir satış işleminden farksız çalışır.
3D sayfasından dönecek olan sonuç verilerinin gönderileceği link adresini buraya giriniz.


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.


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ı


customer_tc: OPSİYONEL

TC kimlik numarası.


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.
(not: lütfen bunu kart numaraları veya şifreler gibi önemli bir veri göndermek için kullanmayın).


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt title
use3d: 1
return_url: https://your_Application/return3D bank_id: Akbank
gateway: 160
customer_firstname: ALI
customer_lastname: MUHAMAD
customer_email: alitestemail@gmail.com
customer_phone: 5394659832
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":1,
"installments":1,
"time":"08-09-2016 02:53:25"
hash: 14339MjuG01015018
}



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',

                       "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',

                       "use3d"           => '1',

                       "return_url"      => 'https://your_Application/return3D',

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

İstek Örneği

merchant: merchant name
type: Sale
total: 23.02
cc_name: ALI
cc_number: 4111111111111111
cc_month: 09
cc_year: 2024
cc_cvc: 000
currency: TRY
installments: 1
language: tr
client_ip: 192.168.1.1
payment_title: just payemnt 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: 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',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

BANKA
KART NUMARASI
SON KULLANMA TARİHİ
CVV
AKBANK-vISA
4355084355084358
12/2030
000
AKBANK-MASTER
5571135571135575
12/2030
000
TEB-VISA
4402934402934406
12/2030
000
TEB-MASTER
5101385101385104
12/2030
000
HALKBANK-VISA
4920244920244921
12/2030
001
HALKBANK-MASTER
5404355404355405
12/2030
001
FINANSBANK-VISA
4022774022774026
12/2030
000
FINANSBANK-MASTER
5456165456165454
12/2030
000
ISBANK-VISA
4508034508034509
12/2030
000
ISBANK-MASTER
5406675406675403
12/2030
000
ANADOLUBANK-VISA
4258464258464253
12/2030
000
ANADOLUBANK-MASTER
5222405222405229
12/2030
000
KUVEYTTURK-VISA
4025894025894022
12/2030
000
INGBANK-VISA
4555714555714556
12/2030
000
INGBANK-MASTER
5400245400245409
12/2030
000
GARANTI
5342614723204016
06/2020
599
YKB
4506347048543223
08/2019
000
4506347011448053
02/2020
000
4506347022052795
02/2020
000
4506347031187533
02/2020
000
4506347043358536
02/2020
000
4921307045825277
02/2020
000
5400610093155852
02/2020
000
5400617049774124
02/2020
000
5400637003737156
02/2020
000
VAKIBANK
4938410114062912
01/2020
956
HSBC
5100051016005572
01/2020
742
KOMBANK-VISA
4920244920244913
01/2018
000
KOMBANK-MASTERCARD
5404355404355405
01/2018
000
MOKA
5259222233334444
12/2030
000
FINANSBANK - TROY
9792023757123604
01/2026
861
TURK ELEKTRONIK   PARA - TROY
9792350046201275
07/2027
993
VAKIFBANK - TROY
6501700194147183
03/2023
136
VAKIFBANK - TROY
6500528865390837
01/2021
686
AKBANK - TROY
9792072000017956
01/2020
843

Capture İşlemi



Önprovizyon olarak başlatılan bir işlemin daha sonra satışa çevrilmesidir. Satışa çevrilen tutar kart hamilinin ekstresine yansıyacaktır. Önprovizyonu satışa çevirme işlemi tamamlandığında, gün sonu işleminden sonra işyeri hesabına ilgili tutar aktarılacaktır.


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 Capture olmalıdır.


language: ZORUNLU

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.


transaction_id: ZORUNLU

Payfull tarafından üretilip Satış işlemi sonrası cevap bilgisinde geri gönderilir.

total: ZORUNLU

Ödemenin miktarında kuruş değeride belirtilmelidir. Örnek olarak: 10.23 yada 10.00


passive_data: OPSİYONEL

Bu parametre işlem için göndermek ve sonrasında tekrar geri almak istediğiniz herhangi data yada bilgi için oluşturulmuş bir parametredir.


merchant_trx_id: OPSİYONEL

Bu parametre işlem için özgün bir id değeri tanımlamanız ve göndermeniz içindir. Sonrasında üretmiş olduğunuz bu değeri İşlem Durum Bilgisi için kullanmanız gerekmektedir.


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: Capture
language: tr
client_ip: 192.168.1.1
transaction_id: T4U_8d8125d10a_481a77f38
total: 23.02
passive_data: just any passive data
hash: 14339MjuG01015018

Cevap Örneği


{
"type":"Capture",
"status":1,
"transaction_id":"16252PRtA01010454",
"ErrorMSG":"Success Transaction",
"ErrorCode":"00",
"passive_data":"just any passive data",
"total":"1.00",
"currency":"TRY",
"bank_id":"Akbank",
"time":"08-09-2016 03:17:44"
}



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"            => 'Capture',

                       "language"        => 'tr',

                       "client_ip"       => '192.168.1.1',

                       "transaction_id"  => 'T4U_8d8125d10a_481a77f38',

                       "total"           => '21.39',

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

Banka/Ödeme Kuruluşu
Parametre Adı
Parametre Değeri
Garanti
Üye İşyeri ID
7000679
Secure Key
123qweASD
Terminal ID
30691297
3D Anahtarı
12345678
PROVAUT
123qweASD
PROVRFN
123qweASD
Akbank
API Üye İş Yeri ID
100658785
API Şifresi
TEST1111
API Kullanıcı Adı
api
3D Anahtarı
123456
Finansbank
API Üye İş Yeri ID
600658785
API Şifresi
TEST1111
API Kullanıcı Adı
api
3D Anahtarı
123456
Halkbank
API Üye İş Yeri ID
500658785
API Şifresi
TEST1111
API Kullanıcı Adı
api
3D Anahtarı
123456
HSBC
API Üye İş Yeri ID
100658785
API Şifresi
TEST1111
API Kullanıcı Adı
api
3D Anahtarı
123456
Iysico
PayU
Üye İşyeri
OPU_TEST
Şifre
SECRET_KEY
BKM Express
Üye İşyeri
ID
9d6818c5-8da5-4072-db17-c7f559b44aeb
Özel Anahtar
Lütfen kendi private key değerinizi
oluşturup BKM ile paylaşınız.
BKM Açık Anahtar
lüften BKM ile bağlantı kurup,
Public key değerlerini alıp kendi tarfınıza ekleyin
MOKA
dealerCode
34
Username
PayfullTest
Password
HS7D7329OD9DJ
Compay
Client ID
104000046
Sale Password
Test1234
Api Kullanıcı Adı
payfullapi
Api Parola
payfullapi