İş Bankası Nestpay (EST)
İş Bankası, Nestpay (eski adıyla EST) altyapısını kullanır. Asseco firmasının geliştirdiği bu altyapı, İş Bankası dışında birçok banka tarafından da (Akbank, Finansbank, Halkbank, Anadolubank) kullanılmaktadır.
API Bilgileri
- Test URL: https://entegrasyon.asseco-see.com.tr/fim/est3Dgate
- Canlı URL: Banka tarafından verilir
- Client ID: Üye işyeri numarası
- Store Key: 3D Secure anahtarı
1. 3D Secure Hash Hesaplama
$client_id = '700100000';
$store_key = 'TRPXXXXXXX';
$amount = '100.00';
$order_id = uniqid('ISB-');
$ok_url = 'https://siteniz.com/odeme/basarili';
$fail_url = 'https://siteniz.com/odeme/hata';
$rnd = microtime();
$hash_str = $client_id . $order_id . $amount
. $ok_url . $fail_url . 'Auth'
. '' . $rnd . '' . ''
. $store_key;
$hash = base64_encode(
sha1($hash_str, true)
);
2. 3D Form Post
$form_data = [
'clientid' => $client_id,
'amount' => $amount,
'oid' => $order_id,
'okUrl' => $ok_url,
'failUrl' => $fail_url,
'islemtipi' => 'Auth',
'taksit' => '',
'rnd' => $rnd,
'hash' => $hash,
'currency' => '949',
'storetype' => '3d_pay',
'lang' => 'tr',
];
3. Response İşleme
if ($_POST['mdStatus'] === '1') {
$return_hash = $_POST['HASH'];
$params = $_POST['HASHPARAMS'];
$params_val = $_POST['HASHPARAMSVAL'];
$check_str = '';
foreach (explode(':', $params) as $p) {
$check_str .= $_POST[$p] ?? '';
}
$check_str .= $store_key;
$expected = base64_encode(
sha1($check_str, true)
);
if ($expected === $return_hash) {
complete_order($_POST['oid']);
}
}