BKM Express servisi aracılığıyla, BKM Express sisteminde kayıtlı kartlar aracılığıyla ödeme alabilirsiniz.
BKM Express Entegrasyonu iFrame ödeme yönteminde otomatik olarak ödeme ekranına gelmektedir. Ancak Direkt API çözümünde BKM Express entegrasyonu yaparken $payment_type = "bex" olarak gönderilmesi gerekmektedir.
Değişkenler | Açıklamalar |
---|---|
merchant_id | Mağaza no |
merchant_key | Mağaza parola |
merchant_salt | Mağaza gizli anahtar |
merchant_oid | Sipariş numarası |
payment_amount | Siparişe ait toplam Tutar |
user_ip | Kullanıcıdan alınan ip adresi |
Kullanıcının email adresi | |
payment_type | Bkm Express için bex olarak gönderilmesi gereklidir. |
installment_options | Taksit seçenekleri opsiyoneldir. Göndermediğiniz takdirde müşterinize taksit seçenekleri gösterilmeyecektir. Aşağıda verilen değerler örnektir. Siz komisyon oranlarınıza göre tutarları hesaplayıp aşağıdaki kısmı düzenlemelisiniz. |
BKM Express Test Kullanıcı Bilgileri
Kullanıcı bilgisi | Banka |
---|---|
0010@banka.com | ZİRAAT BANKASI |
0012@banka.com | HALK BANKASI |
0015@banka.com | VAKIFBANK |
0032@banka.com | TEB |
0046@banka.com | AKBANK |
0062@banka.com | GARANTİ |
0064@banka.com | İŞBANK |
0067@banka.com | YAPI KREDİ |
0134@banka.com | DENİZBANK |
0111@banka.com,qnbfinans@bkm.com | FİNANSBANK |
Tüm kullanıcıların şifreleri 147258'dir.
Bkm Express örnek kodları:
<?php
$merchant_id = '';
$merchant_key = '';
$merchant_salt = '';
$user_basket = htmlentities(json_encode(array(
array("Örnek ürün 1", "18.00", 1),
array("Örnek ürün 2", "33.25", 2),
array("Örnek ürün 3", "45.42", 1)
)));
$merchant_oid = $_POST['merchant_oid'];
$test_mode = 1;
if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
$user_ip = $ip;
$email = "testbex@siteniz.com";
$payment_amount = "15.20";
$installment_count = 0;
$payment_type = "bex";
/* Taksit seçenekleri opsiyoneldir. Göndermediğiniz takdirde müşterinize taksit seçenekleri gösterilmeyecektir. */
/* Aşağıda verilen değerler örnektir! Siz komisyon oranlarınıza göre tutarları hesaplayıp aşağıdaki kısmı düzenlemelisiniz. */
/* DİKKAT: Oluşturacağınız JSON tek satır olması ve arasında herhangi bir enter, vb. olmaması gerekmektedir. */
$installment_options = '{"advantage":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"axess":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"bonus":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"combo":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"cardfinans":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"maximum":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"paraf":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8},'.
'"world":{"2":20.2,"3":30.9,"4":40.8,"5":50.4,"6":60.4,"7":70.2,"8":80.1,"9":90.5,"10":100.3,"11":110.2,"12":120.8}}';
$hash_str = $merchant_id . $user_ip . $merchant_oid . $email . $payment_amount . $payment_type . $installment_count . $test_mode . $installment_options;
$token = base64_encode(hash_hmac('sha256', $hash_str . $merchant_salt, $merchant_key, true));
$post = [
'merchant_id' => $merchant_id,
'user_ip' => $user_ip,
'merchant_oid' => $merchant_oid,
'email' => $email,
'payment_type' => $payment_type,
'payment_amount' => $payment_amount,
'installment_count' => $installment_count,
'test_mode' => $test_mode,
'user_name' => "TEST NAME",
'user_address' => "USER TEST ADDRESS",
'user_phone' => "05555555555",
'user_basket' => $user_basket,
'debug_on' => 1,
'paytr_token' => $token,
'installment_options' => $installment_options
];
$ch = curl_init('https://www.paytr.com/odeme');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 90);
//XXX: DİKKAT: lokal makinanızda "SSL certificate problem: unable to get local issuer certificate" uyarısı alırsanız eğer
//aşağıdaki kodu açıp deneyebilirsiniz. ANCAK, güvenlik nedeniyle sunucunuzda (gerçek ortamınızda) bu kodun kapalı kalması çok önemlidir!
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = @curl_exec($ch);
if (curl_errno($ch)) {
echo curl_error($ch);
curl_close($ch);
exit;
}
curl_close($ch);
exit($response);
?>
BKM Express örnek kodları indirmek için tıklayın.