Ziraat Bankası Sanal Pos
Ziraat Bankası, kendi sanal pos altyapısını sunar. 3D Secure zorunlu ödeme, taksitli satış ve iade işlemlerini destekler. Türkiye'nin en büyük bankası olarak geniş müşteri tabanına ulaşmanızı sağlar.
API Bilgileri
- Test MPI URL: https://zt3dtest.ziraatbank.com.tr/MPI_Enrollment.aspx
- Test API URL: https://sanaltest2.ziraatbank.com.tr/fim/api
- Canlı MPI URL: https://mpi.ziraatbank.com.tr/MPI_Enrollment.aspx
1. 3D Tescil İsteği
$merchant_id = '000000000111111';
$terminal_no = '00000001';
$secret_key = 'ZXXXXXXXXXXXXXXX';
$amount = '100.00';
$order_id = uniqid('ZRT-');
$hash_str = $merchant_id . $order_id . $amount
. 'https://siteniz.com/basarili'
. 'https://siteniz.com/hata'
. 'Sale' . microtime()
. $secret_key;
$hash = base64_encode(
sha1($hash_str, true)
);
$params = [
'MerchantId' => $merchant_id,
'MerchantPass' => $secret_key,
'OrderId' => $order_id,
'PurchAmount' => $amount,
'Currency' => '949',
'TxnType' => 'Sale',
'OkUrl' => 'https://siteniz.com/basarili',
'FailUrl' => 'https://siteniz.com/hata',
'SecureType' => '3DPay',
'Hash' => $hash,
];
2. Callback Doğrulama
if ($_POST['mdStatus'] === '1') {
$verify_str = $_POST['OrderId']
. $_POST['AuthCode']
. $_POST['ProcReturnCode']
. $secret_key;
$check = base64_encode(
sha1($verify_str, true)
);
if ($check === $_POST['Hash']) {
approve_payment($_POST['OrderId']);
}
}