Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
838007a
Revert "Revert "SL-329 optimize db""
MarijusDilys Oct 16, 2025
ab36692
fix
MarijusDilys Oct 16, 2025
67a1000
fix
MarijusDilys Oct 16, 2025
91c5ce5
refactor: optimize SaferPayOfficial module - remove unused code and i…
MarijusDilys Oct 16, 2025
c50592b
refactor: add type hints to utilities, services and repositories
MarijusDilys Oct 16, 2025
e3cf46c
refactor: add type hints to providers, builder, adapter and service c…
MarijusDilys Oct 16, 2025
c22ebb2
refactor: add type hints to API request services
MarijusDilys Oct 16, 2025
3b539f2
refactor: add type hints to entity builders
MarijusDilys Oct 16, 2025
31baa9e
refactor: add type hints to response object creators
MarijusDilys Oct 16, 2025
1a939a1
fix
MarijusDilys Oct 16, 2025
c4579a7
fix|'
MarijusDilys Oct 16, 2025
09ec00e
fix: add missing string type hints to payment restriction validation …
MarijusDilys Oct 16, 2025
93dfce4
fix
MarijusDilys Oct 16, 2025
5e81019
refactor: add missing return type hints based on Gemini code review
MarijusDilys Oct 16, 2025
8925275
fix low ps
MarijusDilys Oct 16, 2025
924c4b2
fix types
MarijusDilys Oct 16, 2025
6fe3f0c
init
MarijusDilys Oct 23, 2025
21652a4
Fix configuration state management and simplify terminal parsing
MarijusDilys Oct 23, 2025
988f8b6
fix
MarijusDilys Oct 23, 2025
42f2ff8
init
MarijusDilys Oct 23, 2025
3dbff9c
Fix file and directory permissions
MarijusDilys Oct 23, 2025
d640fee
fix
MarijusDilys Oct 24, 2025
171e2d4
fix
MarijusDilys Nov 7, 2025
e6d1ab2
remove text
MarijusDilys Nov 7, 2025
e81aa89
fix
MarijusDilys Nov 7, 2025
dca4135
Merge pull request #302 from Invertus/SL-331/remove-js-library-from-ui
MarijusDilys Nov 7, 2025
f7a039b
Merge branch 'release-2.0.3' of github.com:Invertus/saferpayofficial …
MarijusDilys Nov 7, 2025
35ee3f4
fix
MarijusDilys Nov 7, 2025
9d5908d
Merge branch 'release-2.0.3' into SL-307/refactoring
MarijusDilys Nov 7, 2025
f7f80f1
Merge branch 'SL-307/refactoring' into SL-307/refactor-2
MarijusDilys Nov 7, 2025
68bb5a0
Add error logging and optimize terminal validation
MarijusDilys Nov 20, 2025
32e7212
Merge pull request #301 from Invertus/SL-330/terminal-retrieval
MarijusDilys Nov 20, 2025
838405f
Add missing parameter and return type hints for type safety
MarijusDilys Nov 20, 2025
42bae17
Fix TranslatorInterface method signature compatibility
MarijusDilys Nov 21, 2025
a14eefa
Remove object type hints for PHP 7.1 compatibility
MarijusDilys Nov 21, 2025
4847241
Update composer.json for PHP 7.1 compatibility
MarijusDilys Nov 21, 2025
3f12791
Fix php-cs-fixer version for PHP 7.1 compatibility
MarijusDilys Nov 21, 2025
8a5c97a
Ignore symfony/process security advisory for PHP 7.1 compatibility
MarijusDilys Nov 21, 2025
c190ac4
Pin behat to ^3.7 for PHP 7.1 compatibility
MarijusDilys Nov 21, 2025
b8f3490
Merge pull request #300 from Invertus/SL-307/refactor-2
MarijusDilys Nov 21, 2025
5dd55f0
Merge branch 'release-2.0.3' into SL-307/refactoring
MarijusDilys Nov 21, 2025
4e48dff
Merge pull request #299 from Invertus/SL-307/refactoring
MarijusDilys Nov 21, 2025
37582e2
add licences
MarijusDilys Nov 21, 2025
0bc041a
fix
MarijusDilys Nov 21, 2025
c74ab4a
Resolve critical TODO comments and add SaferPayRequestInterface
MarijusDilys Nov 21, 2025
99d0522
Add PHP 7.1 type hints to service classes
MarijusDilys Nov 21, 2025
c084aec
test commit
MarijusDilys Nov 21, 2025
5cd96c1
Revert "test commit"
MarijusDilys Nov 21, 2025
83e5341
Merge pull request #305 from Invertus/SL-332/code-refactoring
MarijusDilys Nov 21, 2025
3f32540
Upgrade league/container to 3.x to remove abandoned dependency
MarijusDilys Nov 21, 2025
4325409
Merge branch 'release-2.0.3' into SL-332/code-refactoring
MarijusDilys Nov 21, 2025
45dd4ce
Merge pull request #306 from Invertus/SL-332/code-refactoring
MarijusDilys Nov 21, 2025
124ab1e
Fix undefined countryOptions error in payment method admin page
MarijusDilys Nov 21, 2025
0c33f9d
Merge pull request #307 from Invertus/SL-XXX/fix-undefined-countryOpt…
MarijusDilys Nov 21, 2025
d309374
API version increase, added new payment method, removed deprecated
Mar 4, 2026
76fd631
fixes for giftcards
Mar 4, 2026
91967e9
Merge pull request #313 from Invertus/SL-347/api-version-update
TLabutis May 27, 2026
35feedb
Set module version to 2.0.3 for release-2.0.3 branch
May 28, 2026
c573dbb
Remove blank line before file comment in saferpayofficial.php and Saf…
May 28, 2026
f7adabc
Escape Smarty variables in templates to satisfy PS validator
May 28, 2026
9048163
Expand 2.0.3 changelog with full scope of release
May 28, 2026
97c71c0
Revert "Expand 2.0.3 changelog with full scope of release"
May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified .docker/.htaccess1764
100755 → 100644
Empty file.
Empty file modified .docker/.htaccess1770
100755 → 100644
Empty file.
Empty file modified .docker/.htaccess1784
100755 → 100644
Empty file.
Empty file modified .docker/.htaccess1786
100755 → 100644
Empty file.
Empty file modified .docker/Dockerfile.1764
100755 → 100644
Empty file.
Empty file modified .docker/Dockerfile.1770
100755 → 100644
Empty file.
Empty file modified .docker/Dockerfile.1784
100755 → 100644
Empty file.
Empty file modified .docker/Dockerfile.1786
100755 → 100644
Empty file.
Empty file modified .docker/wait-for-container.sh
100755 → 100644
Empty file.
Empty file modified .github/.htaccess
100755 → 100644
Empty file.
Empty file modified .github/workflows/PS1764_Cypress_Browserstack.yml
100755 → 100644
Empty file.
Empty file modified .github/workflows/PS1770_Cypress_Browserstack.yml
100755 → 100644
Empty file.
Empty file modified .github/workflows/PS1784_Cypress_Browserstack.yml
100755 → 100644
Empty file.
Empty file modified .github/workflows/PS1786_Cypress_Browserstack.yml
100755 → 100644
Empty file.
Empty file modified .github/workflows/deploy.yml
100755 → 100644
Empty file.
Empty file modified .github/workflows/release.yml
100755 → 100644
Empty file.
Empty file modified .gitignore
100755 → 100644
Empty file.
Empty file modified .php_cs.dist
100755 → 100644
Empty file.
Empty file modified Makefile
100755 → 100644
Empty file.
Empty file modified README.md
100755 → 100644
Empty file.
Empty file modified User-guide-saferpay-module-for-prestashop-int-en.pdf
100755 → 100644
Empty file.
Empty file modified browserstack.json
100755 → 100644
Empty file.
8 changes: 7 additions & 1 deletion changelog.md
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -196,4 +196,10 @@
## [2.0.2]
- Remove WL Crypto payment method
- Added setting to toggle order confirmation email sending
- Added feature to group card payment methods into unified "Card" payment method
- Added feature to group card payment methods into unified "Card" payment method

## [2.0.3]
- Optimized database performance
- Dynamic termimal selection
- Removed uneccesary inputs from admin settings
- Checked overall module stability
18 changes: 11 additions & 7 deletions composer.json
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
"config": {
"prepend-autoloader": false,
"platform": {
"php": "5.6"
"php": "7.1"
},
"audit": {
"ignore": ["PKSA-wws7-mr54-jsny"]
}
Comment on lines +23 to 25

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Ignoring the security audit for PKSA-wws7-mr54-jsny is a security risk. This vulnerability in vlucas/phpdotenv versions before 5.0.0 can lead to the exposure of your .env file if the document root is misconfigured. It is highly recommended to update vlucas/phpdotenv to a secure version (e.g., ^5.0) instead of ignoring the audit.

},
"repositories": {
Expand All @@ -33,22 +36,23 @@
}
},
"require": {
"php": ">=7.1",
"vlucas/phpdotenv": "^3.6",

"symfony/config": "^3.4",
"symfony/dependency-injection": "^3.4",
"symfony/filesystem": "^3.4",
"apimatic/unirest-php": "^2.3",
"symfony/yaml": "^3.4",
"league/container": "2.5.0",
"league/container": "^3.0",
"invertus/lock": "^1.0.0",
"invertus/knapsack": "^10.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "*",
"phpunit/phpunit": "*",
"behat/behat": "*",
"symfony/translation": "*",
"friendsofphp/php-cs-fixer": "^2.16.7",
"phpunit/phpunit": "^7.5",
"behat/behat": "^3.7",
"symfony/translation": "^3.4",
"symfony/process": "^3.4",
"prestashop/php-dev-tools": "^3.16"
},
"scripts": {
Expand Down
Empty file modified controllers/admin/AdminSaferPayOfficialFieldsController.php
100755 → 100644
Empty file.
Empty file modified controllers/admin/AdminSaferPayOfficialLogsController.php
100755 → 100644
Empty file.
Empty file modified controllers/admin/AdminSaferPayOfficialModuleController.php
100755 → 100644
Empty file.
Empty file modified controllers/admin/AdminSaferPayOfficialOrderController.php
100755 → 100644
Empty file.
12 changes: 10 additions & 2 deletions controllers/admin/AdminSaferPayOfficialPaymentController.php
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,10 @@ protected function renderShoppingPointOptions()
$restrictionRepository = $this->module->getService(SaferPayRestrictionRepository::class);

$paymentMethods = $this->getPaymentMethods();
if (is_null($paymentMethods)) {
return;
if (is_null($paymentMethods) || empty($paymentMethods)) {
$this->errors[] = $this->module->l('No payment methods available. Please check your SaferPay account configuration.');

return '';
}

$this->initForm();
Expand Down Expand Up @@ -204,6 +206,12 @@ protected function renderShoppingPointOptions()
$this->module->getLocalPath() . 'views/templates/admin/payment_method.tpl'
);
}
$this->context->smarty->assign([
'countryOptions' => $this->getActiveCountriesList(),
'countrySelect' => [],
'currencyOptions' => [0 => $this->module->l('All')],
'currencySelect' => [],
]);
$referralOptionsForm->fields_value['all'] =
$this->context->smarty->fetch(
$this->module->getLocalPath() . 'views/templates/admin/payment_method_all.tpl'
Expand Down
145 changes: 123 additions & 22 deletions controllers/admin/AdminSaferPayOfficialSettingsController.php
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
use Invertus\SaferPay\Config\SaferPayConfig;
use Invertus\SaferPay\Repository\SaferPaySavedCreditCardRepository;
use Invertus\SaferPay\Adapter\Configuration;
use Invertus\SaferPay\Service\SaferPayTerminalService;
use Invertus\SaferPay\Logger\LoggerInterface;

require_once dirname(__FILE__) . '/../../vendor/autoload.php';

Expand Down Expand Up @@ -75,9 +77,71 @@ public function postProcess()
$this->errors[] = $this->module->l('Field Access Token is required to use business license');
}

$this->validateTerminalId();

return true;
}

private function validateTerminalId()
{
try {
/** @var Configuration $configuration */
$configuration = $this->module->getService(Configuration::class);

$suffix = SaferPayConfig::getConfigSuffix();

$terminalId = Tools::getValue(SaferPayConfig::TERMINAL_ID . $suffix);
$customerId = Tools::getValue(SaferPayConfig::CUSTOMER_ID . $suffix)
?: $configuration->get(SaferPayConfig::CUSTOMER_ID . $suffix);
$username = Tools::getValue(SaferPayConfig::USERNAME . $suffix)
?: $configuration->get(SaferPayConfig::USERNAME . $suffix);
$password = Tools::getValue(SaferPayConfig::PASSWORD . $suffix)
?: $configuration->get(SaferPayConfig::PASSWORD . $suffix);

if (empty($terminalId) || empty($customerId) || empty($username) || empty($password)) {
return;
}

$originalCustomerId = \Configuration::get(SaferPayConfig::CUSTOMER_ID . $suffix);
$originalUsername = \Configuration::get(SaferPayConfig::USERNAME . $suffix);
$originalPassword = \Configuration::get(SaferPayConfig::PASSWORD . $suffix);

try {
\Configuration::updateValue(SaferPayConfig::CUSTOMER_ID . $suffix, $customerId);
\Configuration::updateValue(SaferPayConfig::USERNAME . $suffix, $username);
\Configuration::updateValue(SaferPayConfig::PASSWORD . $suffix, $password);

/** @var SaferPayTerminalService $terminalService */
$terminalService = $this->module->getService(SaferPayTerminalService::class);

$terminals = $terminalService->getAvailableTerminals();

$isValid = false;
foreach ($terminals as $terminal) {
if ($terminal['TerminalId'] === $terminalId) {
$isValid = true;
break;
}
}

if (!$isValid && !empty($terminals)) {
$this->warnings[] = $this->module->l('Warning: The Terminal ID you entered was not found in the list of available terminals. Please verify the Terminal ID is correct.');
}
} finally {
\Configuration::updateValue(SaferPayConfig::CUSTOMER_ID . $suffix, $originalCustomerId);
\Configuration::updateValue(SaferPayConfig::USERNAME . $suffix, $originalUsername);
\Configuration::updateValue(SaferPayConfig::PASSWORD . $suffix, $originalPassword);
}
} catch (Exception $e) {
/** @var LoggerInterface $logger */
$logger = $this->module->getService(LoggerInterface::class);
$logger->error(sprintf('%s - Failed to validate terminal ID: %s', self::FILE_NAME, $e->getMessage()), [
'context' => [],
'exception' => $e,
]);
}
}

public function initOptions()
{
$this->context->smarty->assign(SaferPayConfig::PASSWORD, SaferPayConfig::WEB_SERVICE_PASSWORD_PLACEHOLDER);
Expand All @@ -104,6 +168,57 @@ public function setMedia($isNewTheme = false)
$this->addJS('modules/' . $this->module->name . '/views/js/admin/saferpay_settings.js');
}

/**
* @param string $environment 'test' or 'live'
* @return array
*/
private function getTerminalsForEnvironment($environment = 'live')
{
$suffix = ($environment === 'test') ? SaferPayConfig::TEST_SUFFIX : '';

$customerId = Tools::getValue(SaferPayConfig::CUSTOMER_ID . $suffix)
?: \Configuration::get(SaferPayConfig::CUSTOMER_ID . $suffix);
$username = Tools::getValue(SaferPayConfig::USERNAME . $suffix)
?: \Configuration::get(SaferPayConfig::USERNAME . $suffix);
$password = Tools::getValue(SaferPayConfig::PASSWORD . $suffix)
?: \Configuration::get(SaferPayConfig::PASSWORD . $suffix);

if (empty($customerId) || empty($username) || empty($password)) {
return [];
}

$originalCustomerId = \Configuration::get(SaferPayConfig::CUSTOMER_ID . $suffix);
$originalUsername = \Configuration::get(SaferPayConfig::USERNAME . $suffix);
$originalPassword = \Configuration::get(SaferPayConfig::PASSWORD . $suffix);
$originalTestMode = \Configuration::get(SaferPayConfig::TEST_MODE);

try {
\Configuration::updateValue(SaferPayConfig::CUSTOMER_ID . $suffix, $customerId);
\Configuration::updateValue(SaferPayConfig::USERNAME . $suffix, $username);
\Configuration::updateValue(SaferPayConfig::PASSWORD . $suffix, $password);
\Configuration::updateValue(SaferPayConfig::TEST_MODE, $environment === 'test' ? 1 : 0);

/** @var SaferPayTerminalService $terminalService */
$terminalService = $this->module->getService(SaferPayTerminalService::class);
$terminals = $terminalService->getAvailableTerminals($customerId);

return $terminals;
} catch (Exception $e) {
/** @var LoggerInterface $logger */
$logger = $this->module->getService(LoggerInterface::class);
$logger->error(sprintf('%s - Failed to get terminals: %s', self::FILE_NAME, $e->getMessage()), [
'context' => [],
'exception' => $e,
]);
return [];
} finally {
\Configuration::updateValue(SaferPayConfig::CUSTOMER_ID . $suffix, $originalCustomerId);
\Configuration::updateValue(SaferPayConfig::USERNAME . $suffix, $originalUsername);
\Configuration::updateValue(SaferPayConfig::PASSWORD . $suffix, $originalPassword);
\Configuration::updateValue(SaferPayConfig::TEST_MODE, $originalTestMode);
}
}

/**
* @return array
*/
Expand Down Expand Up @@ -384,8 +499,11 @@ private function displayTestEnvironmentConfiguration()
],
SaferPayConfig::TERMINAL_ID . SaferPayConfig::TEST_SUFFIX => [
'title' => $this->module->l('Terminal ID'),
'type' => 'text',
'type' => 'terminal_selector',
'class' => 'fixed-width-xl',
'value' => \Configuration::get(SaferPayConfig::TERMINAL_ID . SaferPayConfig::TEST_SUFFIX),
'environment' => 'test',
'terminals' => $this->getTerminalsForEnvironment('test'),
],
SaferPayConfig::MERCHANT_EMAILS . SaferPayConfig::TEST_SUFFIX => [
'title' => $this->module->l('Merchant emails'),
Expand All @@ -402,16 +520,6 @@ private function displayTestEnvironmentConfiguration()
'type' => 'text',
'class' => 'fixed-width-xxl',
],
SaferPayConfig::FIELDS_LIBRARY . SaferPayConfig::TEST_SUFFIX . '_description' => [
'type' => 'desc',
'class' => 'col-lg-12',
'template' => 'field-javascript-library-desc.tpl',
],
SaferPayConfig::FIELDS_LIBRARY . SaferPayConfig::TEST_SUFFIX => [
'title' => $this->module->l('Field Javascript library url'),
'type' => 'text',
'class' => 'fixed-width-xxl',
],
SaferPayConfig::BUSINESS_LICENSE . SaferPayConfig::TEST_SUFFIX => [
'title' => $this->module->l('I have Business license'),
'validation' => 'isBool',
Expand Down Expand Up @@ -459,8 +567,11 @@ private function displayLiveEnvironmentConfiguration()
],
SaferPayConfig::TERMINAL_ID => [
'title' => $this->module->l('Terminal ID'),
'type' => 'text',
'type' => 'terminal_selector',
'class' => 'fixed-width-xl',
'value' => \Configuration::get(SaferPayConfig::TERMINAL_ID),
'environment' => 'live',
'terminals' => $this->getTerminalsForEnvironment('live'),
],
SaferPayConfig::MERCHANT_EMAILS => [
'title' => $this->module->l('Merchant emails'),
Expand All @@ -477,16 +588,6 @@ private function displayLiveEnvironmentConfiguration()
'type' => 'text',
'class' => 'fixed-width-xxl',
],
SaferPayConfig::FIELDS_LIBRARY . '_description' => [
'type' => 'desc',
'class' => 'col-lg-12',
'template' => 'field-javascript-library-desc.tpl',
],
SaferPayConfig::FIELDS_LIBRARY => [
'title' => $this->module->l('Field Javascript library url'),
'type' => 'text',
'class' => 'fixed-width-xxl',
],
SaferPayConfig::BUSINESS_LICENSE => [
'title' => $this->module->l('I have Business license'),
'validation' => 'isBool',
Expand Down
Empty file modified controllers/admin/index.php
100755 → 100644
Empty file.
Empty file modified controllers/front/ajax.php
100755 → 100644
Empty file.
Empty file modified controllers/front/creditCards.php
100755 → 100644
Empty file.
Empty file modified controllers/front/fail.php
100755 → 100644
Empty file.
Empty file modified controllers/front/failIFrame.php
100755 → 100644
Empty file.
Empty file modified controllers/front/failValidation.php
100755 → 100644
Empty file.
2 changes: 1 addition & 1 deletion controllers/front/hostedIframe.php
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public function setMedia()

$this->context->controller->registerJavascript(
'remote-saferpay-fields-js-lib',
Configuration::get(SaferPayConfig::FIELDS_LIBRARY . SaferPayConfig::getConfigSuffix()),
SaferPayConfig::FIELDS_LIBRARY_DEFAULT_VALUE,
['server' => 'remote', 'position' => 'bottom', 'priority' => 20]
);

Expand Down
Empty file modified controllers/front/iframe.php
100755 → 100644
Empty file.
Empty file modified controllers/front/index.php
100755 → 100644
Empty file.
4 changes: 2 additions & 2 deletions controllers/front/notify.php
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ public function postProcess()

$orderId = Order::getIdByCartId($cartId);

//TODO look into pipeline design pattern to use when object is modified in multiple places to avoid this issue.
//NOTE must be left below assert action to get newest information.
// @NOTE: Pipeline design pattern could improve readability when order is modified in multiple places.
// Must be left below assert action to get newest information.
$order = new Order($orderId);

if (!$assertResponseBody->getLiability()->getLiabilityShift() &&
Expand Down
Empty file modified controllers/front/pendingNotify.php
100755 → 100644
Empty file.
Empty file modified controllers/front/return.php
100755 → 100644
Empty file.
Empty file modified controllers/front/success.php
100755 → 100644
Empty file.
Empty file modified controllers/front/successHosted.php
100755 → 100644
Empty file.
Empty file modified controllers/front/successIFrame.php
100755 → 100644
Empty file.
Empty file modified controllers/front/validation.php
100755 → 100644
Empty file.
Empty file modified controllers/index.php
100755 → 100644
Empty file.
Empty file modified cypress.json
100755 → 100644
Empty file.
Empty file modified cypress/fixtures/example.json
100755 → 100644
Empty file.
Empty file modified cypress/integration/01_ps1764.Module.Configure.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/01_ps1770.Module.Configure.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/01_ps1784.Module.Configure.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/01_ps1786.Module.Configure.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/02_ps1764.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/02_ps1770.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/02_ps1784.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/integration/02_ps1786.cy.js
100755 → 100644
Empty file.
Empty file modified cypress/plugins/index.js
100755 → 100644
Empty file.
Empty file modified cypress/support/commands.js
100755 → 100644
Empty file.
Empty file modified cypress/support/index.js
100755 → 100644
Empty file.
Empty file modified docker-compose.1764.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.1770.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.1784.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.1786.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.e2e.1764.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.e2e.1784.yml
100755 → 100644
Empty file.
Empty file modified docker-compose.e2e.1786.yml
100755 → 100644
Empty file.
Empty file modified index.php
100755 → 100644
Empty file.
Empty file modified logo.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified package-lock.json
100755 → 100644
Empty file.
Empty file modified package.json
100755 → 100644
Empty file.
Empty file modified saferpay.config.php
100755 → 100644
Empty file.
Loading
Loading