• 15-12-2020, 13:44:04
    #1
    Sorun çözüldü. Yardımcı olan arkadaşlara teşekkürler. Google 1 ağustos güncellemesinden dolayıymış, sadece chromede ödeme yaparken kullanıcı logout oluyormuş ve bundan ötürü bakiye işlenemiyor.
  • 15-12-2020, 13:52:44
    #2
    Chrome somesite cookie güncellemesinden dolayı 3d dönüşü müşteri logout oluyordur mutemelen. Notify.php dosyasında ilgili siparişi işlemeniz daha sağlıklı olur.
  • 15-12-2020, 14:06:51
    #3
    muhammettas adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar. Kullanmakta olan siteye ödeme yapan müşteri bazen arıyor.

    Siteden yapılan ödemeler hep başarılı oluyor, yani hata sayfasına düştüğü olmadı hiç

    Ödemeyi yaptım fakat sitedeki bakiyeye yansımadı diye. Bu her zaman olmuyor. Her 5 müşterinin ikisinde oluyor. sanal pos firmasındaödeme görünüyor fakat sitede görünmüyor bazen. Sanal pos firması yazılımı kontrol edin diyor.Siteden yapılan ödemeler hep başarılı oluyor, yani hata sayfasına düştüğü olmadı hiç.
    Gözden kaçırdığım bir yer mi var. Kontrol edebilecek olan olursa çok sevinirim

    3ds php sayfası,
    <?php    if(!isset($_SESSION['user_login'])) {        redirect('index');    }
        if($_POST) {        $open = fopen($_SERVER['DOCUMENT_ROOT'] . '/log/' . time() . '.txt', 'a+');                fwrite($open, print_r($_POST, true));                fclose($open);
            if($_POST['STATUS'] == 'SUCCESS') {            $ref     = $_POST['ORDER_REF_NUMBER'];            $query   = $_sql->S("*", "payments as p")->J("amount_list as a")->W("p.payment_id = '{$ref}' AND a.amount = p.payment_amount")->R();            $query   = $query[0];                        # update user            $up  = $_sql->U("user", "user_balance = user_balance + {$query['balance']}")->W("user_id = '{$query['user_id']}'")->R();            $up2 = $_sql->U("payments", "payment_confirm = '1'")->W("payment_id = '{$ref}'")->R();
                if($up['status'] == 'ok') {                echo "Ödeme başarılı. <a href='/'>Ana sayfaya dön</a>";
                    $_SESSION['user_balance'] = $_SESSION['user_balance'] + $query['balance'];            } else {                echo "Bir hata oluştu. Lütfen yönetici ile iletişime geçiniz. <a href='/iletisim'>İletişim sayfası</a>";            }        } else {            echo "Hatalı işlem. <a href='/'>Ana sayfa</a></br>". $_POST['RETURN_MESSAGE'];        }    } else {        echo "Hatalı işlem. <a href='/'>Ana sayfa</a>";    }?>


    pay.php sayfası
    <?php    function get_content($url, $post) {        $curl = curl_init();                curl_setopt( $curl, CURLOPT_URL , $url);                curl_setopt( $curl, CURLOPT_RETURNTRANSFER , true);                curl_setopt( $curl, CURLOPT_FOLLOWLOCATION , true);                curl_setopt( $curl, CURLOPT_POST , true);                curl_setopt( $curl, CURLOPT_POSTFIELDS , $post);                curl_setopt( $curl, CURLOPT_USERAGENT , $_SERVER['HTTP_USER_AGENT']);                curl_setopt( $curl, CURLOPT_REFERER   , $url);                curl_setopt( $curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));        $exec = curl_exec($curl);                curl_close($curl);
                    if( $strip ):                    return str_replace(array("\n","\t","\r"), NULL, $exec);                else:                    return $exec;                endif;    }
        if($_POST['pay']) {        if(isset($_SESSION['user_id']) && is_numeric($_SESSION['user_id'])) {            $amount = post('amount');            $user   = $_SESSION['user_id'];            $cardno = post('cardno');            $expm   = post('expm');            $expy   = post('expy');            $sec    = post('sec');            $owner  = post('cardowner');            $empty  = is_empty($amount, $user, $cardno, $expm, $expy, $sec, $owner);            $uinfo  = $_sql->S("*", "user")->W("user_id = '{$user}'")->R();            $uinfo  = $uinfo[0];            $expnam = explode(" ", $uinfo['user_name']);            $surnam = end($expnam);            $name   = str_replace($surnam, "", $uinfo['user_name']);
                if($empty) {                $json = "                    {                        \"Config\" :  {                            \"MERCHANT\" : \"TEST1234\",                            \"MERCHANT_KEY\" : \"4oK26hK8MOXrIV1bzTRVPA==\",                            \"BACK_URL\" : \"http://kirbacyarisgazetesi.com\",                            \"PRICES_CURRENCY\" : \"TR\",                            \"ORDER_REF_NUMBER\" : \"001\",                            \"ORDER_AMOUNT\" : \"{$amount}\"                        },                        \"CreditCard\" : {                             \"CC_NUMBER\" : \"{$cardno}\",                             \"EXP_MONTH\" : \"{$expm}\",                             \"EXP_YEAR\" : \"{$expy}\",                             \"CC_CVV\" : \"{$sec}\",                             \"CC_OWNER\" : \"{$owner}\",                             \"INSTALLMENT_NUMBER\" : \"1\"                        },                        \"Customer\" : {                             \"FIRST_NAME\" : \"{$name}\",                             \"LAST_NAME\" : \"{$surnam}\",                             \"MAIL\" : \"{$uinfo['user_mail']}\",                             \"PHONE\" : \"{$uinfo['user_phone']}\",                             \"CITY\" : \"İstanbul\",                             \"STATE\" : \"Şişli\",                             \"ADDRESS\" : \"Merkez Mah. Bomonti Şişli/İstanbul\"                        }                    }                ";
    
                    echo get_content("https://posservice.elekse.com/api/pay/EYV3DPay", $json). "---";            }        }    }?>


    Notify.php sayfası
    <?php    if($_POST) {        $open = fopen('notify_post.txt', 'a+');              
     fwrite($open, var_dump($_POST));                fclose($open);    }
        if($_GET) {        $open = fopen('notify_get.txt', 'a+');  
                 fwrite($open, var_dump($_GET));  
                  fclose($open);    }?>
    Session Kullanımını Tamamen Kaldirmaniz gerekli Callback.php de hocam O şekilde çözülecektir
  • 15-12-2020, 14:21:31
    #4
    kucukomer adlı üyeden alıntı: mesajı görüntüle
    Chrome somesite cookie güncellemesinden dolayı 3d dönüşü müşteri logout oluyordur mutemelen. Notify.php dosyasında ilgili siparişi işlemeniz daha sağlıklı olur.
    Hocam sorun aynen dediğiniz gibi olmuş. Çok teşekkür ediyorum sorun çözüldü

    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Session Kullanımını Tamamen Kaldirmaniz gerekli Callback.php de hocam O şekilde çözülecektir
    Çözdüm hocam yardımlarınız için çok saolun