We will be off from 27/1 (Monday) to 31/1 (Friday) (GMT +7) for our Tet Holiday (Lunar New Year) in our country

Commit 798c6448 authored by Rik ter Beek's avatar Rik ter Beek Committed by GitHub

Merge pull request #214 from Adyen/develop

Hotfix release 2.1.3
parents 01469611 91682aa1
**Magento version**: x.y.z
**Plugin version**: x.y.z
**Description**
<!--
- please provide description of the issue. In case of bug report, please provide the necessary steps to reproduce.
- For merchant specific requests, please use https://support.adyen.com
-->
\ No newline at end of file
**Description**
<!-- Please provide a description of the changes proposed in the Pull Request -->
**Tested scenarios**
<!-- Description of tested scenarios -->
**Fixed issue**: <!-- #-prefixed issue number -->
\ No newline at end of file
......@@ -84,7 +84,8 @@ class Redirect extends \Magento\Payment\Block\Form
\Adyen\Payment\Logger\AdyenLogger $adyenLogger,
\Magento\Tax\Model\Config $taxConfig,
\Magento\Tax\Model\Calculation $taxCalculation
) {
)
{
$this->_orderFactory = $orderFactory;
$this->_checkoutSession = $checkoutSession;
parent::__construct($context, $data);
......@@ -131,7 +132,8 @@ class Redirect extends \Magento\Payment\Block\Form
} else {
if ($this->_adyenHelper->isPaymentMethodOpenInvoiceMethod(
$this->_order->getPayment()->getAdditionalInformation('brand_code')
)) {
)
) {
$url = "https://test.adyen.com/hpp/skipDetails.shtml";
} else {
$url = "https://test.adyen.com/hpp/details.shtml";
......@@ -148,7 +150,8 @@ class Redirect extends \Magento\Payment\Block\Form
} else {
if ($this->_adyenHelper->isPaymentMethodOpenInvoiceMethod(
$this->_order->getPayment()->getAdditionalInformation('brand_code')
)) {
)
) {
$url = "https://live.adyen.com/hpp/skipDetails.shtml";
} else {
$url = "https://live.adyen.com/hpp/details.shtml";
......@@ -158,7 +161,7 @@ class Redirect extends \Magento\Payment\Block\Form
break;
}
}
} catch(Exception $e) {
} catch (Exception $e) {
// do nothing for now
throw($e);
}
......@@ -203,7 +206,8 @@ class Redirect extends \Magento\Payment\Block\Form
// if directory lookup is enabled use the billingaddress as countrycode
if ($countryCode == false) {
if ($this->_order->getBillingAddress() &&
$this->_order->getBillingAddress()->getCountryId() != "") {
$this->_order->getBillingAddress()->getCountryId() != ""
) {
$countryCode = $this->_order->getBillingAddress()->getCountryId();
}
}
......@@ -274,8 +278,6 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields = $this->setOpenInvoiceData($formFields);
$formFields['shopper.gender'] = $this->getGenderText($this->_order->getCustomerGender());
$dob = $this->_order->getCustomerDob();
if ($dob) {
$formFields['shopper.dateOfBirthDayOfMonth'] = trim($this->_getDate($dob, 'd'));
......@@ -285,6 +287,10 @@ class Redirect extends \Magento\Payment\Block\Form
// For klarna acceptPrivacyPolicy to skip HPP page
if ($brandCode == "klarna") {
$ssn = $this->_order->getPayment()->getAdditionalInformation('ssn');
if (!empty($ssn)) {
$formFields['shopper.socialSecurityNumber'] = $ssn;
}
// // needed for DE and AT
$formFields['klarna.acceptPrivacyPolicy'] = 'true';
}
......@@ -318,13 +324,9 @@ class Redirect extends \Magento\Payment\Block\Form
$this->_adyenLogger->addAdyenDebug(print_r($formFields, true));
}
} catch(Exception $e) {
} catch (Exception $e) {
// do nothing for now
}
// echo "GENDER" . $this->_order->getCustomerGender();
//
// print_r($formFields);die();
return $formFields;
}
......@@ -336,9 +338,7 @@ class Redirect extends \Magento\Payment\Block\Form
protected function setBillingAddressData($formFields)
{
$billingAddress = $this->_order->getBillingAddress();
if ($billingAddress) {
$formFields['shopper.firstName'] = trim($billingAddress->getFirstname());
$middleName = trim($billingAddress->getMiddlename());
if ($middleName != "") {
......@@ -347,7 +347,6 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields['shopper.lastName'] = trim($billingAddress->getLastname());
$formFields['shopper.telephoneNumber'] = trim($billingAddress->getTelephone());
$street = $this->_adyenHelper->getStreet($billingAddress);
if (isset($street['name']) && $street['name'] != "") {
......@@ -467,7 +466,7 @@ class Redirect extends \Magento\Payment\Block\Form
// Calculate vat percentage
$itemVatPercentage = $this->_adyenHelper->getMinorUnitTaxPercent($item->getTaxPercent());
$numberOfItems = (int) $item->getQtyOrdered();
$numberOfItems = (int)$item->getQtyOrdered();
$formFields = $this->setOpenInvoiceLineData($formFields, $count, $currency, $description, $itemAmount,
$itemVatAmount, $itemVatPercentage, $numberOfItems);
......@@ -515,7 +514,7 @@ class Redirect extends \Magento\Payment\Block\Form
$itemVatAmount, $itemVatPercentage, $numberOfItems);
}
$formFields['openinvoicedata.refundDescription'] = "Refund / Correction for ".$formFields['merchantReference'];
$formFields['openinvoicedata.refundDescription'] = "Refund / Correction for " . $formFields['merchantReference'];
$formFields['openinvoicedata.numberOfLines'] = $count;
return $formFields;
......@@ -535,8 +534,9 @@ class Redirect extends \Magento\Payment\Block\Form
*/
protected function setOpenInvoiceLineData($formFields, $count, $currencyCode, $description, $itemAmount,
$itemVatAmount, $itemVatPercentage, $numberOfItems
) {
$linename = "line".$count;
)
{
$linename = "line" . $count;
$formFields['openinvoicedata.' . $linename . '.currencyCode'] = $currencyCode;
$formFields['openinvoicedata.' . $linename . '.description'] = $description;
$formFields['openinvoicedata.' . $linename . '.itemAmount'] = $itemAmount;
......@@ -545,7 +545,8 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields['openinvoicedata.' . $linename . '.numberOfItems'] = $numberOfItems;
if ($this->_adyenHelper->isVatCategoryHigh($this->_order->getPayment()->getAdditionalInformation(
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE))) {
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE))
) {
$formFields['openinvoicedata.' . $linename . '.vatCategory'] = "High";
} else {
$formFields['openinvoicedata.' . $linename . '.vatCategory'] = "None";
......
......@@ -26,6 +26,7 @@ namespace Adyen\Payment\Gateway\Command;
use Magento\Payment\Gateway\Command;
use Magento\Payment\Gateway\CommandInterface;
class PayByMailCommand implements CommandInterface
{
......@@ -34,11 +35,6 @@ class PayByMailCommand implements CommandInterface
*/
protected $_adyenHelper;
/**
* @var ResolverInterface
*/
protected $_resolver;
/**
* @var \Adyen\Payment\Logger\AdyenLogger
*/
......@@ -53,11 +49,9 @@ class PayByMailCommand implements CommandInterface
*/
public function __construct(
\Adyen\Payment\Helper\Data $adyenHelper,
\Magento\Framework\Locale\ResolverInterface $resolver,
\Adyen\Payment\Logger\AdyenLogger $adyenLogger
) {
$this->_adyenHelper = $adyenHelper;
$this->_resolver = $resolver;
$this->_adyenLogger = $adyenLogger;
}
/**
......@@ -134,6 +128,7 @@ class PayByMailCommand implements CommandInterface
$realOrderId = $order->getRealOrderId();
$orderCurrencyCode = $order->getOrderCurrencyCode();
$storeId = $order->getStore()->getId();
// check if paybymail has it's own skin
$skinCode = trim($this->_adyenHelper->getAdyenPayByMailConfigData('skin_code'));
......@@ -141,18 +136,20 @@ class PayByMailCommand implements CommandInterface
// use HPP skin and HMAC
$skinCode = $this->_adyenHelper->getAdyenHppConfigData('skin_code');
$hmacKey = $this->_adyenHelper->getHmac();
$shopperLocale = trim($this->_adyenHelper->getAdyenHppConfigData('shopper_locale', $storeId));
$countryCode = trim($this->_adyenHelper->getAdyenHppConfigData('country_code', $storeId));
} else {
// use pay_by_mail skin and hmac
$hmacKey = $this->_adyenHelper->getHmacPayByMail();
}
$amount = $this->_adyenHelper->formatAmount($order->getGrandTotal(), $orderCurrencyCode);
$merchantAccount = trim($this->_adyenHelper->getAdyenAbstractConfigData('merchant_account'));
$merchantAccount = trim($this->_adyenHelper->getAdyenAbstractConfigData('merchant_account', $storeId));
$shopperEmail = $order->getCustomerEmail();
$customerId = $order->getCustomerId();
$shopperLocale = trim($this->_adyenHelper->getAdyenHppConfigData('shopper_locale'));
$shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : $this->_resolver->getLocale();
$countryCode = trim($this->_adyenHelper->getAdyenHppConfigData('country_code'));
// get locale from store
$shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : $this->_adyenHelper->getStoreLocale($storeId);
$countryCode = (!empty($countryCode)) ? $countryCode : false;
// if directory lookup is enabled use the billingadress as countrycode
......@@ -164,7 +161,7 @@ class PayByMailCommand implements CommandInterface
}
}
$deliveryDays = $this->_adyenHelper->getAdyenHppConfigData('delivery_days');
$deliveryDays = $this->_adyenHelper->getAdyenHppConfigData('delivery_days', $storeId);
$deliveryDays = (!empty($deliveryDays)) ? $deliveryDays : 5;
$formFields = [];
......@@ -184,9 +181,9 @@ class PayByMailCommand implements CommandInterface
$formFields['shopperEmail'] = $shopperEmail;
// recurring
$recurringType = trim($this->_adyenHelper->getAdyenAbstractConfigData('recurring_type'));
$recurringType = trim($this->_adyenHelper->getAdyenAbstractConfigData('recurring_type', $storeId));
$sessionValidity = $this->_adyenHelper->getAdyenPayByMailConfigData('session_validity');
$sessionValidity = $this->_adyenHelper->getAdyenPayByMailConfigData('session_validity', $storeId);
if ($sessionValidity == "") {
$sessionValidity = 3;
......
......@@ -816,4 +816,9 @@ class Data extends AbstractHelper
return $this->_assetRepo->createAsset($fileId, $params);
}
public function getStoreLocale($storeId) {
$path = \Magento\Directory\Helper\Data::XML_PATH_DEFAULT_LOCALE;
return $this->scopeConfig->getValue($path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $storeId);
}
}
\ No newline at end of file
......@@ -336,9 +336,9 @@ class PaymentMethods extends AbstractHelper
return $locale;
}
// should have the vulue if not fall back to default
// should have the value if not fall back to default
$localeCode = $this->_config->getValue(
Data::XML_PATH_DEFAULT_LOCALE,
\Magento\Directory\Helper\Data::XML_PATH_DEFAULT_LOCALE,
\Magento\Store\Model\ScopeInterface::SCOPE_STORES,
$store->getCode()
);
......
This diff is collapsed.
......@@ -48,6 +48,7 @@ class Notification extends \Magento\Framework\Model\AbstractModel
const RECURRING_CONTRACT = "RECURRING_CONTRACT";
const REPORT_AVAILABLE = "REPORT_AVAILABLE";
const ORDER_CLOSED = "ORDER_CLOSED";
const OFFER_CLOSED = "OFFER_CLOSED";
/**
* Notification constructor.
......@@ -85,11 +86,12 @@ class Notification extends \Magento\Framework\Model\AbstractModel
* @param $eventCode
* @param $success
* @param $originalReference
* @return bool (true if the notification is a duplicate)
* @param null $done
* @return bool
*/
public function isDuplicate($pspReference, $eventCode, $success, $originalReference)
public function isDuplicate($pspReference, $eventCode, $success, $originalReference, $done = null)
{
$result = $this->getResource()->getNotification($pspReference, $eventCode, $success, $originalReference);
$result = $this->getResource()->getNotification($pspReference, $eventCode, $success, $originalReference, $done);
return (empty($result)) ? false : true;
}
......
......@@ -41,16 +41,25 @@ class Notification extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
* @param $eventCode
* @param $success
* @param $originalReference
* @param null $done
* @return array
*/
public function getNotification($pspReference, $eventCode, $success, $originalReference)
public function getNotification($pspReference, $eventCode, $success, $originalReference, $done = null)
{
$select = $this->getConnection()->select()
->from(['notification' => $this->getTable('adyen_notification')])
->where('notification.pspreference=?', $pspReference)
->where('notification.event_code=?', $eventCode)
->where('notification.success=?', $success)
->where('notification.original_reference=?', $originalReference);
->where('notification.success=?', $success);
if ($done !== null) {
$select->where('notification.done=?', $done);
}
if ($originalReference) {
$select->where('notification.original_reference=?', $originalReference);
}
return $this->getConnection()->fetchAll($select);
}
}
\ No newline at end of file
......@@ -81,7 +81,8 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
\Magento\Framework\UrlInterface $urlBuilder,
\Magento\Customer\Model\Session $customerSession,
\Magento\Checkout\Model\Session $session
) {
)
{
$this->_paymentHelper = $paymentHelper;
$this->_adyenHelper = $adyenHelper;
$this->_request = $request;
......@@ -141,8 +142,8 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
'show_telephone'
);
$config['payment'] ['adyenHpp']['ratePayId'] = $this->_adyenHelper->getRatePayId();
$config['payment'] ['adyenHpp']['deviceIdentToken'] = md5($this->_session->getQuoteId().date('c'));
$config['payment'] ['adyenHpp']['deviceIdentToken'] = md5($this->_session->getQuoteId() . date('c'));
$config['payment'] ['adyenHpp']['nordicCountries'] = ['SE', 'NO', 'DK', 'FI'];
return $config;
}
......
......@@ -61,6 +61,8 @@ class AdyenBoletoDataAssignObserver extends AbstractDataAssignObserver
$paymentInfo = $this->readPaymentModelArgument($observer);
$paymentInfo->setCcType('boleto');
foreach ($this->additionalInformationList as $additionalInformationKey) {
if (isset($additionalData[$additionalInformationKey])) {
$paymentInfo->setAdditionalInformation(
......
......@@ -37,6 +37,7 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
const DOB = 'dob';
const TELEPHONE = 'telephone';
const DF_VALUE = 'df_value';
const SSN = 'ssn';
/**
......@@ -48,7 +49,8 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
self::GENDER,
self::DOB,
self::TELEPHONE,
self::DF_VALUE
self::DF_VALUE,
self::SSN
];
/**
......@@ -66,6 +68,10 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
$paymentInfo = $this->readPaymentModelArgument($observer);
if (isset($additionalData[self::BRAND_CODE])) {
$paymentInfo->setCcType($additionalData[self::BRAND_CODE]);
}
foreach ($this->additionalInformationList as $additionalInformationKey) {
if (isset($additionalData[$additionalInformationKey])) {
$paymentInfo->setAdditionalInformation(
......@@ -75,4 +81,4 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
}
}
}
}
}
......@@ -61,6 +61,8 @@ class AdyenSepaDataAssignObserver extends AbstractDataAssignObserver
$paymentInfo = $this->readPaymentModelArgument($observer);
$paymentInfo->setCcType('sepa');
foreach ($this->additionalInformationList as $additionalInformationKey) {
if (isset($additionalData[$additionalInformationKey])) {
$paymentInfo->setAdditionalInformation(
......
# Adyen_Magento2
Adyen Payment plugin for Magento2
Adyen Payment plugin for Magento2. This plugin supports Magento2 version 2.1 and higher. <br/>
For Magento2 version 2.0 support, use plugin version 1.4.6.
## Installation ##
```
bin/composer require adyen/module-payment
......
......@@ -2,13 +2,12 @@
"name": "adyen/module-payment",
"description": "Official Magento2 Plugin to connect to Payment Service Provider Adyen.",
"type": "magento2-module",
"version": "2.1.2",
"version": "2.1.3",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"adyen/php-api-library": "*"
},
"autoload": {
......
......@@ -192,12 +192,5 @@
<group>adyen</group>
</adyen_boleto>
</payment>
<dev>
<js>
<minify_exclude>
live.adyen.com/hpp/js/df
</minify_exclude>
</js>
</dev>
</default>
</config>
......@@ -24,7 +24,7 @@
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Adyen_Payment" setup_version="2.1.2">
<module name="Adyen_Payment" setup_version="2.1.3">
<sequence>
<module name="Magento_Sales"/>
<module name="Magento_Quote"/>
......
view/base/web/images/logos/ABNAMRO.png

3.19 KB | W: | H:

view/base/web/images/logos/ABNAMRO.png

1.97 KB | W: | H:

view/base/web/images/logos/ABNAMRO.png
view/base/web/images/logos/ABNAMRO.png
view/base/web/images/logos/ABNAMRO.png
view/base/web/images/logos/ABNAMRO.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/BUNQ.png

2.35 KB | W: | H:

view/base/web/images/logos/BUNQ.png

2.05 KB | W: | H:

view/base/web/images/logos/BUNQ.png
view/base/web/images/logos/BUNQ.png
view/base/web/images/logos/BUNQ.png
view/base/web/images/logos/BUNQ.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/ING.png

7.51 KB | W: | H:

view/base/web/images/logos/ING.png

2.09 KB | W: | H:

view/base/web/images/logos/ING.png
view/base/web/images/logos/ING.png
view/base/web/images/logos/ING.png
view/base/web/images/logos/ING.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/KNAB.png

2.84 KB | W: | H:

view/base/web/images/logos/KNAB.png

1.54 KB | W: | H:

view/base/web/images/logos/KNAB.png
view/base/web/images/logos/KNAB.png
view/base/web/images/logos/KNAB.png
view/base/web/images/logos/KNAB.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/alipay.png

3.88 KB | W: | H:

view/base/web/images/logos/alipay.png

2.53 KB | W: | H:

view/base/web/images/logos/alipay.png
view/base/web/images/logos/alipay.png
view/base/web/images/logos/alipay.png
view/base/web/images/logos/alipay.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/bank_ru.png

1.11 KB | W: | H:

view/base/web/images/logos/bank_ru.png

1.39 KB | W: | H:

view/base/web/images/logos/bank_ru.png
view/base/web/images/logos/bank_ru.png
view/base/web/images/logos/bank_ru.png
view/base/web/images/logos/bank_ru.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/bank_ru_small.png

613 Bytes | W: | H:

view/base/web/images/logos/bank_ru_small.png

883 Bytes | W: | H:

view/base/web/images/logos/bank_ru_small.png
view/base/web/images/logos/bank_ru_small.png
view/base/web/images/logos/bank_ru_small.png
view/base/web/images/logos/bank_ru_small.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/bank_ru_tiny.png

538 Bytes | W: | H:

view/base/web/images/logos/bank_ru_tiny.png

542 Bytes | W: | H:

view/base/web/images/logos/bank_ru_tiny.png
view/base/web/images/logos/bank_ru_tiny.png
view/base/web/images/logos/bank_ru_tiny.png
view/base/web/images/logos/bank_ru_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/bcmc.png

4.45 KB | W: | H:

view/base/web/images/logos/bcmc.png

2.09 KB | W: | H:

view/base/web/images/logos/bcmc.png
view/base/web/images/logos/bcmc.png
view/base/web/images/logos/bcmc.png
view/base/web/images/logos/bcmc.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/bcmc_tiny.png

994 Bytes | W: | H:

view/base/web/images/logos/bcmc_tiny.png

729 Bytes | W: | H:

view/base/web/images/logos/bcmc_tiny.png
view/base/web/images/logos/bcmc_tiny.png
view/base/web/images/logos/bcmc_tiny.png
view/base/web/images/logos/bcmc_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/card.png

4.17 KB | W: | H:

view/base/web/images/logos/card.png

2.72 KB | W: | H:

view/base/web/images/logos/card.png
view/base/web/images/logos/card.png
view/base/web/images/logos/card.png
view/base/web/images/logos/card.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/interac.png

2.04 KB | W: | H:

view/base/web/images/logos/interac.png

1.74 KB | W: | H:

view/base/web/images/logos/interac.png
view/base/web/images/logos/interac.png
view/base/web/images/logos/interac.png
view/base/web/images/logos/interac.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/interac_tiny.png

684 Bytes | W: | H:

view/base/web/images/logos/interac_tiny.png

769 Bytes | W: | H:

view/base/web/images/logos/interac_tiny.png
view/base/web/images/logos/interac_tiny.png
view/base/web/images/logos/interac_tiny.png
view/base/web/images/logos/interac_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/klarna.png

3.41 KB | W: | H:

view/base/web/images/logos/klarna.png

1.9 KB | W: | H:

view/base/web/images/logos/klarna.png
view/base/web/images/logos/klarna.png
view/base/web/images/logos/klarna.png
view/base/web/images/logos/klarna.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/klarna_tiny.png

910 Bytes | W: | H:

view/base/web/images/logos/klarna_tiny.png

477 Bytes | W: | H:

view/base/web/images/logos/klarna_tiny.png
view/base/web/images/logos/klarna_tiny.png
view/base/web/images/logos/klarna_tiny.png
view/base/web/images/logos/klarna_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/mc_small_grey.png

688 Bytes | W: | H:

view/base/web/images/logos/mc_small_grey.png

822 Bytes | W: | H:

view/base/web/images/logos/mc_small_grey.png
view/base/web/images/logos/mc_small_grey.png
view/base/web/images/logos/mc_small_grey.png
view/base/web/images/logos/mc_small_grey.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/mc_tiny.png

975 Bytes | W: | H:

view/base/web/images/logos/mc_tiny.png

590 Bytes | W: | H:

view/base/web/images/logos/mc_tiny.png
view/base/web/images/logos/mc_tiny.png
view/base/web/images/logos/mc_tiny.png
view/base/web/images/logos/mc_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/moneta.png

2.17 KB | W: | H:

view/base/web/images/logos/moneta.png

1.03 KB | W: | H:

view/base/web/images/logos/moneta.png
view/base/web/images/logos/moneta.png
view/base/web/images/logos/moneta.png
view/base/web/images/logos/moneta.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/online_RU_small.png

1019 Bytes | W: | H:

view/base/web/images/logos/online_RU_small.png

969 Bytes | W: | H:

view/base/web/images/logos/online_RU_small.png
view/base/web/images/logos/online_RU_small.png
view/base/web/images/logos/online_RU_small.png
view/base/web/images/logos/online_RU_small.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/online_RU_tiny.png

196 Bytes | W: | H:

view/base/web/images/logos/online_RU_tiny.png

601 Bytes | W: | H:

view/base/web/images/logos/online_RU_tiny.png
view/base/web/images/logos/online_RU_tiny.png
view/base/web/images/logos/online_RU_tiny.png
view/base/web/images/logos/online_RU_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/paypal.png

2.02 KB | W: | H:

view/base/web/images/logos/paypal.png

2.87 KB | W: | H:

view/base/web/images/logos/paypal.png
view/base/web/images/logos/paypal.png
view/base/web/images/logos/paypal.png
view/base/web/images/logos/paypal.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/paypal_tiny.png

635 Bytes | W: | H:

view/base/web/images/logos/paypal_tiny.png

1.36 KB | W: | H:

view/base/web/images/logos/paypal_tiny.png
view/base/web/images/logos/paypal_tiny.png
view/base/web/images/logos/paypal_tiny.png
view/base/web/images/logos/paypal_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/safetypay_tiny.png

665 Bytes | W: | H:

view/base/web/images/logos/safetypay_tiny.png

612 Bytes | W: | H:

view/base/web/images/logos/safetypay_tiny.png
view/base/web/images/logos/safetypay_tiny.png
view/base/web/images/logos/safetypay_tiny.png
view/base/web/images/logos/safetypay_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/sm_small.png

1.68 KB | W: | H:

view/base/web/images/logos/sm_small.png

2.14 KB | W: | H:

view/base/web/images/logos/sm_small.png
view/base/web/images/logos/sm_small.png
view/base/web/images/logos/sm_small.png
view/base/web/images/logos/sm_small.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/ukash.png

2.88 KB | W: | H:

view/base/web/images/logos/ukash.png

4.58 KB | W: | H:

view/base/web/images/logos/ukash.png
view/base/web/images/logos/ukash.png
view/base/web/images/logos/ukash.png
view/base/web/images/logos/ukash.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/ukash_tiny.png

800 Bytes | W: | H:

view/base/web/images/logos/ukash_tiny.png

1.63 KB | W: | H:

view/base/web/images/logos/ukash_tiny.png
view/base/web/images/logos/ukash_tiny.png
view/base/web/images/logos/ukash_tiny.png
view/base/web/images/logos/ukash_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/visa.png

2.14 KB | W: | H:

view/base/web/images/logos/visa.png

2.9 KB | W: | H:

view/base/web/images/logos/visa.png
view/base/web/images/logos/visa.png
view/base/web/images/logos/visa.png
view/base/web/images/logos/visa.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/visa_tiny.png

874 Bytes | W: | H:

view/base/web/images/logos/visa_tiny.png

1.45 KB | W: | H:

view/base/web/images/logos/visa_tiny.png
view/base/web/images/logos/visa_tiny.png
view/base/web/images/logos/visa_tiny.png
view/base/web/images/logos/visa_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/wallet_RU.png

3.87 KB | W: | H:

view/base/web/images/logos/wallet_RU.png

525 Bytes | W: | H:

view/base/web/images/logos/wallet_RU.png
view/base/web/images/logos/wallet_RU.png
view/base/web/images/logos/wallet_RU.png
view/base/web/images/logos/wallet_RU.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/wallet_RU_tiny.png

981 Bytes | W: | H:

view/base/web/images/logos/wallet_RU_tiny.png

305 Bytes | W: | H:

view/base/web/images/logos/wallet_RU_tiny.png
view/base/web/images/logos/wallet_RU_tiny.png
view/base/web/images/logos/wallet_RU_tiny.png
view/base/web/images/logos/wallet_RU_tiny.png
  • 2-up
  • Swipe
  • Onion skin
view/base/web/images/logos/yourgift.png

4.21 KB | W: | H:

view/base/web/images/logos/yourgift.png

4.13 KB | W: | H:

view/base/web/images/logos/yourgift.png
view/base/web/images/logos/yourgift.png
view/base/web/images/logos/yourgift.png
view/base/web/images/logos/yourgift.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment