first commit
This commit is contained in:
33
plugins/stPolcardPlugin/config/config.php
Normal file
33
plugins/stPolcardPlugin/config/config.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* SOTESHOP/stPolcardPlugin
|
||||
*
|
||||
* Ten plik należy do aplikacji stPolcardPlugin opartej na licencji (Professional License SOTE).
|
||||
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
||||
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
||||
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage configs
|
||||
* @copyright SOTE (www.sote.pl)
|
||||
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
||||
* @version $Id: config.php 8031 2010-08-31 12:33:47Z michal $
|
||||
* @author Michal Prochowski <michal.prochowski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Dodanie informacji o istnieniu płatności
|
||||
*/
|
||||
stPluginHelper::addConfigValue('stPaymentType', 'stPolcardPlugin', array('name' => 'stPolcard', 'description' => 'Płatność przez serwis Payeezy - Fist Data Polcard'));
|
||||
|
||||
|
||||
if (SF_APP == 'backend'){
|
||||
stPluginHelper::addEnableModule('stPolcardBackend');
|
||||
stPluginHelper::addRouting('stPolcardPlugin', '/polcard', 'stPolcardBackend', 'index', 'backend');
|
||||
}
|
||||
|
||||
if (SF_APP == 'frontend'){
|
||||
stPluginHelper::addEnableModule('stPolcardFrontend');
|
||||
stPluginHelper::addRouting('stPolcardPlugin', '/polcard/:action/*', 'stPolcardFrontend', 'index', 'frontend');
|
||||
stSecurity::addCSPException('*.polcard.com.pl');
|
||||
}
|
||||
146
plugins/stPolcardPlugin/lib/stPolcard.class.php
Normal file
146
plugins/stPolcardPlugin/lib/stPolcard.class.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
/**
|
||||
* SOTESHOP/stPolcardPlugin
|
||||
*
|
||||
* Ten plik należy do aplikacji stPolcardPlugin opartej na licencji (Professional License SOTE).
|
||||
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
||||
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
||||
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage libs
|
||||
* @copyright SOTE (www.sote.pl)
|
||||
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
||||
* @version $Id: stPolcard.class.php 12831 2011-05-17 14:14:04Z michal $
|
||||
* @author Michal Prochowski <michal.prochowski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Adres Polcard
|
||||
*/
|
||||
define('POLCARD_URL', 'https://post.polcard.com.pl/cgi-bin/autoryzacja.cgi');
|
||||
define('POLCARD_URL_E_KARTA', 'https://vpos.polcard.com.pl/vpos/ecom/service.htm');
|
||||
|
||||
/**
|
||||
* Klasa stPolcard
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage libs
|
||||
*/
|
||||
class stPolcard
|
||||
{
|
||||
/**
|
||||
* Tablica z konfiguracją
|
||||
* @var array
|
||||
*/
|
||||
private $config = array();
|
||||
|
||||
/**
|
||||
* Konstruktor - ładownianie konfiguracji
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->config = stPaymentType::getConfiguration(__CLASS__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obsługa funkcji call
|
||||
*
|
||||
* @param $method
|
||||
* @param $arguments
|
||||
* @return mixed string/bool
|
||||
*/
|
||||
public function __call($method, $arguments)
|
||||
{
|
||||
return stPaymentType::call($method, $this->config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Zwracanie adresu Url
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUrl()
|
||||
{
|
||||
return "https://vpos.polcard.com.pl/vpos/ecom/service.htm";
|
||||
}
|
||||
|
||||
public function getFormParams(Order $order)
|
||||
{
|
||||
$lang = strtolower(stPaymentType::getLanguage(array('PL', 'EN', 'DE', 'RU', 'FR', 'IT', 'ES', 'PT')));
|
||||
|
||||
$params = array(
|
||||
'pos_id' => $this->getPosId(),
|
||||
'order_id' => $order->getNumber(),
|
||||
'session_id' => hash("sha256", $this->getSharedKey().uniqid()),
|
||||
'amount' => $order->getUnpaidAmount() * 100,
|
||||
'currency' => $order->getOrderCurrency()->getShortcut(),
|
||||
'test' => $this->getTest() ? "Y" : "N",
|
||||
'language' => $lang,
|
||||
'client_ip' => $_SERVER['REMOTE_ADDR'],
|
||||
'country' => $order->getOrderUserDataBilling()->getCountry()->getIsoA2(),
|
||||
'email' => $order->getOptClientEmail(),
|
||||
);
|
||||
|
||||
$params['controlData'] = $this->getRequestControlData($params);
|
||||
|
||||
return $params;
|
||||
}
|
||||
|
||||
public function isValid($params)
|
||||
{
|
||||
return isset($params['controlData']) && $this->getResponseControlData($params) == $params['controlData'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Sprawdzenie czy płatność została skonfiguraowana
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function checkPaymentConfiguration()
|
||||
{
|
||||
if (!$this->hasPosID()) return false;
|
||||
if (SF_APP == 'frontend')
|
||||
{
|
||||
$context = sfContext::getInstance();
|
||||
return stCurrency::getInstance($context)->get()->getShortcut() == 'PLN' && in_array($context->getUser()->getCulture(), array('pl_PL', 'en_US', 'de', 'ru', 'fr', 'it', 'es', 'pt'));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getRequestControlData($params)
|
||||
{
|
||||
$accept = array("pos_id", "payment_method", "channel_code", "order_id", "session_id", "amount", "currency", "test", "language", "client_ip", "street", "street_n1", "street_n2", "addr2", "addr3", "city", "postcode", "country", "email", "ba_firstname", "ba_lastname", "merchant_label");
|
||||
|
||||
return $this->getControlData($params, $accept);
|
||||
}
|
||||
|
||||
public function getResponseControlData($params)
|
||||
{
|
||||
$accept = array("pos_id", "order_id", "session_id", "amount", "response_code", "transaction_id", "cc_number_hash", "bin", "card_type", "auth_code");
|
||||
|
||||
return $this->getControlData($params, $accept);
|
||||
}
|
||||
|
||||
public function getControlData($params, $accept)
|
||||
{
|
||||
$salt = $this->getSharedKey();
|
||||
$hexLenght = strlen($salt);
|
||||
$saltBin = "";
|
||||
for ($x = 1; $x <= $hexLenght/2; $x++)
|
||||
$saltBin .= (pack("H*", substr($salt,2 * $x - 2,2)));
|
||||
|
||||
$paramsChain = array();
|
||||
|
||||
foreach ($accept as $param)
|
||||
{
|
||||
if (isset($params[$param]) && $params[$param])
|
||||
{
|
||||
$paramsChain[] = $param."=".$params[$param];
|
||||
}
|
||||
}
|
||||
|
||||
return hash("sha256", implode("&", $paramsChain).$saltBin);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/**
|
||||
* SOTESHOP/stPolcardPlugin
|
||||
*
|
||||
* Ten plik należy do aplikacji stPolcardPlugin opartej na licencji (Professional License SOTE).
|
||||
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
||||
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
||||
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
* @copyright SOTE (www.sote.pl)
|
||||
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
||||
* @version $Id: actions.class.php 7196 2010-08-02 12:45:55Z marek $
|
||||
* @author Michal Prochowski <michal.prochowski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Klasa stPolcardBackendActions
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
*/
|
||||
class stPolcardBackendActions extends stActions
|
||||
{
|
||||
/**
|
||||
* Wyświetla konfigurację modułu
|
||||
*/
|
||||
public function executeIndex()
|
||||
{
|
||||
$this->config = stConfig::getInstance($this->getModuleName());
|
||||
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST)
|
||||
{
|
||||
$this->config->setFromRequest('config');
|
||||
$this->config->save();
|
||||
$this->setFlash('notice', 'Twoje zmiany zostały zapisane');
|
||||
}
|
||||
|
||||
|
||||
$this->labels = $this->getLabels();
|
||||
}
|
||||
|
||||
public function validateIndex()
|
||||
{
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST)
|
||||
{
|
||||
stAuthUsersListener::checkModificationCredentials($this, $this->getRequest(), $this->getModuleName());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getLabels()
|
||||
{
|
||||
return array(
|
||||
'config{pos_id}' => $this->getContext()->getI18n()->__('Identyfikator sprzedaży'),
|
||||
'config{shared_key}' => $this->getContext()->getI18n()->__('Klucz współdzielony'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Akcja w przypadku błędu w uzupełnianiu pó
|
||||
*/
|
||||
public function handleErrorIndex()
|
||||
{
|
||||
$this->config = stConfig::getInstance($this->getModuleName());
|
||||
$this->labels = $this->getLabels();
|
||||
return sfView::SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
class stPolcardBackendComponents extends sfComponents
|
||||
{
|
||||
|
||||
public function executeListMenu()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="list-menu">
|
||||
<ul>
|
||||
|
||||
<li class="selected">
|
||||
<?php echo link_to(__('Payeezy'),'stPolcardBackend/index')?>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<?php if (sfContext::getInstance()->getUser()->getCulture() == 'pl_PL'): ?>
|
||||
<a href="https://www.sote.pl/docs/payeezy" target="_blank"><?php echo __('Dokumentacja'); ?></a>
|
||||
<?php else: ?>
|
||||
<a href="https://www.soteshop.com/docs/payeezy" target="_blank"><?php echo __('Documentation'); ?></a>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="clr"></div>
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php $protocol = stConfig::getInstance('stSecurityBackend')->get('ssl') ? 'https' : 'http' ?>
|
||||
<?php use_helper('I18N', 'stAdminGenerator', 'Validation') ?>
|
||||
<?php echo st_get_admin_head('stPolcardPlugin', __('Payeezy'), array('culture' => $config->getCulture()), array('stPayment')) ?>
|
||||
<?php st_view_slot_start('application-menu') ?>
|
||||
<?php st_include_component('stPolcardBackend', 'listMenu') ?>
|
||||
<?php st_view_slot_end() ?>
|
||||
<?php st_include_partial('stAdminGenerator/message', array('labels' => $labels, 'i18n_catalogue' => 'stPolcardBackend'));?>
|
||||
<?php echo form_tag('stPolcardBackend/index', array('id' => 'sf_admin_config_form', 'name' => 'sf_admin_config_form', 'class' => 'admin_form'));?>
|
||||
<fieldset>
|
||||
<div class="content">
|
||||
<?php if (SF_ENVIRONMENT == 'dev' || $sf_request->hasParameter('debug')): ?>
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[test]', __('Tryb testowy'), 1, 'checkbox_tag', array('checked' => $config->get('test'))) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[pos_id]', __('Identyfikator sprzedaży'), $config->get('pos_id'), 'input_tag', array('required' => true, 'size' => '60')) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[shared_key]', __('Klucz współdzielony'), $config->get('shared_key'), 'input_password_tag', array('required' => true, 'size' => '60')) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<h2><?php echo __('Konfiguracja usługi') ?></h2>
|
||||
<div class="content">
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[success]', __('Adres odpowiedzi pozytywnej'), $protocol.'://'.$sf_request->getHost().'/polcard/returnSuccess', 'input_tag', array('readonly' => true, 'size' => '60', 'clipboard' => true)) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[fail]', __('Adres odpowiedzi negatywnej'), $protocol.'://'.$sf_request->getHost().'/polcard/returnFail', 'input_tag', array('readonly' => true, 'size' => '60', 'clipboard' => true)) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<?php echo st_admin_get_form_field('config[notify]', __('Adres potwierdzenia'), $protocol.'://'.$sf_request->getHost().'/polcard/statusReport', 'input_tag', array('readonly' => true, 'size' => '60', 'clipboard' => true)) ?>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<?php echo st_get_admin_actions(array(
|
||||
array('type' => 'save', 'label' => __('Zapisz', null, 'stAdminGeneratorPlugin'))
|
||||
)) ?>
|
||||
</form>
|
||||
<div class="clr"></div>
|
||||
<?php echo st_get_admin_foot();?>
|
||||
@@ -0,0 +1,7 @@
|
||||
fields:
|
||||
config{pos_id}:
|
||||
required:
|
||||
msg: Proszę uzupełnić pole.
|
||||
config{shared_key}:
|
||||
required:
|
||||
msg: Proszę uzupełnić pole.
|
||||
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
* SOTESHOP/stPolcardPlugin
|
||||
*
|
||||
* Ten plik należy do aplikacji stPolcardPlugin opartej na licencji (Professional License SOTE).
|
||||
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
||||
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
||||
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
* @copyright SOTE (www.sote.pl)
|
||||
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
||||
* @version $Id: actions.class.php 10 2009-08-24 09:32:18Z michal $
|
||||
* @author Michal Prochowski <michal.prochowski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Klasa stPolcardFrontendActions
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
*/
|
||||
class stPolcardFrontendActions extends stActions
|
||||
{
|
||||
/**
|
||||
* Pozytywny powrót z płatności
|
||||
*/
|
||||
public function executeReturnSuccess()
|
||||
{
|
||||
$this->smarty = new stSmarty($this->getModuleName());
|
||||
|
||||
$params = $this->getRequest()->getParameterHolder()->getAll();
|
||||
|
||||
$this->processResponse($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Brak autoryzacji płatności
|
||||
*/
|
||||
public function executeReturnFail()
|
||||
{
|
||||
$this->smarty = new stSmarty($this->getModuleName());
|
||||
|
||||
$webpage = WebpagePeer::retrieveByState('CONTACT');
|
||||
|
||||
if ($webpage)
|
||||
{
|
||||
sfLoader::loadHelpers(array('Helper', 'stUrl'));
|
||||
$this->smarty->assign('contact_url', st_url_for('stWebpageFrontend/index?url='.$webpage->getFriendlyUrl()));
|
||||
}
|
||||
}
|
||||
|
||||
public function executeStatusReport()
|
||||
{
|
||||
$params = $this->getRequest()->getParameterHolder()->getAll();
|
||||
|
||||
return $this->renderText($this->processResponse($params));
|
||||
}
|
||||
|
||||
protected function processResponse($params)
|
||||
{
|
||||
$api = new stPolcard();
|
||||
|
||||
stPayment::log('payeezy', json_encode($params, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE));
|
||||
|
||||
if ($api->isValid($params) && isset($params['order_id']) && isset($params['response_code']) && in_array($params['response_code'], array(30, 35)))
|
||||
{
|
||||
$order = OrderPeer::retrieveByNumber($params['order_id']);
|
||||
|
||||
if ($order)
|
||||
{
|
||||
$payment = $order->getOrderPayment();
|
||||
|
||||
if ($payment)
|
||||
{
|
||||
$payment->setStatus(1);
|
||||
$payment->save();
|
||||
stPayment::log('payeezy', sprintf("Zamówienie o numerze \"%s\" zostało opłacone", $params['order_id']));
|
||||
}
|
||||
else
|
||||
{
|
||||
$log = sprintf("Zamówienie o numerze \"%s\" nie posiada płatności", $params['order_id']);
|
||||
stPayment::log('payeezy', $log);
|
||||
return $log;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$log = sprintf("Zamówienie o numerze \"%s\" nie istnieje", $params['order_id']);
|
||||
stPayment::log('payeezy', $log);
|
||||
return $log;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$log = "Brak zgodności sum kontrolnych";
|
||||
stPayment::log('payeezy', $log);
|
||||
return $log;
|
||||
}
|
||||
|
||||
return "OK";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* SOTESHOP/stPolcardPlugin
|
||||
*
|
||||
* Ten plik należy do aplikacji stPolcardPlugin opartej na licencji (Professional License SOTE).
|
||||
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
||||
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
||||
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
* @copyright SOTE (www.sote.pl)
|
||||
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
||||
* @version $Id: components.class.php 10 2009-08-24 09:32:18Z michal $
|
||||
* @author Michal Prochowski <michal.prochowski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Klasa stPolcardFrontendComponents
|
||||
*
|
||||
* @package stPolcardPlugin
|
||||
* @subpackage actions
|
||||
*/
|
||||
class stPolcardFrontendComponents extends sfComponents {
|
||||
|
||||
/**
|
||||
* Pokazywanie formularza płatności
|
||||
*/
|
||||
public function executeShowPayment() {
|
||||
$this->smarty = new stSmarty('stPolcardFrontend');
|
||||
|
||||
|
||||
$order = stPaymentType::getOrderInSummary();
|
||||
|
||||
$api = new stPolcard();
|
||||
$params = $api->getFormParams($order);
|
||||
|
||||
$this->smarty->assign('params', $params);
|
||||
$this->smarty->assign('url', $api->getUrl());
|
||||
$this->smarty->assign('check_configuration', $api->checkPaymentConfiguration());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
st_theme_use_stylesheet('stPayment.css');
|
||||
|
||||
$smarty->display('polcard_show_payment.html');
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
st_theme_use_stylesheet('stPayment.css');
|
||||
$smarty->assign('contactLink', is_object($contactPage) ? url_for('stWebpageFrontend/index?url='.$contactPage->getFriendlyUrl()) : null);
|
||||
$smarty->display('polcard_return_fail_error.html');
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
st_theme_use_stylesheet('stPayment.css');
|
||||
$smarty->assign('contactLink', is_object($contactPage) ? url_for('stWebpageFrontend/index?url='.$contactPage->getFriendlyUrl()) : null);
|
||||
$smarty->display('polcard_return_fail.html');
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
st_theme_use_stylesheet('stPayment.css');
|
||||
$smarty->display('polcard_return_success.html');
|
||||
@@ -0,0 +1,8 @@
|
||||
<div class="st_application">
|
||||
<h1 class="st_title">
|
||||
{__ text="Płatność"}
|
||||
</h1>
|
||||
<p style="text-align: center; margin-bottom: 20px;">
|
||||
{__ text="Płatność nie została zrealizowana. Wystąpił błąd autoryzacji."}
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div class="st_application">
|
||||
<h1 class="st_title">
|
||||
{__ text="Płatność"}
|
||||
</h1>
|
||||
<p style="text-align: center; margin-bottom: 20px;">
|
||||
{__ text="Płatność nie została zrealizowana. Wystąpił błąd spowodowany brakiem autoryzacji."}
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div class="st_application">
|
||||
<h1 class="st_title">
|
||||
{__ text="Płatność"}
|
||||
</h1>
|
||||
<p style="text-align: center; margin-bottom: 20px;">
|
||||
{__ text="Dziękujemy za dokonanie płatności."}
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
{if $check_configuration}
|
||||
<div id="st_box_payment">
|
||||
<p>{__ text="Kliknij przycisk"} <b>{__ text='"Zapłać"'}</b> {__ text="aby przejść do serwisu Polcard."}</p>
|
||||
<p><img id="st_home" src="/images/frontend/theme/default/stPolcardPlugin/logo.jpg" alt=""/></p>
|
||||
{$form_start}
|
||||
{$hidden_order_id}
|
||||
{$hidden_pos_id}
|
||||
{$hidden_amount}
|
||||
{$hidden_language}
|
||||
{$hidden_email}
|
||||
{$hidden_test}
|
||||
{$hidden_client_ip}
|
||||
{$hidden_street}
|
||||
{$hidden_street_n1}
|
||||
{$hidden_street_n2}
|
||||
{$hidden_city}
|
||||
{$hidden_postcode}
|
||||
{$hidden_country}
|
||||
<div id="st_form-payment-submit" class="st_button-container">
|
||||
<div class="st_button st_align-right">
|
||||
<div class="st_button-left">
|
||||
{$pay_submit}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{else}
|
||||
{__ text="Płatność została błędnie skonfigurowana."}
|
||||
{/if}
|
||||
@@ -0,0 +1,8 @@
|
||||
<div id="stPayment_return" class="box roundies">
|
||||
<div class="title">
|
||||
<h2>{__ text="Płatność"}</h2>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{__ text="Płatność nie została zrealizowana. Wystąpił błąd autoryzacji."}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div id="stPayment_return" class="box roundies">
|
||||
<div class="title">
|
||||
<h2>{__ text="Płatność"}</h2>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{__ text="Dziękujemy za dokonanie płatności."}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,18 @@
|
||||
{if $check_configuration}
|
||||
<div id="st_box_payment">
|
||||
<img id="st_home" src="/images/frontend/theme/default2/stPolcardPlugin/logo.png" alt=""/>
|
||||
<form action="{$url}" method="post">
|
||||
{foreach key=name item=value from=$params}
|
||||
<input type="hidden" name="{$name}" value="{$value}" />
|
||||
{/foreach}
|
||||
<div class="buttons right">
|
||||
<button type="submit" class="important roundies">
|
||||
<span class="arrow_right">{__ text="Zapłać"}</span>
|
||||
</button>
|
||||
</div>
|
||||
<br class="clear" />
|
||||
</form>
|
||||
</div>
|
||||
{else}
|
||||
{__ text="Płatność została błędnie skonfigurowana."}
|
||||
{/if}
|
||||
@@ -0,0 +1,25 @@
|
||||
{set layout="one_column"}
|
||||
|
||||
{set layout="one_column"}
|
||||
<div id="payment">
|
||||
<div class="panel panel-default center-block">
|
||||
<div class="panel-heading">
|
||||
{__ text="Payeezy"}
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<p>
|
||||
<img src="/images/frontend/theme/default2/stPolcardPlugin/logo.png" alt="{__ text="Payeezy"}"/>
|
||||
</p>
|
||||
<p>
|
||||
{__ text="Płatność nie została zrealizowana."}
|
||||
</p>
|
||||
{if $contact_url}
|
||||
<p>
|
||||
<a href="{$contact_url}" class="btn btn-primary">
|
||||
{__ text="Skontaktuj się z nami"}
|
||||
</a>
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
{set layout="one_column"}
|
||||
<div id="payment">
|
||||
<div class="title">
|
||||
<h1>{__ text="Płatność"}</h1>
|
||||
</div>
|
||||
<div class="panel panel-default center-block">
|
||||
<div class="panel-heading">
|
||||
{__ text="Polcard"}
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<p>
|
||||
{__ text="Płatność nie została zrealizowana. Wystąpił błąd spowodowany brakiem autoryzacji."}<br/>
|
||||
{__ text="Skontaktuj się z nami." langCatalogue="stPayment"}
|
||||
</p>
|
||||
{if $contactLink}
|
||||
<a href="{$contactLink}" class="btn btn-primary">{__ text="Kontakt" langCatalogue="stPayment"}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,14 @@
|
||||
{set layout="one_column"}
|
||||
|
||||
<div id="payment">
|
||||
<div class="panel panel-default center-block">
|
||||
<div class="panel-heading">
|
||||
{__ text="Payeezy"}
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<img src="/images/frontend/theme/default2/stPolcardPlugin/logo.png" alt="{__ text="Payeezy"}"/>
|
||||
<p>{__ text="Dziękujemy za dokonanie płatności."}</p>
|
||||
<a href="/" class="btn btn-primary">{__ text="Wróć do zakupów" langCatalogue="stPayment"}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<div id="payment">
|
||||
<div class="panel panel-default center-block">
|
||||
<div class="panel-heading">
|
||||
{__ text="Payeezy"}
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
{if $check_configuration}
|
||||
<img src="/images/frontend/theme/default2/stPolcardPlugin/logo.png" alt="{__ text="Payeezy"}"/>
|
||||
<div>
|
||||
{$description}
|
||||
</div>
|
||||
<form action="{$url}" method="post">
|
||||
{foreach key=name item=value from=$params}
|
||||
<input type="hidden" name="{$name}" value="{$value}" />
|
||||
{/foreach}
|
||||
<button type="submit" class="btn btn-primary pull-right">
|
||||
{__ text="Zapłać"}
|
||||
</button>
|
||||
</form>
|
||||
{else}
|
||||
{__ text="Płatność została błędnie skonfigurowana."}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user