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.)
80 Comments. Leave new
Hocam modülün durumu nedir? Paylaşacak mısınız?
Merhabalar yüzde 80 tamamlandı. Bu hafta hızlandırırız
merhaba ben de yazılımınızın ne asamada oldugunu soracağım..
Büyük bir sabırsızlıkla beklemedeyiz
Ne durumda ? Tembellik yapmayın hadi bi el atın modül lazım 🙂 Teşekkürler.
İşlerin yoğunluğundan dolayı biraz rötarlı tamamladık. Yarın yayında 🙂
Kolay gelsin.Allah hayırlı işler versin.Beklemedeyiz.
Paylaştık
Merakla bekliyoruz..
Sanal Pos entegrasyonumuz testleriyle beraber bitti , yarın herkesin paylaşımına açılacaktır.
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?.
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;"
Mysql e yukarıdaki kodu başarılı bir şekilde işledim ama hata aynı devam etmekte..
Hata kodunu iletebilir misiniz ? Yardımcı olalım
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.
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
Alıcının gelen kutusu dolu
İletiniz [email protected] adresine teslim edilemedi. Alıcının gelen kutusu dolu veya şu anda çok fazla e-posta alıyor.
attığım mail size ulaşamadı.
Bildiriminiz için teşekkür ederim. Kontrol sağlayıp dönüş sağlayacağım
Çok bir e-posta yoğunluğu mevcut değil dilerseniz [email protected] ye gönderebilirsiniz.
Merhaba Murat Bey ,
Demo adresinizi güvenlik sebebiyle yorumunu pasif hale getirdim, modülde bir güncelleştirme yayınladım sorunlarınız devam ediyor mu ?
https://github.com/agtt/opencart-3-sanalpos
Buradan “upload/admin/controller/extension/payment/webpos.php” dosyasını FTP’ye atmanız yeterli olur.
Modifikasyonlarıda yenilemeniz gerekmektedir aksi halde çalışmaz.
merhaba.. kuveytturk için sanal pos ne zaman hazır olur yayınlanır?
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
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…
Merhabalar,
Debug modunda bıraktığım bir kod mevcuttu onu kaldırınca hata giderildi ,
https://github.com/agtt/opencart-3-sanalpos
Buradan “upload/admin/controller/extension/payment/webpos.php” dosyasını FTP’ye atmanız yeterli olur.
Rica ederiz.
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.
Merhaba Yaşar Bey ,
Kullanıcı gruplarından ilgili yetkilendirmeyi yapar iseniz sorun çözülecektir.
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
Aynı sorunu ben de yaşamaktayım..
Çözebildiniz mi?
modifikasyonlardan yenileme yapmaz iseniz hatalar alırsınız mutlaka yenileme yapınız…
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
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
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
Banka vs eklediniz mi ? İlk aldığınız 500 hatası onla ilgili olabilir. Ayrıca modifikasyonları refresh ettiniz mi ?
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
Selamlar , taksit tabı mevcuttur. [email protected] adresine bilgileri iletirseniz yardımcı olalım
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
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;
}
}
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
ilginizden dolayı tesekkür ederim asıl cözümü ayarladıgınız için gercekten profesyonel bir destek allah razı olsun
Rica ederiz ne demek 🙂
merhaba ben eklentiyi yükledim fakat
bankadan verilen bilgileri nereye girecez onu bulamadım
birde vakıfbank sanal posu çalışırmı
iyi çalışmalar
burda bakabilirsiniz,
system/helper/webpos/adapter/*****
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.
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.
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.
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;”
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
Merhaba Alabarka türk için kredi kartı ile ödeme mevcut mu
Mevcut değil dökümantasyonu iletirseniz inceleyelim.
Aynı sorun bendede mevcut
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
ben şöyle yapıtm,
$bank_id=1;
ama tabi mantıklı değil,
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.
Merhabalar,
dahil ettik github’a aktif edebilirsiniz.
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’];
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.
şuan doğru şekilde çalışıyor alımlar sitede
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.
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?
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…
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 ?
/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 ?
Elinize sağlık deneyip tekrar yorumda bulunacağım… Teşekkürler..
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?
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
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;”
Merhaba, bende kurdum test için ama sayfa görüntülenemiyor hatası alıyorum
3D Secure Aktif değil sanırım ne zaman olur acaba?
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.
Yükledim sorunsuz çalışıyor. Fakat anlamadığım ödeme almak için kendi banka iban bilgilerimizi nereye gireceğiz?
Merhabalar upladoladık ama eklentiyi düzenleye basarjeb erişim iznini yok diyor bi şekilde girince banka eklede yine erişim iznini yok diyor
Ö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.
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.
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?
KuveytTürk , boa , 3d_model , 1
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ı.
Teşekkürler,böyle bir çalışmayı ücretsiz kullanıma sunduğunuz için.Default tema haricinde tema kullanıyorum,kuveytTürk free pos kullanıyorum,ödeme sayfasında kredi kartını seçtiğimde şöyle bir hata çıkmakda ”Notice: Undefined offset: 1 in /home/rfvcanka/public_html/catalog/controller/extension/payment/webpos.php on line 150” 150. satırda ”$instalment_ratio=$instalment_array[1];” yazmakda.Buna rağmen kart bilgilerini girip ödeme almaya çalıştığımda,3D başarısız sayfası açılmakda.Controller/extension/payment/webpos.php deki ‘default/template’ leri silmeme rağmen aynı sorun devam etmekde.Versiyon 3.0.0.2.Desteklerinize şimdiden teşekkürler.