ödeme yapma formu
<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>Kredi Kartı ile Ödeme</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-100 flex items-center justify-center min-h-screen"> <form action="odeme.php" method="POST" class="bg-white p-8 rounded-2xl shadow-md w-full max-w-md space-y-6"> <h2 class="text-2xl font-bold text-center text-gray-800">Ödeme Yap</h2> <div> <label class="block text-gray-600 mb-1">Kart Sahibi Adı</label> <input type="text" name="cardName" value="Test Kullanıcı" placeholder="Ad Soyad" required class="w-full px-4 py-2 border rounded-xl focus:outline-none focus:ring-2 focus:ring-blue-400" /> </div> <div> <label class="block text-gray-600 mb-1">Kart Numarası</label> <input type="text" name="cardNumber" maxlength="19" value="4355093000315232" placeholder="XXXX XXXX XXXX XXXX" required class="w-full px-4 py-2 border rounded-xl focus:outline-none focus:ring-2 focus:ring-blue-400" oninput="formatCardNumber(this)" /> </div> <div class="flex space-x-4"> <div class="w-1/2"> <label class="block text-gray-600 mb-1">Son Kullanım</label> <input type="text" name="expiry" maxlength="5" value="1140" placeholder="MM/YY" required class="w-full px-4 py-2 border rounded-xl focus:outline-none focus:ring-2 focus:ring-blue-400" /> </div> <div class="w-1/2"> <label class="block text-gray-600 mb-1">CVC</label> <input type="password" autocomplate="off" name="cvv" value="471" maxlength="4" placeholder="CVC" required class="w-full px-4 py-2 border rounded-xl focus:outline-none focus:ring-2 focus:ring-blue-400" /> </div> </div> <button type="submit" class="w-full bg-blue-600 text-white font-semibold py-3 rounded-xl hover:bg-blue-700 transition">₺ Ödeme Yap</button> </form> <script> function formatCardNumber(input) { let value = input.value.replace(/\D/g, "").substring(0,16); let formatted = ""; for (let i = 0; i < value.length; i += 4) { formatted += value.substring(i, i + 4) + " "; } input.value = formatted.trim(); } </script> <?php echo '<p>'.$_POST['responseMessage'].'</p>'; /* Buradakiler sonuç olarak dönen veridir bunları kullanabilirsiniz txnCode "1000" responseCode "VPS-0000" responseMessage "BAŞARILI" hostResponseCode "00" hostMessage "000+ONAY+KODU+XXXXXX" txnDateTime "2025-04-05T12:06:02.000" merchantSafeId "20231008172012760876143660674662" terminalSafeId "30231008172012760876143660674662" cardHolderName "EK***+AK***" orderId "51bbffe2-aaa2-4ecf-a177-740564893429" authCode "089363" rrn "509624655937" batchNumber "582" stan "65" amount "500.00" installCount "1" additionalInstallCount "0" deferingMonth "0" ccbEarnedRewardAmount "3.00" ccbBalanceRewardAmount "1483646.99" ccbRewardDesc "CHIP+PARA" pcbEarnedRewardAmount "39.76" pcbBalanceRewardAmount "332807.13" pcbRewardDesc "Divarese+axess+may�s" xcbEarnedRewardAmount "0.00" xcbBalanceRewardAmount "28036.04" xcbRewardDesc "MarkaPuan+PREP" hashParams "txnCode+responseCode+responseMessage+hostResponseCode+hostMessage+txnDateTime+merchantSafeId+terminalSafeId+orderId+cardHolderName+authCode+rrn+batchNumber+stan+amount+installCount+additionalInstallCount+deferingMonth+ccbEarnedRewardAmount+ccbBalanceRewardAmount+ccbRewardDesc+pcbEarnedRewardAmount+pcbBalanceRewardAmount+pcbRewardDesc+xcbEarnedRewardAmount+xcbBalanceRewardAmount+xcbRewardDesc" hash "xTP01E7uDWLX2ONOXwjyzWqqNIF5i+2kduRqwrEfw2RCKhDqJO1jUhmNlTFJySoh3W/d9+Hjcijrzu1jqrPhZQ==" */ ?> </body> </html>odeme.php
<?php if ($_POST) { $amount = number_format((float)500, 2, '.', ''); // Ödeme miktarı $paymentModel = '3D_PAY'; $txnCode = '3000'; $merchantSafeId = '20231008172012760876143660674662'; // Test Kullanıcısı örnek bilgi $terminalSafeId = '30231008172012760876143660674662'; // Test Kullanıcısı örnek bilgi $orderId = date('YmdHis'); // Anlık sipariş numarası örnek ECZ-00021 $lang = 'TR'; $ccbRewardAmount = '1.00'; $pcbRewardAmount = '1.00'; $xcbRewardAmount = '1.00'; $currencyCode = '949'; $installCount = '1'; $okUrl = 'https://eoksijen.com/ivirzivir/akbank/'; $failUrl = 'https://eoksijen.com/ivirzivir/akbank/'; $emailAddress = 'test@test.com'; $creditCard = str_replace(' ', '', $_POST['cardNumber']); $expiredDate = $_POST['expiry']; $cvv = $_POST['cvc']; $randomNumber = '4b202386c89c63dc45b60c525c387d5150bb89a48dbbedf8b357296b5f877f7a94005cc6eed80647b8b0a25751c0e09e68ee3208b4bdeedd9f418ddfa9f92b46'; $requestDateTime = '2025-04-05T11:00:55.314'; $secretKey = '32303232303432313136333632303233363567733773355f6731385f72375f6733337437726773335f7674383738763567387437335f5f737272763137736735'; // Test Kullanıcısı örnek bilgi $data = $paymentModel.$txnCode.$merchantSafeId.$terminalSafeId.$orderId.$lang.$amount.$ccbRewardAmount.$pcbRewardAmount.$xcbRewardAmount.$currencyCode.$installCount.$okUrl.$failUrl.$emailAddress.$creditCard.$expiredDate.$cvv.$randomNumber.$requestDateTime; function hashToString($data, $secretKey){ $hash = hash_hmac('sha512', $data, $secretKey, true); return base64_encode($hash); } $hash = hashToString($data, $secretKey); echo ' <html> <head></head> <body> <form id="paymentForm" action="https://virtualpospaymentgatewaypre.akbank.com/securepay" method="POST"> <input type="hidden" name="paymentModel" value="'.$paymentModel.'"> <input type="hidden" name="txnCode" value="'.$txnCode.'"> <input type="hidden" name="merchantSafeId" value="'.$merchantSafeId.'"> <input type="hidden" name="terminalSafeId" value="'.$terminalSafeId.'"> <input type="hidden" name="orderId" value="'.$orderId.'"> <input type="hidden" name="lang" value="'.$lang.'"> <input type="hidden" name="amount" value="'.$amount.'"> <input type="hidden" name="ccbRewardAmount" value="'.$ccbRewardAmount.'"> <input type="hidden" name="pcbRewardAmount" value="'.$pcbRewardAmount.'"> <input type="hidden" name="xcbRewardAmount" value="'.$xcbRewardAmount.'"> <input type="hidden" name="currencyCode" value="'.$currencyCode.'"> <input type="hidden" name="installCount" value="'.$installCount.'"> <input type="hidden" name="okUrl" value="'.$okUrl.'"> <input type="hidden" name="failUrl" value="'.$failUrl.'"> <input type="hidden" name="emailAddress" value="'.$emailAddress.'"> <input type="hidden" name="creditCard" value="'.$creditCard.'"> <input type="hidden" name="expiredDate" value="'.$expiredDate.'"> <input type="hidden" name="cvv" value="'.$cvv.'"> <input type="hidden" name="randomNumber" value="'.$randomNumber.'"> <input type="hidden" name="requestDateTime" value="'.$requestDateTime.'"> <input type="hidden" name="hash" value="'.$hash.'"> <noscript><input type="submit" value="'.$amount.'₺ Ödeme Yap"></noscript> </form> <script> // Sayfa yüklendiğinde form otomatik olarak gönderilsin window.onload = function() { document.getElementById("paymentForm").submit(); }; </script> </body> </html>'; } ?>Örnek çalışan kod : https://eoksijen.com/ivirzivir/akbank/
İstek üzerinde farklı sistemlere entegre edilmesi konusunda ücretli destek olabilirim