Bunu kendiniz de nereden api alacaksanız yapabilirsiniz örnek;
<?php
// Ödeme entegrasyonu servisinin API anahtarını ve gizli anahtarını tanımlayın
$api_key = 'API_ANAHTARI_BURAYA';
$secret_key = 'GIZLI_ANAHTAR_BURAYA';
// Ödeme entegrasyonu servisine bağlanmak için gereken URL
$url = 'https://api.cokaslan12.com/pay';
// Ödeme detayları için bir dizi oluşturun
$payment_details = array(
'amount' => '100.00',
'currency' => 'TRY',
'description' => 'Ürün A satın alma işlemi',
'customer_name' => 'Ahmet Yılmaz',
'customer_email' => 'caner@cokaslan12.com',
'customer_phone' => '5555555555',
'return_url' => 'http://cokaslan12.com/success.php',
'cancel_url' => 'http://cokaslan12.com/cancel.php',
);
// Ödeme detaylarına API anahtarını ekleyin
$payment_details['api_key'] = $api_key;
// Ödeme detaylarındaki verileri sıralı hale getirin
ksort($payment_details);
// Ödeme detaylarındaki verileri birleştirin
$data = http_build_query($payment_details);
// Ödeme detaylarındaki verileri SHA256 hash'leyin
$hash = hash_hmac('sha256', $data, $secret_key);
// Ödeme detaylarına hash değerini ekleyin
$payment_details['hash'] = $hash;
// Ödeme detaylarındaki verileri JSON formatına çevirin
$json_data = json_encode($payment_details);
// Ödeme entegrasyonu servisine bağlanın ve ödeme talebinde bulunun
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json_data)
));
$response = curl_exec($ch);
curl_close($ch);
// Ödeme entegrasyonu servisinden gelen yanıtı JSON formatında ayrıştırın
$result = json_decode($response, true);
// Ödeme işlemi başarılı ise, kullanıcıyı ödeme sayfasına yönlendirin
if ($result['status'] == 'success') {
header('Location: ' . $result['payment_url']);
exit;
}
// Ödeme işlemi başarısız ise, kullanıcıya bir hata mesajı gösterin
else {
echo 'Ödeme işlemi başarısız oldu: ' . $result['error_message'];
}
?>