📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
matba.demodesign.com.tr
/
application
/
views
/
site
📝
odemeyap_view.php
← Geri Dön
<style> div[class*="block-checkoutprogress"] { } ol.checkout-progress { text-align: center; padding: 0; margin-top: 40px; } .checkout-progress--step__current { color: #40bbf4; } .checkout-progress--step { width: 130px; display: inline-block !important; font-size: 14px; color: #92929b; position: relative; } .checkout-progress--step__current { font-weight: bold; } .checkout-progress--step { display: inline; padding-right: 1em; } .checkout-progress--step__current:before { border: 3px solid #40bbf4; } .checkout-progress--step:before { content: counter(checkout-progress) "2. "; counter-increment: checkout-progress; } .checkout-progress--step__next:before { background: #f0f0f4; border: 3px solid #f0f0f4; } .checkout-progress--step:before { width: 30px; display: block; height: 30px; font-size: 14px; margin: 0 auto 10px; border-radius: 50%; line-height: 26px; padding-left: 1px; } .cps-order-information:before { content: "1. "; counter-increment: checkout-progress; } .cps-review:before { content: "3. "; counter-increment: checkout-progress; } .cps-tasarim-yukle:before { content: "2. "; counter-increment: checkout-progress; } .checkout-progress--step:after { content: ""; display: block; height: 1px; width: 70px; background: #d0d0d0; position: absolute; right: -28px; top: 14px; } .checkout-progress--step__current { color: #40bbf4; } </style> <div class="container"> <div class="row"> <div class="col-md-12"> <?php if(!empty($hatali)){ ?> <div class="col-md-12" style="margin-top:20px"> <div class="alert alert-danger" role="alert"> <?php echo $hatali; ?> </div> </div> <?php } ?> <div id="block-checkoutprogress-3" class="block-commerce-checkout block-checkoutprogress-3"> <ol class="checkout-progress clearfix"> <li class="checkout-progress--step checkout-progress--step__next cps-order-information">Adres Bilgileri</li> <li class="checkout-progress--step checkout-progress--step__next cps-tasarim-yukle">Tasarım Yükle</li> <li class="checkout-progress--step checkout-progress--step__current cps-review">Ödeme</li> </ol> </div> </div> </div> </div> <?php if(isset($_POST['odemeform'])){ $siparis_faturaid = $this->input->post('siparis_faturaid'); $siparis_uyeid = $this->input->post('siparis_uyeid'); $siparis_teslimatid = $this->input->post('siparis_teslimatid'); $siparisler = $this->input->post('siparisler'); $siparis_numarasi = $this->input->post('siparis_numarasi'); $siparis_tarih = date('d/m/Y'); $siparis_durum = '0'; // Sipariş Başladı 1 Ödeme Geldi 2 Kredi Kartı Onay Vermedi $siparis_tutar = $this->input->post('siparis_tutar'); // Sipariş Başlangıcı Kaydetme $siparisbilgiler = array( 'siparis_uyeid' => $siparis_uyeid, 'siparis_faturaid' => $siparis_faturaid, 'siparis_teslimatid' => $siparis_teslimatid, 'siparisler' => $siparisler, 'siparis_tutar' => $siparis_tutar, 'siparis_durum' => $siparis_durum, 'siparis_tarih' => $siparis_tarih, 'siparis_numarasi' => $siparis_numarasi, 'siparis_aksiyon' => 1, 'siparis_indirimtutar' => $this->input->post('indirimtutar') ) ; $sipariskaydet = $this->DB_model->kaydet('siparisler',$siparisbilgiler); /// Üye Bilgilerine Erişme $uyebilgi = $this->Auth_model->uyekontrol($siparis_uyeid); // Ödeme Ayarlarını Çekme $kosul = array('odemeid' => 1 ); $odeme = $this->DB_model-> bul('odeme_ayarlari',$kosul); ## 1. ADIM için örnek kodlar ## ####################### DÜZENLEMESİ ZORUNLU ALANLAR ####################### # ## API Entegrasyon Bilgileri - Mağaza paneline giriş yaparak BİLGİ sayfasından alabilirsiniz. $merchant_id = $odeme->paytr_merchant_id; $merchant_key = $odeme->paytr_merchant_key; $merchant_salt = $odeme->paytr_merchant_salt; # ## Müşterinizin sitenizde kayıtlı veya form vasıtasıyla aldığınız eposta adresi $email = $uyebilgi->uye_email; # ## Tahsil edilecek tutar. $payment_amount = str_replace(['.',','],'',$siparis_tutar); //9.99 için 9.99 * 100 = 999 gönderilmelidir. # ## Sipariş numarası: Her işlemde benzersiz olmalıdır!! Bu bilgi bildirim sayfanıza yapılacak bildirimde geri gönderilir. $merchant_oid = $siparis_numarasi; # ## Müşterinizin sitenizde kayıtlı veya form aracılığıyla aldığınız ad ve soyad bilgisi $user_name = $uyebilgi->uye_adsoyad; # ## Müşterinizin sitenizde kayıtlı veya form aracılığıyla aldığınız adres bilgisi $user_address = $uyebilgi->uye_adsoyad; # ## Müşterinizin sitenizde kayıtlı veya form aracılığıyla aldığınız telefon bilgisi $user_phone = $uyebilgi->uye_telefon; # ## Başarılı ödeme sonrası müşterinizin yönlendirileceği sayfa ## !!! Bu sayfa siparişi onaylayacağınız sayfa değildir! Yalnızca müşterinizi bilgilendireceğiniz sayfadır! ## !!! Siparişi onaylayacağız sayfa "Bildirim URL" sayfasıdır (Bakınız: 2.ADIM Klasörü). $merchant_ok_url = site_url('Home/odemebasarili'); # ## Ödeme sürecinde beklenmedik bir hata oluşması durumunda müşterinizin yönlendirileceği sayfa ## !!! Bu sayfa siparişi iptal edeceğiniz sayfa değildir! Yalnızca müşterinizi bilgilendireceğiniz sayfadır! ## !!! Siparişi iptal edeceğiniz sayfa "Bildirim URL" sayfasıdır (Bakınız: 2.ADIM Klasörü). $merchant_fail_url = site_url('Home/odemehatali'); # ## Müşterinin sepet/sipariş içeriği $user_basket = base64_encode(json_encode(array( array("Örnek ürün 1", "18.00", 1), // 1. ürün (Ürün Ad - Birim Fiyat - Adet ) array("Örnek ürün 2", "33.25", 2), // 2. ürün (Ürün Ad - Birim Fiyat - Adet ) array("Örnek ürün 3", "45.42", 1) // 3. ürün (Ürün Ad - Birim Fiyat - Adet ) ))); # /* ÖRNEK $user_basket oluşturma - Ürün adedine göre array'leri çoğaltabilirsiniz $user_basket = base64_encode(json_encode(array( array("Örnek ürün 1", "18.00", 1), // 1. ürün (Ürün Ad - Birim Fiyat - Adet ) array("Örnek ürün 2", "33.25", 2), // 2. ürün (Ürün Ad - Birim Fiyat - Adet ) array("Örnek ürün 3", "45.42", 1) // 3. ürün (Ürün Ad - Birim Fiyat - Adet ) ))); */ ############################################################################################ ## Kullanıcının IP adresi 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"]; } ## !!! Eğer bu örnek kodu sunucuda değil local makinanızda çalıştırıyorsanız ## buraya dış ip adresinizi (https://www.whatismyip.com/) yazmalısınız. Aksi halde geçersiz paytr_token hatası alırsınız. $user_ip=$ip; ## ## İşlem zaman aşımı süresi - dakika cinsinden $timeout_limit = "30"; ## Hata mesajlarının ekrana basılması için entegrasyon ve test sürecinde 1 olarak bırakın. Daha sonra 0 yapabilirsiniz. $debug_on = 1; ## Mağaza canlı modda iken test işlem yapmak için 1 olarak gönderilebilir. $test_mode = 1; $no_installment = 0; // Taksit yapılmasını istemiyorsanız, sadece tek çekim sunacaksanız 1 yapın ## Sayfada görüntülenecek taksit adedini sınırlamak istiyorsanız uygun şekilde değiştirin. ## Sıfır (0) gönderilmesi durumunda yürürlükteki en fazla izin verilen taksit geçerli olur. $max_installment = 0; $currency = "TL"; ####### Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. ####### $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_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); // 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); $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']); ######################################################################### ?> <!-- Ödeme formunun açılması için gereken HTML kodlar / Başlangıç --> <script src="https://www.paytr.com/js/iframeResizer.min.js"></script> <iframe src="https://www.paytr.com/odeme/guvenli/<?php echo $token;?>" id="paytriframe" frameborder="0" scrolling="no" style="width: 100%;"></iframe> <script>iFrameResize({},'#paytriframe');</script> <!-- Ödeme formunun açılması için gereken HTML kodlar / Bitiş --> <?php } ?>
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula