OpenCart 3.x SanalPos Entegrasyonu ÜCRETSİZ

OpenCart 3.x için ücretsiz sanalpos entegrasyonunun paylaşımını yaptık. Çok önceden paylaşılan ve güncellenmesi duran 2.x versiyonu üzerime inşaa edilmiştir.

İndirme linki  : İndir 

İndirme linki 2 : https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=34254

Git : https://github.com/agtt/opencart-3-sanalpos 

Güncellenme ( 12.05.2018 ) : Sanal pos entegrasyonları üzerinde son testler yapılmaktadır.

Güncellenme ( 05.06.2018 ) : Testler yapılıyor github’ya hafta içinde yüklenecek.

Güncellenme ( 09.06.2018 ) : Testler yapıldı ve işlemler başarılı. Github’a yüklenildi.

Güncellenme ( 07.07.2018 ) : Debug modunda bıraktığımız bir kod vardı kaldırdık. Fixed.

Yönetim paneli tarafının yazımı tamamlandı.

Diğer görüntüler

 

Paylaşacağımız Poslar

HalkBank

FinansBank

Garanti

İş Bankası

DenizBank

VakıfBank

 

(Kuvey türk 3d yapısını yeni yazdık onu sonraki versiyonda dahil edeceğiz.)

 

, , , , , ,
Önceki yazı
Javascript ile OOP ( Nesne Tabanlı Programlama )
Sonraki yazı
Amazon Entegrasyonu MWS – SDK – PHP – C# – Java

İlgili Yazılar

No results found

79 Yorum. Yeni Yorum

  • Hocam modülün durumu nedir? Paylaşacak mısınız?

    Cevapla
  • merhaba ben de yazılımınızın ne asamada oldugunu soracağım..

    Cevapla
  • Büyük bir sabırsızlıkla beklemedeyiz

    Cevapla
  • Ne durumda ? Tembellik yapmayın hadi bi el atın modül lazım 🙂 Teşekkürler.

    Cevapla
  • Onur balkan
    5 Haziran 2018 08:23

    Merakla bekliyoruz..

    Cevapla
  • Sanal Pos entegrasyonumuz testleriyle beraber bitti , yarın herkesin paylaşımına açılacaktır.

    Cevapla
  • kemaldurhat
    11 Haziran 2018 16:40

    Admin Panelde > Entegrasyonlar > Sanal Pos kısımlarına girdiğimde hata vermekte. yada yeniden login olmamı istiyor. Kullanıcı yetkilerini düzenledim onda bir problem yok. Acaba nedendir?.

    Cevapla
    • Veritabanındaki tabloyu install etmemiş olabilirsiniz. Daha kolay kurulum için bir güncelleştirme paylaşacağız.

      Aşağıdaki SQL’i phpmyadmin(MySQL)’de okutun.

      Boldişaretlediğim alan DB Prefix’iniz.

      CREATE TABLE IF NOT EXISTS `oc_webposbank` (
      `bank_id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(64) NOT NULL,
      `image` varchar(64) NOT NULL,
      `method` varchar(64) NOT NULL,
      `model` varchar(64) NOT NULL,
      `short` varchar(64) NOT NULL,
      `status` tinyint(1) NOT NULL,
      PRIMARY KEY (`bank_id`)
      ) ENGINE=MyISAM DEFAULT COLLATE=utf8_general_ci;"

      Cevapla
      • kemaldurhat
        12 Haziran 2018 10:02

        Mysql e yukarıdaki kodu başarılı bir şekilde işledim ama hata aynı devam etmekte..

        Cevapla
        • Hata kodunu iletebilir misiniz ? Yardımcı olalım

          Cevapla
          • kemaldurhat
            12 Haziran 2018 11:56

            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 150
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 155
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 158
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 159
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 241
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 242
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/admin/controller/extension/webposbuilder.php on line 258
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 236
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 244
            2018-06-12 10:05:32 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 273
            2018-06-12 10:05:32 – PHP Notice: Undefined variable: username in /home/konusancocuk/public_html/admin/view/template/common/column_left.tpl on line 5
            2018-06-12 10:05:32 – PHP Notice: Error: Could not load template /home/konusancocuk/public_html/admin/view/template/extension/webposbuilder_list.tpl! in /home/konusancocuk/public_html/system/storage/modification/system/library/template/php.php on line 23
            2018-06-12 10:05:39 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 236
            2018-06-12 10:05:39 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 244
            2018-06-12 10:05:39 – PHP Notice: Undefined index: user_token in /home/konusancocuk/public_html/system/storage/modification/admin/controller/common/column_left.php on line 273

          • OpenCart versiyonunuzu kontrol eder misiniz ? Muhtemelen 2.x kullanıyorsunuz pos 3.x için geçerlidir.

  • Selam, paylaşım için teşekkürler.Journal teması ile opencart 3.x versiyonunda kurdum test amaçlı.
    checkout sayfasına gitmek istediğimde
    notice seviyesinde undefined index hatası ve sonrasında fatal error sayfa yüklenmiyor.
    catalog/controller/extension/payment/webpos.php on line 44
    catalog/controller/extension/payment/webpos.php on line 46
    Fatal error: Uncaught Twig_Error_Loader: Unable to find template “journal2/template/default/template/extension/payment/webpos.twig” (looked into:
    ….
    gibi hatalar çıkıyor.
    isterseniz linki verebilirim.

    Cevapla
    • Selamlar ,
      Linki hatta koda müdahele edebileceğimiz şekilde paylaşabilirseniz sizlere hızlıca yardımcı olalım: )
      Ayrıca aşağıdaki dosyaları journal klasörüne uygun şekilde yüklemelisiniz. “journal2/template/default/template/extension/payment/” klasörü içerisine.
      catalog\view\theme\default\template\extension\payment\webpos.twig
      catalog\view\theme\default\template\extension\payment\webpos_failure.twig
      catalog\view\theme\default\template\extension\payment\webpos_instalment.twig
      catalog\view\theme\default\template\extension\payment\webpos_success.twi

      [email protected] mailine iletebilirsiniz. Bir kontrol edelim

      Cevapla
    • Modifikasyonlarıda yenilemeniz gerekmektedir aksi halde çalışmaz.

      Cevapla
  • uğur said karanfil
    19 Haziran 2018 13:44

    merhaba.. kuveytturk için sanal pos ne zaman hazır olur yayınlanır?

    Cevapla
  • Merhabalar, Öncelikle paralı olarak yaygın olan böylesi işlevsel bir modülü ücresiz olarak paylaşmak oldukça başarılı ve taktir edilesi bir hareket.
    Kurulum konusunda rar dosya içerisinde yer alan klasörleri ftp üzerinden yerleştirdim. Sonra modülü bulup aktif hale getirdim. Testler öncesi modül hakkında deneyen ya da ödemelerin düşmesi konusunda sıkıntı yaşayan var mı öğrenmek istedim.

    Keyifli satışlar
    Clark Kent

    Cevapla
  • Merhaba,
    Öncelikle bu modülü görünce çok heyecanlandığımı belirtmek isterim, elinize emeğinize sağlık. Soruma gelince; Opencart 3 kullanıyorum. Modül kurulumunda sorun yaşıyorum. Admin Ödeme Metodunda kurulum yapmak isterken aşağıdaki hatayla karşılaştım, yardımcı olursanız sevinirim.

    Uncaught ArgumentCountError: Too few arguments to function Template::__construct(), 1 passed in admin\controller\extension\payment\webpos.php on line 6 and exactly 2 expected in modification\system\library\template.php:24 admin\controller\extension\payment\webpos.php(6): Template->__construct(‘template’) #1

    Teşekkür ederim…

    Cevapla
  • Yaşar Değirmenci
    17 Temmuz 2018 13:19

    Bu sayfaya erişim izniniz bulunmuyor. Lütfen sistem yöneticinize başvurunuz. Eğer yönetici iseniz kullanıcı gruplarından yönetici izinlerini ayarlayınız.

    Banka eklemeye kalktığımda yukarıdaki hatayı alıyorum. neden kaynaklı olabilir.

    Cevapla
  • Sipariş sayfasında kredi kartını seçtiğimde bir hata mesajı belirdi ve ardından aşağıdaki hatayı aldım. Sonrasında sipariş tamamla sayfasına bir daha ulaşamadım. Modülü kaldırdığımda sorun çözüldü. Problem neden kaynaklı olabilir?
    Notice: Undefined index: webpos_bank_id in /home/autocardesim/public_html/catalog/controller/extension/payment/webpos.php on line 44Notice: Undefined index: model in /home/autocardesim/public_html/catalog/controller/extension/payment/webpos.php on line 46

    Cevapla
  • modifikasyonlardan yenileme yapmaz iseniz hatalar alırsınız mutlaka yenileme yapınız…

    Cevapla
  • Sancak SARIKAYA
    7 Ağustos 2018 02:08

    mkerhaba; tüm belirtilenleri yaptım fakat ödeme sistemini şnstall ettikten sonra düzenle dediğimde github daki webpos php kod sayfasına baglanıyor; ve entegrasyon sanal pos ekle dediğimde http internall 500 hatası alıyorum

    Cevapla
    • Selamlar ,

      Test ortamında çalışıyorsanız bilgileri iletebilir misiniz .

      ini_set(‘display_errors’, 1);
      ini_set(‘display_startup_errors’, 1);
      error_reporting(E_ALL);

      Bu kodu yazarak aslında ne hata verdiğini görüntüleyebilisiniz. Çıkan hatayı iletirseniz yardımcı olalım

      Cevapla
  • Sancak SARIKAYA
    7 Ağustos 2018 02:57

    birçok hatayı düzelttim fakat bu kezde entegrasyon sanal pos ekle kısmında banka ekle aktif değil ve hicbir banka görülmüyor ve ödeme secenegi kredi kartı ile öde seceneginde Warning: Invalid argument supplied for foreach() in /home/powpcclu/domains/powpc.club/public_html/catalog/controller/extension/payment/webpos.php on line 141 hatası cıkıyor

    Cevapla
  • merhaba paylasımınız için tesekkür ederiz ama bir bilgi istiyorum webpos ta taksit tap vardı bunda yok heralde birde alban auarları için yardımcı olmanız mumkun mu

    Cevapla
    • Selamlar , taksit tabı mevcuttur. [email protected] adresine bilgileri iletirseniz yardımcı olalım

      Cevapla
      • yazdım ama bir konturol etseler tema degiştirdim test modunada aldım test modunda sorun görünmuyor ödeme yapınca ana sayfaya atıyor
        hata kodu da vermiyor ödeme yi yapıyoruz normalde ödeme için tesekkür ederizgibi bir yazı cıkması lazım siteye yönlendirirken ama bizde direk 500 hatası olan bir yazı cıkıyor

        Cevapla
  • BENİM GİBİ AYNI PROBLEMİ ALAN ARKADAŞLARA GÜZEL BİR FİKİR
    ÖDEME ALIPTA YONLENDİRME OLUMUYORSA
    public_html/catalog/controller/extension/payment/webpos.php
    SAYFASINI EDİT BÖLÜMÜNDE
    load->language(‘extension/payment/webpos’);

    $data[‘text_credit_card’] = $this->language->get(‘text_credit_card’);
    $data[‘text_loading’] = $this->language->get(‘text_loading’);
    $data[‘text_3d_hosting’] = $this->language->get(‘text_3d_hosting’);

    $data[‘entry_cc_owner’] = $this->language->get(‘entry_cc_owner’);
    $data[‘entry_cc_number’] = $this->language->get(‘entry_cc_number’);
    $data[‘entry_cc_expire_date’] = $this->language->get(‘entry_cc_expire_date’);
    $data[‘entry_cc_cvv2’] = $this->language->get(‘entry_cc_cvv2’);

    $data[‘button_confirm’] = $this->language->get(‘button_confirm’);
    $data[‘button_back’] = $this->language->get(‘button_back’);

    $data[‘months’] = array();

    for ($i = 1; $i strftime(‘%B’, mktime(0, 0, 0, $i, 1, 2000)),
    ‘value’ => sprintf(‘%02d’, $i)
    );
    }

    $today = getdate();

    $data[‘year_expire’] = array();

    for ($i = $today[‘year’]; $i strftime(‘%Y’, mktime(0, 0, 0, 1, 1, $i)),
    ‘value’ => strftime(‘%Y’, mktime(0, 0, 0, 1, 1, $i))
    );
    }
    $data[‘cc_types’] = array();
    //add supported cards VISA-MasterCard-Amex etc
    $data[‘cc_types’][]=array(‘text’=>’VISA’,’value’=>’1′);//VISA
    $data[‘cc_types’][]=array(‘text’=>’MasterCard’,’value’=>’2′);//MasterCard
    $data[‘cc_types’][]=array(‘text’=>’AMEX’,’value’=>’3′);//American Express
    $bank_id=$this->session->data[‘webpos_bank_id’];
    $bank=$this->getbank($bank_id);
    $data[‘payment_model’]=$bank[‘model’];

    if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/payment/webpos’)) {
    return $this->load->view($this->config->get(‘config_template’) . ‘/template/payment/webpos’, $data);
    } else {
    return $this->load->view(‘default/template/extension/payment/webpos’, $data);
    }
    }
    public function helperload($helper) {
    $file = DIR_SYSTEM . ‘helper/webpos/adapter/’ . $helper . ‘.php’;
    $class_only=explode(‘/’,$helper);
    $class = preg_replace(‘/[^a-zA-Z0-9]/’, ”, $class_only[1]);
    if (file_exists($file)) {
    include_once($file);
    $this->registry->set(‘webpos_’ . str_replace(‘/’, ‘_’, $class_only[1]), new $class($this->registry));
    } else {
    trigger_error(‘Error: Could not load webpos helper ‘ . $file . ‘!’);
    exit();
    }
    }
    private function getbank($bank_id) {
    $query = $this->db->query(“SELECT DISTINCT * FROM ” . DB_PREFIX . “webposbank WHERE bank_id = ‘” . (int)$bank_id . “‘”);

    return $query->row;
    }
    public function getTotal() {
    $order_total=0;
    $order_data = array();

    $order_data[‘totals’] = array();
    $total = 0;
    $taxes = $this->cart->getTaxes();

    $this->load->model(‘setting/extension’);

    $sort_order = array();

    $results = $this->model_setting_extension->getExtensions(‘total’);

    foreach ($results as $key => $value) {
    $sort_order[$key] = $this->config->get(“total_”.$value[‘code’] . ‘_sort_order’);
    }

    array_multisort($sort_order, SORT_ASC, $results);
    foreach ($results as $result) {

    if ($this->config->get(“total_”.$result[‘code’] . ‘_status’)) {
    $this->load->model(‘extension/total/’ . $result[‘code’]);

    $this->{‘model_extension_total_’ . $result[‘code’]}->getTotal(array(“totals”=>$order_data[‘totals’],”total”=>$total,”taxes”=>$taxes));
    }
    }

    $sort_order = array();

    foreach ($order_data[‘totals’] as $key => $value) {
    $sort_order[$key] = $value[‘sort_order’];
    }

    array_multisort($sort_order, SORT_ASC, $order_data[‘totals’]);

    foreach ($order_data[‘totals’] as $total) {

    if($total[‘code’]==’total’){
    $order_total=$total[‘value’];
    }
    }
    return $order_total;
    }
    public function instalments() {
    $this->load->language(‘extension/payment/webpos’);
    $data[‘text_instalments’]=$this->language->get(‘text_instalments’);
    $data[‘text_instalment’]=$this->language->get(‘text_instalment’);
    $data[‘text_no_instalment’]=$this->language->get(‘text_no_instalment’);
    $data[‘payment_webpos_other_id’]=$this->config->get(‘payment_webpos_other_id’);
    $this->load->model(‘checkout/order’);
    $order_total = $this->cart->getTotal();
    //$order_total = $this->getTotal();
    $webpos_single_ratio=floatval($this->config->get(‘payment_webpostotal_single_ratio’));

    if ($webpos_single_ratio>0){
    $webpos_single_title=$this->language->get(‘text_single_positive’).'(%’.$webpos_single_r atio.’)’;
    } else if($webpos_single_ratiolanguage->get(‘text_single_negative’).'(%’.$webpos_single_r atio.’)’;
    } else {
    $webpos_single_title=$this->language->get(‘text_no_commision’).'(%’.$webpos_single_rati o.’)’;
    }
    $webpos_total=$order_total+($order_total*$webpos_s ingle_ratio/100);
    //
    $data[‘single_order_total’]=$this->currency->format($webpos_total, $this->session->data[‘currency’], false, true);
    $data[‘webpos_single_title’]=$webpos_single_title;

    $data[‘banks’]=$this->config->get(‘payment_webpos_banks_info’);
    $new_banks=array();
    //echo “”;print_r($data[‘banks’]);
    foreach($data[‘banks’] as $bank){
    if (@$bank[‘status’]!=0){
    $new_banks[$bank[‘bank_id’]]=$bank;
    if(!empty($bank[‘instalment’]) || $bank[‘instalment’]!=”){
    $instalments=array();
    $instalments=explode(‘;’,$bank[‘instalment’]);
    foreach($instalments as $instalment) {
    $instalment_array=explode(‘=’,$instalment);
    $instalment_count=$instalment_array[0];
    $instalment_ratio=$instalment_array[1];
    $instalment_total=$order_total+($order_total*$inst alment_ratio)/100;
    if($instalment_count!=0){
    $instalment_price=$instalment_total/$instalment_count;
    } else {
    $instalment_price=$order_total;
    }
    //$this->session->data[‘currency’];
    $instalment_total=$this->currency->format($instalment_total, $this->session->data[‘currency’], false, true);
    $instalment_price=$this->currency->format($instalment_price, $this->session->data[‘currency’], false, true);
    $new_banks[$bank[‘bank_id’]][‘instalments’][]=array(‘count’=>$instalment_count,
    ‘ratio’=>$instalment_ratio,
    ‘total’=>$instalment_total,
    ‘price’=>$instalment_price);
    }
    }
    }
    }
    unset($data[‘banks’]);
    $data[‘banks’]=$new_banks;
    //echo “”;print_r($data[‘banks’]);
    if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/payment/webpos_instalment’)) {
    $this->response->setOutput($this->load->view($this->config->get(‘config_template’) . ‘/template/payment/webpos_instalment’, $data));
    } else {
    $this->response->setOutput($this->load->view(‘default/template/extension/payment/webpos_instalment’, $data));
    }
    }

    public function send() {

    $this->load->model(‘checkout/order’);
    $this->load->language(‘extension/payment/webpos’);
    $order_info = $this->model_checkout_order->getOrder($this->session->data[‘order_id’]);
    $banks=$this->config->get(‘payment_webpos_banks_info’);
    $bank_id=$this->session->data[‘webpos_bank_id’];

    $webpos_bank=array();
    $webpos_class=”;
    foreach ($banks as $bank) {
    if($bank[‘bank_id’]==$bank_id){
    $webpos_bank=$bank;
    $webpos_class=$bank[‘method’].’/’.$bank[‘method’].$bank[‘model’];
    }
    }
    //load method.model class
    $this->helperload($webpos_class);

    if(isset($this->session->data[‘instalment’])) {
    $instalment_data=explode(‘_’,$this->session->data[‘instalment’]);
    $instalment_array=explode(‘x’,$instalment_data[1]);
    $instalment=$instalment_array[0];
    } else {
    $instalment=0;
    }

    $webpos_error=array();
    if($webpos_bank[‘model’]==”3d_hosting” || $webpos_bank[‘model’]==”hosting”){
    //
    } else {
    $webpos_error=$this->validate();
    if (($this->request->server[‘REQUEST_METHOD’] == ‘POST’) && (empty($webpos_error))) {
    $webpos_bank[‘cc_owner’]=$this->request->post[‘cc_owner’];
    $webpos_bank[‘cc_number’]=$this->request->post[‘cc_number’];
    $webpos_bank[‘cc_cvv2’]=$this->request->post[‘cc_cvv2’];
    $webpos_bank[‘cc_expire_date_month’]=$this->request->post[‘cc_expire_date_month’];
    $webpos_bank[‘cc_expire_date_year’]=$this->request->post[‘cc_expire_date_year’];
    $webpos_bank[‘cc_type’]=$this->request->post[‘cc_type’];
    }
    }
    //create object to use as json
    $json = array();
    if(!empty($webpos_error)) {
    $json[‘error’]=$this->language->get(‘error_fix’).PHP_EOL;
    foreach ($webpos_error as $error) {
    $json[‘error’].=$error.PHP_EOL;
    }
    } else {
    $webpos_bank[‘customer_ip’]=$this->request->server[‘REMOTE_ADDR’];

    $webpos_bank[‘instalment’]=$instalment;
    if ($this->request->server[‘HTTPS’]) {
    $webpos_bank[‘success_url’]=$this->url->link(‘information/information&information_id=8’, ”, ‘SSL’); //bank will return here if payment successfully finishes;
    BU BÖLÜMDE KIRMIZI İLE İŞARETLİ BÖLÜME ACTIGINIZ BİLGİ SAYFASININ URL SON EKİNİ EKLEYİN BİZİM GİBİ SORUN KALKIYOR ÖDEME ALINCA BU YONLENDİRME SAYFASINA GİDİYOR

    $webpos_bank[‘fail_url’]=$this->url->link(‘extension/payment/webpos/callback’, ”, ‘SSL’); //bank will return here if payment fails;
    } else {
    $webpos_bank[‘success_url’]=$this->url->link(‘extension/payment/webpos/callback’); //bank will return here if payment successfully finishes;
    $webpos_bank[‘fail_url’]=$this->url->link(‘extension/payment/webpos/callback’); //bank will return here if payment fails;
    }
    $webpos_bank[‘order_id’]=$this->session->data[‘order_id’]; //unique order id
    $webpos_bank[‘total’]=$this->currency->format($order_info[‘total’], $order_info[‘currency_code’], false, false);//total order amount
    $webpos_bank[‘mode’]=$this->config->get(‘payment_webpos_mode’);
    $webpos_bank[‘order_info’]=$order_info;
    $webpos_bank[‘products’]=$this->getOrderProducts();

    $method_response=array();
    $method_response=$this->{‘webpos_’.$webpos_bank[‘method’].$webpos_bank[‘model’]}->methodResponse($webpos_bank);

    if (isset($method_response[‘form’])) {
    $json[‘form’]= $method_response[‘form’];
    } else if (isset($method_response[‘redirect’])){
    $message=$method_response[‘message’];
    $this->model_checkout_order->addOrderHistory($this->session->data[‘order_id’], $this->config->get(‘payment_webpos_order_status_id’), $message, false);

    $json[‘redirect’] = $this->url->link(‘checkout/success’, ”, ‘SSL’);
    unset($this->session->data[‘instalment’]);
    unset($this->session->data[‘webpos_bank_id’]);
    } else if(isset($method_response[‘error’])) {
    $json[‘error’] = $method_response[‘error’];
    } else if (isset($method_response[‘payu3d’])) {
    $json[‘payu3d’]=$method_response[‘payu3d’];
    }
    }

    $this->response->addHeader(‘Content-Type: application/json’);
    $this->response->setOutput(json_encode($json));
    }
    public function callback(){
    $this->load->language(‘extension/payment/webpos’);

    $data[‘title’] = sprintf($this->language->get(‘heading_title’), $this->config->get(‘config_name’));

    if (!$this->request->server[‘HTTPS’]) {
    $data[‘base’] = $this->config->get(‘config_url’);
    } else {
    $data[‘base’] = $this->config->get(‘config_ssl’);
    }

    $data[‘language’] = $this->language->get(‘code’);
    $data[‘direction’] = $this->language->get(‘direction’);

    $data[‘heading_title’] = sprintf($this->language->get(‘heading_title’), $this->config->get(‘config_name’));

    $data[‘text_response’] = $this->language->get(‘text_response’);
    $data[‘text_success’] = $this->language->get(‘text_success’);
    $data[‘text_success_wait’] = sprintf($this->language->get(‘text_success_wait’), $this->url->link(‘checkout/success’));
    $data[‘text_failure’] = $this->language->get(‘text_failure’);
    $data[‘text_failure_wait’] = sprintf($this->language->get(‘text_failure_wait’), $this->url->link(‘checkout/checkout’, ”, ‘SSL’));

    $this->load->model(‘checkout/order’);

    //$bank_id=$this->request->post[‘bank_id’];
    $bank_id=$this->session->data[‘webpos_bank_id’];
    //$order_id=$this->request->post[‘oid’];
    $order_id=$this->session->data[‘order_id’];

    $bank_response=$this->request->post;
    $banks=$this->config->get(‘payment_webpos_banks_info’);
    foreach ($banks as $bank) {
    if($bank[‘bank_id’]==$bank_id){
    $webpos_bank=$bank;
    $webpos_class=$bank[‘method’].’/’.$bank[‘method’].$bank[‘model’];
    }
    }
    //load method.model class
    $this->helperload($webpos_class);
    $webpos_bank[‘order_info’] = $this->model_checkout_order->getOrder($order_id);
    $webpos_bank[‘products’]=$this->getOrderProducts();
    $method_response=array();
    $method_response=$this->{‘webpos_’.$webpos_bank[‘method’].$webpos_bank[‘model’]}->bankResponse($bank_response,$webpos_bank);
    if ($method_response[‘result’]==1){
    $message=$method_response[‘message’].$webpos_bank[‘name’];
    $this->model_checkout_order->addOrderHistory($order_id, $this->config->get(‘payment_webpos_order_status_id’), $message, false);
    unset($this->session->data[‘order_id’]);
    unset($this->session->data[‘instalment’]);
    unset($this->session->data[‘webpos_bank_id’]);
    //standard opencart redirect
    $data[‘continue’] = $this->url->link(‘checkout/success’);
    $data[‘message’]=$method_response[‘message’];
    if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/payment/webpos_success’)) {
    $this->response->setOutput($this->load->view($this->config->get(‘config_template’) . ‘/template/payment/webpos_success’, $data));
    } else {
    $this->response->setOutput($this->load->view(‘default/template/extension/payment/webpos_success’, $data));
    }
    //

    } else {
    unset($this->session->data[‘order_id’]);
    unset($this->session->data[‘instalment’]);
    unset($this->session->data[‘webpos_bank_id’]);
    //standard opencart redirect
    $data[‘continue’] = $this->url->link(‘checkout/checkout’);
    $data[‘message’]=$method_response[‘message’];
    if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/payment/webpos_failure’)) {
    $this->response->setOutput($this->load->view($this->config->get(‘config_template’) . ‘/template/payment/webpos_failure’, $data));
    } else {
    $this->response->setOutput($this->load->view(‘default/template/extension/payment/webpos_failure’, $data));
    }
    //
    }

    }
    public function getOrderProducts() {
    $order_data = array();
    foreach ($this->cart->getProducts() as $product) {
    $option_data = array();

    foreach ($product[‘option’] as $option) {
    $option_data[] = array(
    ‘product_option_id’ => $option[‘product_option_id’],
    ‘product_option_value_id’ => $option[‘product_option_value_id’],
    ‘option_id’ => $option[‘option_id’],
    ‘option_value_id’ => $option[‘option_value_id’],
    ‘name’ => $option[‘name’],
    ‘value’ => $option[‘value’],
    ‘type’ => $option[‘type’]
    );
    }

    $order_data[‘products’][] = array(
    ‘product_id’ => $product[‘product_id’],
    ‘name’ => $product[‘name’],
    ‘model’ => $product[‘model’],
    ‘option’ => $option_data,
    ‘download’ => $product[‘download’],
    ‘quantity’ => $product[‘quantity’],
    ‘subtract’ => $product[‘subtract’],
    ‘price’ => $product[‘price’],
    ‘total’ => $product[‘total’],
    ‘tax’ => $this->tax->getTax($product[‘price’], $product[‘tax_class_id’]),
    ‘reward’ => $product[‘reward’]
    );
    }
    return $order_data;
    }
    protected function validate() {
    $this->load->language(‘extension/payment/webpos’);
    $webpos_error=array();
    if (utf8_strlen(trim($this->request->post[‘cc_owner’])) language->get(‘error_cc_owner’);
    }

    if ((utf8_strlen($this->request->post[‘cc_number’]) request->post[‘cc_number’]) > 16)) {
    $webpos_error[‘cc_number’] = $this->language->get(‘error_cc_number’);
    }
    if (utf8_strlen($this->request->post[‘cc_cvv2’]) !=3) {
    $webpos_error[‘cc_cvv2’] = $this->language->get(‘error_cc_cvv2’);
    }
    $today = date(“y-m-d H:i:s”);
    $date = $this->request->post[‘cc_expire_date_year’].”-“.$this->request->post[‘cc_expire_date_month’].”-31 00:00:00″;
    if ($date language->get(‘error_cc_expire_date’);
    }
    if ($this->request->post[‘cc_type’]==1 || $this->request->post[‘cc_type’]==2) {
    $luhn=$this->is_valid_luhn($this->request->post[‘cc_number’]);
    if ($luhn===false) {
    $webpos_error[‘cc_number_luhn’] = $this->language->get(‘error_cc_number_luhn’);
    }
    }

    return $webpos_error;
    }
    protected function is_valid_luhn($number) {
    settype($number, ‘string’);
    $sumTable = array(
    array(0,1,2,3,4,5,6,7,8,9),
    array(0,2,4,6,8,1,3,5,7,9));
    $sum = 0;
    $flip = 0;
    for ($i = strlen($number) – 1; $i >= 0; $i–) {
    $sum += $sumTable[$flip++ & 0x1][$number[$i]];
    }
    return ($sum % 10 === 0) ? true : false;
    }
    }

    Cevapla
    • Default tema haricinde tema kullanıyorsanız dediğiniz gibi hata veriyor. Ancak çözümü dediğiniz gibi olmuyor. Dedğiniz şekilde yapılınca, kullanıcı başarılı mesajını görüyor ancak bu seferde yönetim panelinde Siparişler kısmına düşmüyor. Yapmanız gereken;

      Catalog/controller/extensions/payment/webpos.php sayfasındaki “default/template/” yazılarını silmek.
      O zaman düzgün şekilde çalışıyor

      Cevapla
  • ilginizden dolayı tesekkür ederim asıl cözümü ayarladıgınız için gercekten profesyonel bir destek allah razı olsun

    Cevapla
  • umit caliskan
    15 Ağustos 2018 09:42

    merhaba ben eklentiyi yükledim fakat
    bankadan verilen bilgileri nereye girecez onu bulamadım
    birde vakıfbank sanal posu çalışırmı
    iyi çalışmalar

    Cevapla
  • Emeğiniz için teşekkür ederim 2 sorum olacak taksit komisyonunu nasıl belirliyoruz ve ürün sayfası için taksit tabı nasıl ekliye bilirim saygılar.

    Cevapla
  • Kolay gelsin pos ile ilgili kurulum yaparken erişim izni yok diye hata alıyorum ve bu sebepten tam çalışmadıgını düşünüyorum nerde yanlış yapıyorum bilgi verirseniz sevirim.

    Cevapla
  • Merhaba, tüm izinleri vermeme rağmen yetkilendirme hatası alıyorum. aynı sunucuda farklı bir alan açarak buraya yeni oc3 kurulumu yaptım. upload klasörünü oc dosyaları üzerine yazdım. eklentiler > ödeme metotları > karesoft yeşil kur butonuna basıyorum ancak yine yetki hatası alıyorum. tekrar eklentilerden ödeme metotlarına geldiğimde kurulu gözüküyor kaldırmak istediğimde yetkilendirme hatası alıyorum. farklı bir eklenti indirip denediğimde kurabiliyorum. sadece sizin eklentinizde bu hatayı alıyorum. inat ettim kuracağım ama bi yardım gerekiyor. Tüm izinlerin verilmesine rağmen yetkilendirme hatası alırsak ne yapmamız gerekir? (farklı eklentilerde sorun yok). yanıtlarınızdan dolayı şimdiden teşekkür eder, çalışmalarınızın devamını dilerim.

    Cevapla
    • Yukardakidan:

      Aşağıdaki SQL’i phpmyadmin(MySQL)’de okutun.

      Boldişaretlediğim alan DB Prefix’iniz.

      CREATE TABLE IF NOT EXISTS `oc_webposbank` (
      `bank_id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(64) NOT NULL,
      `image` varchar(64) NOT NULL,
      `method` varchar(64) NOT NULL,
      `model` varchar(64) NOT NULL,
      `short` varchar(64) NOT NULL,
      `status` tinyint(1) NOT NULL,
      PRIMARY KEY (`bank_id`)
      ) ENGINE=MyISAM DEFAULT COLLATE=utf8_general_ci;”

      Cevapla
    • Aynı sorunu yaşıyordum, Sistem > Kullanıcılar > Kullanıcı Grupları > Administrator’e tüm yetkileri veriniz, extensionslar kısmında webposnet işaretli olmuyor, o yüzden izin hatası veriyor

      Cevapla
  • Merhaba Alabarka türk için kredi kartı ile ödeme mevcut mu

    Cevapla
  • Özgür Doğan
    28 Ekim 2018 06:30

    Aynı sorun bendede mevcut

    Cevapla
  • Notice: Undefined index: webpos_bank_id in /home/karmotor/public_html/catalog/controller/extension/payment/webpos.php on line 292Notice: Undefined index: order_id in /home/karmotor/public_html/catalog/controller/extension/payment/webpos.php on line 294Notice: Undefined variable: webpos_class in /home/karmotor/public_html/catalog/controller/extension/payment/webpos.php on line 305Notice: Undefined offset: 1 in /home/karmotor/public_html/catalog/controller/extension/payment/webpos.php on line 57Notice: Error: Could not load webpos helper /home/karmotor/public_html/system/helper/webpos/adapter/.php! in /home/karmotor/public_html/catalog/controller/extension/payment/webpos.php on line 62

    Cevapla
  • Merhaba, Kuveyttürk Entegrasyonu Tamamlanmış Gözüküyor github’da. Aktif mi? Yoksa Hâlen Geliştirilmekte mi? Birde Kuveyt Türk Sanal Pos İçin mi Yoksa Kuveyt Türk Free Pos İçin mi Geçerli? Kusura Bakmayın Bu Soru ile Vaktinizi Almak İstememiştim Ama Bulamadım Birşey.

    Cevapla
  • Sercan TAPŞIN
    18 Kasım 2018 13:22

    Banka geri dönüşünde order_id değerinden beklediğiniz kısım yanlış
    $order_id=$this->session->data[‘order_id’];
    Burası şu şekle dönmeli.
    $order_id=$this->request->post[‘ReturnOid’];

    Cevapla
    • Merhaba,

      Yazdığınız işlem yanlış, çünkü orası genel olarak çalışır sizin yazmış olduğunuz tek bir pos içn post edilen parametre değeridir.

      Cevapla
      • Sercan TAPŞIN
        18 Kasım 2018 18:13

        şuan doğru şekilde çalışıyor alımlar sitede

        Cevapla
      • Sercan TAPŞIN
        18 Kasım 2018 18:33

        bank_id ve order_id değerleri SEO url ile çalışmıyor session da değerler yok. bank_id sabitlemek gerekiyo 1 diye sonra bank_id düzeldi order id bankadan dönen değerden almak gerekiyor callback fonksiyonunda onuda düzeltince sistem full çalıştı Tema dosyaları da default başından silince düzeldi.

        Cevapla
  • Reşat Mirza
    21 Kasım 2018 18:34

    1.Merhaba Amerikan express ekleyebiliyormuyuz?
    2.birde başka banka ekledigimizda bunun seçeneği nerde çıkıyor ödeme ekranında çıkmadı.
    3.sanal pos eklerken yöntem ve model ne secmeliyiz?

    Cevapla
  • Hakan Tekas
    30 Kasım 2018 10:37

    Merhaba,

    Modül için teşekkürler. Upload dizinini yükleyip, modifikasyonları refresh etmeme rağmen “Eklentiler->Ödeme Metotları” bölümünde göremedim. Bunun üzerine opencart’ı Türkçe olarak kullandığımızdan, “upload/catalog/language” dizinine en-gb’den kopyalarak “tr-tr” dizinini oluşturup tekrar upload ettim, ancak yine de listede göremedim.

    Gözden kaçırdığımız bir durum mu var acaba, modül listesinde isim olarak ne görmemiz gerekiyor?

    Opencart sürümümüz 3.0.2.0
    Teşekkürler…

    Cevapla
  • Oğuzhan Gemma
    20 Aralık 2018 23:28

    Merhaba, eklenti kurulumu yaparken ” Bu sayfaya erişim izniniz bulunmuyor. Lütfen sistem yöneticinize başvurunuz. Eğer yönetici iseniz kullanıcı gruplarından yönetici izinlerini ayarlayınız. ” bu sorunla karşılaşıyorum yardımcı olurmusunuz ?

    Cevapla
  • /public_html/catalog/controller/extension/payment/webpos.php on line 46

    BÖYLE BİR HATA ALIYORUM NASIL ÇÖZEBİLİRİM HATADAKİ 46. SATIRA BAKTIGIMDA KOMUT ŞÖYLE YAZMAKTA
    $data[‘payment_model’]=$bank[‘model’];
    hatanın kodu bu nasıl çözebilirim ?

    Cevapla
  • Ufuk GÜVENÇ
    1 Ocak 2019 21:32

    Elinize sağlık deneyip tekrar yorumda bulunacağım… Teşekkürler..

    Cevapla
  • Herşey tamam sorunsuz kurdum. Tema vs yollarını değiştirdim. Sitede ve adminde göründüğü kadarıyla sorunsuz çalışıyor. Fakat kredi kartından ödeme yapmak istediğimde ne hata veriyor nede başka birşey SİPARİŞİ ONAYLAYIN butonuna tıklıyorum hiç bir hareket olmuyor. Olduğu gibi kalıyor. Ne ödeme yapıyor nede hata veriyor. Sorun nedir sizce?

    Cevapla
  • Merhabalar opencart sanal bos kurulum ıcın sıtenızden karesoft zıp ı ındırdım ıcınden cıkan upload dosyalarını ftp ıle publich_html kısmına kopyaladım panele gırdıgımde eklentıler odeme seneceklerınde karesoft cıkıyor kur dıyorum aktıflestırıyor duzenle dedıgımde sayfa goruntulenemıyor hatası alıyorum yardımcı olabilirmisiniz

    Cevapla
    • daha önceden verilen webpos sql sorgusunu çalıştır.
      Aşağıdaki SQL’i phpmyadmin(MySQL)’de okutun.

      Boldişaretlediğim alan DB Prefix’iniz.

      CREATE TABLE IF NOT EXISTS `oc_webposbank` (
      `bank_id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(64) NOT NULL,
      `image` varchar(64) NOT NULL,
      `method` varchar(64) NOT NULL,
      `model` varchar(64) NOT NULL,
      `short` varchar(64) NOT NULL,
      `status` tinyint(1) NOT NULL,
      PRIMARY KEY (`bank_id`)
      ) ENGINE=MyISAM DEFAULT COLLATE=utf8_general_ci;”

      Cevapla
  • Sayfa Görüntülenemiyor
    4 Şubat 2019 02:38

    Merhaba, bende kurdum test için ama sayfa görüntülenemiyor hatası alıyorum

    Cevapla
  • Ensar ŞEKER
    8 Mart 2019 17:34

    3D Secure Aktif değil sanırım ne zaman olur acaba?

    Cevapla
  • Merhabalar

    Konuda eklemiş olduğunuz sanal pos modülünü indirdik. Ftp’ye attık.
    düzenleme sayfasına tıklanıldığında sayfa görüntülenemiyor hatası veriyor.
    yukarıda bahsetmiş olduğunuz sorguyu çalıştırdık fakat aynı hatayı alıyoruz.

    yardımcı olabilirmisiniz.

    Cevapla
  • Yükledim sorunsuz çalışıyor. Fakat anlamadığım ödeme almak için kendi banka iban bilgilerimizi nereye gireceğiz?

    Cevapla
  • Merhabalar upladoladık ama eklentiyi düzenleye basarjeb erişim iznini yok diyor bi şekilde girince banka eklede yine erişim iznini yok diyor

    Cevapla
  • İbrahim Ş.
    20 Ağustos 2019 11:09

    Öncelikle gerçekten müthiş bir ekipsiniz. Özellikle ödeme sistemleri konusundaki ücretsiz paylaşımlarınız ve destek konusundaki çabalarınız takdire şayan.

    Sizleri ve ekibinizi tebrik ederim.
    Bunları söylemek istemiştim.

    Emeğinize sağlık.

    Cevapla
  • Yetki sorunundan dolayı kurulumu yapamıyorum tüm yetkileri kaldırıp yeniden verdim yine olmadı malesef
    Olaylar kısmına tıklayınca modifikasyonlar geliyor ama stabil değil yardımcı olursanız sevinirim.

    Cevapla
  • Mehmet Atak
    20 Aralık 2019 17:00

    Kuveytturk Free pos’u nasıl çalıştırıyorum. Her türlü denedim olmuyor. opencart versiyon 3.0.3.2

    3d_model seçiyorum. Yanlış mı yapıyorum?

    Cevapla
  • Mehmet Atak
    20 Aralık 2019 17:15

    KuveytTürk , boa , 3d_model , 1

    Cevapla
  • Merhaba, öncelikle hizmetiniz için teşekkürler. Modulü kurdum (CardExpireDate field must be between 4 and 4 char.) hatası aldım value kısmını son 2 haneye çevirip gönderdiğimde 3d seçeneği seçili olduğu 3d sayfasına yönlenmeden çekim işemini yaptı.

    Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi girin.

2 − two =

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menü