📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
paketsatisscripti.demodesign.com.tr
/
app
/
backend
/
payment
📝
PayTR-EFT.php
← Geri Dön
<?php if(@$pay==Null || @$amount==Null){ echo "Eksik data"; exit; } $merchant_id = $payment["paytr_no"]; $merchant_key = $payment["paytr_sifre"]; $merchant_salt = $payment["paytr_anahtar"]; # ## Müşterinizin sitenizde kayıtlı veya form vasıtasıyla aldığınız eposta adresi $email = $mail; $balance=round($amount,2); $balance2=$balance*100; $payment_amount = $balance2; //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=$sipcek["id"]."a".rand()."z2"; $user_name = $ad; # ## Müşterinizin sitenizde kayıtlı veya form aracılığıyla aldığınız adres bilgisi $user_address = $adres; # ## Müşterinizin sitenizde kayıtlı veya form aracılığıyla aldığınız telefon bilgisi $user_phone = $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.$siparisbasarili["url"]."?key=".$sipcek["sip_id"]; $merchant_fail_url = $site.$siparisbasarisiz["url"]."?key=".$sipcek["sip_id"]; # ## Müşterinin sepet/sipariş içeriği $user_basket = base64_encode(json_encode(array( array("Payment", "$balance", 1), // 1. ü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 = 0; $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; if($ayar["money"]=="TRY"){ $currency = "TL"; } else{ $currency =$ayar["money"]; } ####### Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. ####### $payment_type='eft'; $hash_str=$merchant_id.$user_ip.$merchant_oid.$email.$payment_amount.$payment_type.$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, 'payment_type'=>$payment_type, 'paytr_token'=>$paytr_token, 'debug_on'=>$debug_on, 'timeout_limit'=>$timeout_limit, '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']); ######################################################################### ?> <script src="https://www.paytr.com/js/iframeResizer.min.js"></script> <iframe src="https://www.paytr.com/odeme/api/<?php echo $token;?>" id="paytriframe" frameborder="0" scrolling="no" style="width: 100%;"></iframe> <script>iFrameResize({},'#paytriframe');</script> <?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