• 18-05-2019, 20:35:02
    #1
    Paytr ödeme modülünde, tam ödeme olduğu esnada işlem yaptırmak istiyorum.

     Class Pay { 
     
            public $merchant_id = '***'; 
            public $merchant_key = '****'; 
            public $merchant_salt = '****'; 
     
            function addOrder($price) { 
                global $db; 
                $dondur = array(); 
    
                $abc = rands::number(12); 
     
                $buy_user_id = users($_SESSION['id']); 
     
                $control_cart = $db->prepare("SELECT * FROM cart WHERE buy_user_id = ?"); 
                $control_cart->execute(array($_SESSION['id'])); 
    
                $orders = array(); 
     
                foreach($control_cart as $array){ 
                    $orders[] = array($array['item_name'], $array['item_price'], $array['count']); 
    } 
     
                $dondur[] = $buy_user_id['email']; 
                $dondur[] = $abc; 
                $dondur[] = $buy_user_id['fullname']; 
                $dondur[] = $buy_user_id['address']; 
                $dondur[] = $buy_user_id['phone']; 
                $dondur[] = $orders; 
                $dondur[] = $price; 
                return $dondur; 
     
    }  
     
            function bringForm($mail,$orderId,$fullname,$address,$phone,$orders=array(),$price) { 
                global $db; 
     
                $merchant_id = $this->merchant_id; 
                $merchant_key = $this->merchant_key; 
                $merchant_salt= $this->merchant_salt; 
     
                $email = $mail; 
                $payment_amount = $price * 100; 
                $merchant_oid = $orderId; 
                $user_name = $fullname; 
                $user_address = $address; 
                $user_phone = $phone; 
                $merchant_ok_url = "https://www.1en.net/payment-successful.html"; 
                $merchant_fail_url = "https://www.1en.net/payment-error.html"; 
     
                $user_basket = base64_encode(json_encode($orders)); 
     
                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; 
    
                $timeout_limit = "30"; 
    
                $debug_on = 1; 
    
                $test_mode = 0; 
    
                $no_installment    = 0;  
    
                $max_installment = 0; 
    
                $currency = "TL"; 
     
                $hash_str = $merchant_id .$user_ip .$merchant_oid .$email .$payment_amount .$user_basket.$no_installment.$max_installment.$currency.$test_mode; 
                $paytr_token = base64_encode(hash_hmac('sha256',$hash_str.$merchant_salt,$merchant_key,true)); 
     
                $post_vals = array( 
     
                    'merchant_id' => $merchant_id, 
                    'user_ip' => $user_ip, 
                    'merchant_oid' => $merchant_oid, 
                    'email' => $email, 
                    'payment_amount' => $payment_amount, 
                    'paytr_token' => $paytr_token, 
                    'user_basket' => $user_basket, 
                    'debug_on' => $debug_on, 
                    'no_installment' => $no_installment, 
                    'max_installment' => $max_installment, 
                    'user_name' => $user_name, 
                    'user_address' => $user_address, 
                    'user_phone' => $user_phone, 
                    'merchant_ok_url' => $merchant_ok_url, 
                    'merchant_fail_url' => $merchant_fail_url, 
                    'timeout_limit' => $timeout_limit, 
                    'currency' => $currency, 
                    'test_mode' => $test_mode 
     
                ); 
     
                $ch = curl_init(); 
                curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/odeme/api/get-token"); 
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
                curl_setopt($ch, CURLOPT_POST, 1) ; 
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals); 
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
                curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); 
                curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
                $result = @curl_exec($ch); 
    
                if(curl_errno($ch)) { 
                    die("PAYTR IFRAME connection error. err:".curl_error($ch)); 
                    curl_close($ch); 
    } 
     
                $result = json_decode($result,1); 
    
                if($result['status'] == 'success') { 
                    $token = $result['token']; 
    } else { 
                    die("PAYTR IFRAME failed. reason:".$result['reason']); 
    } 
     
                echo'<iframe src="https://www.paytr.com/odeme/guvenli/'.$token.'" id="paytriframe" frameborder="1" scrolling="no" style="width: 100%;"></iframe><div class="dx-separator"></div>'; 
     
    
    }
  • 18-05-2019, 20:51:18
    #2
    Merhaba,
    İmzamdaki Skype adresinden ulaşabilirsiniz.
    Teşekkürler.
  • 18-05-2019, 21:43:45
    #3
    Detaylı pm alabilir miyim hocam?
  • 18-05-2019, 22:54:00
    #4
    @aosmanergen; skype : themerig