Skip to content

Commit

Permalink
implements opencart 3.x extension
Browse files Browse the repository at this point in the history
  • Loading branch information
onurpolattimur committed Jun 3, 2021
1 parent e34197f commit debeb50
Show file tree
Hide file tree
Showing 15 changed files with 1,666 additions and 22 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea/
695 changes: 674 additions & 21 deletions LICENSE

Large diffs are not rendered by default.

34 changes: 33 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,33 @@
# craftgate-opencart-3.x
# Craftgate Payment Gateway
Craftgate OpenCart 3.x modülünü kullanarak işletmenize ait tüm bankaların Sanal POSlarını tek merkezden yönetebilir, gelişmiş ödeme formu entegrasyonu ile kolayca ve güvenle ödeme alabilirsiniz.

### Craftgate nedir?
Craftgate, bulut tabanlı ödeme geçidi ile işletmenize ait tüm bankaların Sanal POSlarını tek merkezden kolayca entegre edebilir, kart saklama, tek tıkla ödeme, pazaryeri çözümü, kapalı devre cüzdan, ödeme formu, ortak ödeme sayfası, gelişmiş üye işyeri kontrol paneli, gelişmiş API gibi birçok katma değerli servisten hızlı bir şekilde yararlanabilirsiniz. Böylece, maliyetlerinizi düşürürken, siz asıl işinizi büyütmeye odaklanabilirsiniz.

### Craftgate ile çalışmaya nasıl başlayabilirim?
1. [craftgate.io](https://craftgate.io) sayfamızdan Kayıt Ol butonuna tıklayınız.
1. Sizden istenilen bilgileri doldurup, belgeleri yükleyip, online olarak başvurunuz.
1. Gelen dijital sözleşmeyi onaylayın ve Craftgate’i hemen kullanmaya başlayınız.

### Ürün özellikleri
* Tüm bankalarla hazır Sanal POS entegrasyonu
* Pazaryeri, alt üye işyeri ve para dağıtma modeli desteği
* PCI-DSS-1 uyumlu kart saklama, tek tıkla ödeme ve abonelik çözümü
* Kapalı devre cüzdan çözümü
* Ödeme formu, ortak ödeme sayfası
* Akıllı ve Dinamik Ödeme Yönlendirme Kuralları
* Ödeme Tekrar Deneme
* Gelişmiş Üye İşyeri kontrol paneli
* Birçok programlama dilini kapsayan, kolay entegre edilebilir API
* 2007 yılından bu yana bir çok tecrübe ve birikimle geliştirilmiş, ölçeklenebilir, 6. nesil platform

### Gereksinimler
Craftgate kullanarak ödeme geçirebilmek için üyeliğinizin olması gerekmektedir.

### Kurulum
* Craftgate OpenCart eklentisini indirip OpenCart eklentiler sayfasından yükleyebilirsiniz.
* Eklentiyi yüklendikten sonra Craftgate Payment Gateway eklentisini etkinleştiriniz.
* Etkinleştirdikten sonra Düzenle/Yönet butonuna tıklayarak yönetim sayfasına geliniz.
* Live API Key ve Live Secret Key girerek canlı ortamdan ödeme alabilirsiniz. Sandbox API Key ve Sandbox Secret Key girerek ise test ortamını kullanarak ödeme alabilirsiniz.
* Test ortamından ödeme almak için Sandbox Mod seçeneğinin seçili olması gerekmektedir. Kapalı olduğu durumda canlı ortamdan ödeme alma aktif olacaktır.
* Detaylı bilgi için [OpenCart eklenti](https://developer.craftgate.io/hazir-eticaret-modulleri/opencart) adresini ziyaret edebilirsiniz.
Binary file added upload/.DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<?php

error_reporting(0);

class ControllerExtensionPaymentCraftgatePaymentGateway extends Controller
{
private $error = array();

private $settings_fields = array(
array('name' => 'payment_craftgate_payment_gateway_status', 'rules' => ''),
array('name' => 'payment_craftgate_payment_gateway_title', 'rules' => 'required'),
array('name' => 'payment_craftgate_payment_gateway_live_api_key', 'rules' => 'required'),
array('name' => 'payment_craftgate_payment_gateway_live_secret_key', 'rules' => 'required'),
array('name' => 'payment_craftgate_payment_gateway_sandbox_api_key', 'rules' => 'required'),
array('name' => 'payment_craftgate_payment_gateway_sandbox_secret_key', 'rules' => 'required'),
array('name' => 'payment_craftgate_payment_gateway_sandbox_mode', 'rules' => ''),
array('name' => 'payment_craftgate_payment_gateway_order_status_id', 'rules' => ''),
array('name' => 'payment_craftgate_payment_gateway_sort_order', 'rules' => ''),
);

public function index()
{
$this->language->load('extension/payment/craftgate_payment_gateway');
$this->load->model('extension/payment/craftgate_payment_gateway');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('setting/setting');

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('payment_craftgate_payment_gateway', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=payment', true));
}

foreach ($this->settings_fields as $field) {
$field_name = $field['name'];
$data["error_{$field_name}"] = isset($this->error[$field_name]) ? $this->error[$field_name] : '';
$data[$field_name] = isset($this->request->post[$field_name]) ? $this->request->post[$field_name] : $this->config->get($field_name);
}

$data['action'] = $this->url->link('extension/payment/craftgate_payment_gateway', 'user_token=' . $this->session->data['user_token'], 'SSL');
$data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'], 'SSL');

$this->load->model('localisation/order_status');
if ($data['payment_craftgate_payment_gateway_order_status_id'] == '') {
$data['payment_craftgate_payment_gateway_order_status_id'] = $this->config->get('config_order_status_id');
}

$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');

$this->response->setOutput($this->load->view('extension/payment/craftgate_payment_gateway', $data));
}

protected function validate()
{
if (!$this->user->hasPermission('modify', 'extension/payment/craftgate_payment_gateway')) {
$this->error['warning'] = $this->language->get('error_permission');
}

foreach ($this->settings_fields as $field) {
if(empty($field['rules'])) continue;

$field_name = $field['name'];
if($field['rules'] === 'required' && empty($this->request->post[$field_name])){
$field_error= $this->language->get("error_$field_name");
$error_text = $field_error != "error_$field_name" ? $field_error : $this->language->get("error_required");
$this->error[$field_name] = $error_text;
}
}

return !$this->error;
}


public function install()
{
$this->load->model('extension/payment/craftgate_payment_gateway');
$this->model_extension_payment_craftgate_payment_gateway->install();
}

public function uninstall()
{
$this->load->model('extension/payment/craftgate_payment_gateway');
$this->model_extension_payment_craftgate_payment_gateway->uninstall();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

// Heading
$_['heading_title'] = 'Craftgate Payment Gateway';

// Text
$_['text_success'] = 'Craftgate Gateway Settings Updated';
$_['text_payment'] = 'Payment';
$_['text_craftgate_payment_gateway'] = '<a href="https://craftgate.io/" target="_blank"><img src="view/image/payment/craftgate.png" alt="Craftgate Gateway" title="Craftgate Gateway"/></a>';
$_['text_title'] = 'Pay with Credit/Bank Card';
$_['text_module_settings'] = "Module Settings";

//Helper Text

$_['text_status_help'] = 'Enable or disable the gateway.';
$_['text_title_help'] = 'This controls the title which the user sees during checkout.';
$_['text_live_api_key_help'] = 'Enter your Live API Key.';
$_['text_live_secret_key_help'] = 'Enter your Live Secret Key.';
$_['text_sandbox_api_key_help'] = 'Enter your Sandbox API Key.';
$_['text_sandbox_secret_key_help'] = 'Enter your Sandbox Secret Key.';
$_['text_sandbox_mode_help'] = 'Enable test mode using sandbox API keys.';
$_['text_order_status_help'] = 'Status of order after payment completed ';
$_['text_order_help'] = 'Method order in checkout page.';

// Entry
$_['entry_status'] = 'Status';
$_['entry_title'] = 'Title';
$_['entry_live_api_key'] = 'Live API Key';
$_['entry_live_secret_key'] = 'Live Secret Key';
$_['entry_sandbox_api_key'] = 'Sandbox API Key';
$_['entry_sandbox_secret_key'] = 'Sandbox Secret Key';
$_['entry_sandbox_mode'] = 'Sandbox Mode';
$_['error_required'] = 'This field is required.';
$_['entry_order_status'] = 'Order Status';
$_['entry_cancel_order_status'] = "Cancel Order Status";
$_['entry_sort_order'] = 'Sort Order';


// Error
$_['error_permission'] = 'You are not authorized';

$_['text_enabled'] = 'Enabled';
$_['text_disabled'] = 'Disabled';


Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php

// Heading
$_['heading_title'] = 'Craftgate Payment Gateway';

// Text
$_['text_success'] = 'Craftgate Gateway Settings Updated';
$_['text_payment'] = 'Payment';
$_['text_craftgate_payment_gateway'] = '<a href="https://craftgate.io/" target="_blank"><img src="view/image/payment/craftgate.png" alt="Craftgate Gateway" title="Craftgate Gateway"/></a>';
$_['text_title'] = 'Banka/Kredi Kartı ile Öde';
$_['text_module_settings'] = "Module Ayarları";

//Helper Text

$_['text_status_help'] = 'Craftgate Payment Gateway’i aktif veya pasif yapabilirsiniz.';
$_['text_title_help'] = 'Kullanıcının ödeme esnasında göreceği başlık.';
$_['text_live_api_key_help'] = 'Canlı API Key’inizi giriniz.';
$_['text_live_secret_key_help'] = 'Canlı Secret Key’inizi giriniz.';
$_['text_sandbox_api_key_help'] = 'Sandbox API Key’inizi giriniz.';
$_['text_sandbox_secret_key_help'] = 'Sandbox Secret Key’inizi giriniz.';
$_['text_sandbox_mode_help'] = 'Sandbox API bilgilerinizi kullanarak test modunu aktif edebilirsiniz.';
$_['text_order_status_help'] = 'Ödeme tamamlandıktan sonra siparişin durumu.';
$_['text_order_help'] = 'Ödeme sayfasındaki sıralaması.';

// Entry
$_['entry_status'] = 'Durum';
$_['entry_title'] = 'Başlık';
$_['entry_live_api_key'] = 'Canlı API Key';
$_['entry_live_secret_key'] = 'Canlı Secret Key';
$_['entry_sandbox_api_key'] = 'Sandbox API Key';
$_['entry_sandbox_secret_key'] = 'Sandbox Secret Key';
$_['entry_sandbox_mode'] = 'Sandbox Modu';
$_['error_required'] = 'Bu alanın doldurulması zorunludur.';
$_['entry_order_status'] = 'Sipariş Durumu';
$_['entry_sort_order'] = 'Sıra No';


// Error
$_['error_permission'] = 'Yetkiniz yok';

$_['text_enabled'] = 'Açık';
$_['text_disabled'] = 'Kapalı';


12 changes: 12 additions & 0 deletions upload/admin/model/extension/payment/craftgate_payment_gateway.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

class ModelExtensionPaymentCraftgatePaymentGateway extends Model
{
public function install()
{
}

public function uninstall()
{
}
}
Binary file added upload/admin/view/image/payment/craftgate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit debeb50

Please sign in to comment.