//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" => 'Return',
"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));