//API isteğini göndereceğiniz Endpoint URL değeri
$api_url =
'https://yourSubDomain.payfull.com/integration/api/v1';
//Payfull hesabınız içerisinde oluştuduğunuz API hesabına ait "Üye İşyeri Şifresi" değeri.
$merchantPassword = 'your merchant password';
//parametrelerinizi oluşturduğunuz dizi.
$params = array(
"merchant" => 'your merchant name',
"type" => 'Sale',
"total" => '1.01',
"language" => 'tr',
"cc_name" => 'Mohammad', "cc_number" => '4111111111111111',
"cc_month" => '12',
"cc_year" => '2030',
"cc_cvc" => '000',
"currency" => 'TRY',
"installments" => 1,
"language" => 'tr',
"client_ip" => '192.168.1.1',
"payment_title" => 'test payment title',
"bank_id" => 'Akbank',
"gateway" => '160',
"customer_firstname" => 'ALI',
"customer_lastname" => 'MUHAMAD', "customer_email" => 'alitestemail@gmail.com', "customer_phone" => '5394659832',
"customer_tc" => '12590326514',
"passive_data" => 'write here what you like', );
}
// Hash kodu üretme yöntemi.
ksort($params);
$hashString = "";
foreach ($params as $key=>$val) {
$l = mb_strlen($val);
if($l) $hashString .= $l . $val;
}
$params["hash"] = hash_hmac("sha256", $hashString, $merchantPassword);
// Hash kodu üretilip parametreler arasına "hash" index'i ile eklendi.
//curl sürecini başlatıyoruz.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
//curl için gerekli olan URL değeri ve parametreler hazırlandı ve curl_exec() fonksiyonu ile işlemi başlatıp cevabı $response değerine atıyoruz.
$response = curl_exec($ch);
$curlerrcode = curl_errno($ch);
$curlerr = curl_error($ch);
//cevabı öğrenmek için print ediyoruz.
var_dump(json_decode($response));