Skip to content

Новости

This content is not available in your language yet.

1.7.2 — 2026-10-06

heading.anchorLabel

Спрямо 1.7.1.

Внимание при деплой

heading.anchorLabel
  • Static: стилове/JS/шаблони във view/*/web (или requirejs-config.js) са променени — при деплоя setup:static-content:deploy.

Комити (2)

heading.anchorLabel
  • d5ee682 fix: no payment-failed e-mail when the shopper never reached the bank
  • 0560bb1 fix: show a failed hand-over to the bank inside the payment method

Бележки

heading.anchorLabel
  • Неуспешното пренасочване към банката вече се вижда в Webcode Checkout. Грешките на метода отиваха в глобалния списък със съобщения, който островът на Webcode Checkout не показва: купувачът не виждаше нищо, а „Поръчай“ оставаше заключен — той презареждаше и пласираше отново. Сега грешката излиза в самия метод (и в Luma), бутонът се отключва.
  • Без имейл „неуспешно плащане“, когато купувачът изобщо не е стигнал до банката (банката не е регистрирала транзакция) — той е още в checkout-а и вижда грешката там. Имейлът остава при отказ от банката и при изоставено плащане.
  • Пример за отказана регистрация: „Not allowed executing One-Click payments“ — включен One-Click при търговец, за когото банката не го е активирала.

При деплой

heading.anchorLabel
  • Сменен JS: setup:static-content:deploy и кеш.

1.7.1 — 2026-10-06

heading.anchorLabel

Спрямо 1.7.0.

Комити (1)

heading.anchorLabel
  • 1c2175f feat: the bank’s answer under “Transaction Details” of capture and refund

Бележки

heading.anchorLabel
  • Отговорът на банката в „Transaction Details“. Capture транзакцията вече носи целия отговор на проверката на статус (RESULT, RESULT_CODE, RRN, APPROVAL_CODE, маскиран CARD_NUMBER, 3-D Secure…), а refund транзакцията — отговора на реверсала/кредита (REVERSAL_* / REFUND_*). Досега страницата на транзакцията беше празна и отговорът се виждаше само в блока „Payment Information“ на поръчката.
  • Само за нови транзакции — заварените не се попълват.

При деплой

heading.anchorLabel
  • Няма DI, схема или статично съдържание: cache:flush стига.

1.7.0 — 2026-10-05

heading.anchorLabel

Спрямо 1.6.0.

Внимание при деплой

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Setup: data/schema patch — изпълнява се срещу жива база при setup:upgrade.

Комити (4)

heading.anchorLabel
  • 6984899 Release 1.7.0
  • 0807b72 feat: abandoned Fibank payments release stock; Hyvä Checkout reaches the bank
  • b36e533 fix: a paid order can be refunded - pay the invoice when the bank confirms
  • 33cd68c fix: production endpoint had a leading space; bank URLs follow the order’s store

Бележки

heading.anchorLabel
  • Продукция: банката вече е достижима. Продукционният адрес беше ' https://…' (с интервал) от 2021 — всяка заявка със Sandbox = Не падаше с The scheme ' https' is not supported. Sandbox не беше засегнат.
  • Платената поръчка вече може да се рефъндва. При потвърждение от банката фактурата оставаше „Pending“ и total_paid празно, затова нямаше кредитно известие нито от поръчката, нито от фактурата. Сега фактурата се плаща с номера на транзакцията и кредитното известие връща сумата онлайн.
  • Неплатените поръчки не държат наличността. Нов опит за плащане от същата количка анулира предишната неплатена поръчка веднага (без имейл); ако банката каже, че тя всъщност е платена, новото плащане се спира („Тази количка вече е платена с поръчка №…“). Недовършено плащане се анулира 15 мин (срокът на банката) + до 5 мин след пласиране; cron-ът е на всеки 5 мин.
  • Плащане по вече анулирана поръчка се връща автоматично (реверсал за цялата сума); откаже ли банката — системно съобщение в админа за ръчно възстановяване.
  • Hyvä Checkout стига до банката. Преди купувачът отиваше на /1/ и поръчката висеше.
  • URL-ите на банката следват магазина на поръчката (sandbox/продукция и сертификат от един и същ магазин); кредитното известие от админа ползва сертификата на магазина на поръчката.

При деплой

heading.anchorLabel
  • setup:upgrade пуска PayInvoicesOfConfirmedOrders: плаща фактурите на поръчки, които банката вече е потвърдила (RESULT = OK) и които са останали „Pending“ — след това те се рефъндват нормално.
  • Нов observer, нов route (fibank/processing/start) и нов cron график: чисти се generated/ и целият кеш.

Известен проблем

heading.anchorLabel
  • Webcode Checkout не е минат в браузър с тази версия (Luma, FireCheckout и Hyvä са — срещу локален mock на банката). Пътят на Fibank там е същият JS renderer като в Luma.

1.6.0 — 2026-10-05

heading.anchorLabel

Спрямо 1.5.0.

Внимание при деплой

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Setup: data/schema patch — изпълнява се срещу жива база при setup:upgrade.

Комити (2)

heading.anchorLabel
  • e222fc2 Release 1.6.0
  • 9db0c2e fix: cancel failed payments with their stock, keep the shopper’s session on return, stop re-encrypting the certificate

Бележки

heading.anchorLabel
  • Неуспешно плащане анулира поръчката и връща наличността. Досега отказ от банката оставяше поръчката в payment_review, фактурирана, с резервирана наличност — анулирането никога не минаваше (поръчката е фактурирана при пласиране). Сега фактурата и поръчката се анулират, наличността се връща и тръгва имейлът „неуспешно плащане“ (който досега също не е тръгвал).
  • Връщането от банката запазва сесията на купувача. Банката връща с cross-site POST, без сесийната бисквитка (SameSite=Lax); новата сесия заместваше тази на купувача — логнат клиент излизаше от профила, а съобщението в количката се губеше. Сега POST-ът е без сесия и пренасочва към нов GET адрес fibank/processing/back, където количката се възстановява със съобщение какво е станало. Статусът при банката се проверява и когато тя върне error.
  • Сертификатът не се криптира втори път при запис на настройките. Полето Certificate показва ****** вместо криптираната стойност, която при Save се криптираше повторно и сертификатът „ставаше невалиден“.

При деплой

heading.anchorLabel
  • setup:upgrade пуска data patch UnwrapDoubleEncryptedCertificate, който поправя вече двойно криптиран сертификат (единичен не пипа). Ако на сайта след запис на настройките сертификатът се показва като невалиден — това е случаят, и след деплоя трябва да е зелен.
  • Нов route fibank/processing/back и нов глобален плъгин на SessionStartChecker: чисти се generated/ и целият кеш — cache:clean config не стига, без грешка плъгинът просто липсва.

Известен проблем

heading.anchorLabel
  • Купувач, който се е върнал от страницата на банката, без да плати, получава количката си веднага, но поръчката се анулира (и наличността се връща) чак когато банката обяви транзакцията за изтекла (TIMEOUT) и cron-ът я обработи.

1.5.0 — 2026-10-03

heading.anchorLabel

Спрямо 1.4.1.

Бележки

heading.anchorLabel
  • Потвърждението на поръчката тръгва след плащането. order_place_redirect_url на fibank и fibank_vault спира имейла при подаване; модулът го праща, когато банката върне RESULT: OK. Неплатена поръчка вече не получава „Благодарим ви за поръчката“.
  • Имейл при неуспешно плащане (webcode_fibank_payment_failed, „Fibank: Payment Failed“, bg_BG включен): изпраща се само когато поръчката наистина е анулирана (отказ от банката при връщане или TIMEOUT по cron). Подател и вкл./изкл. — като имейла за поръчка. Без нито една връзка — регистриран клиент е насочен към „Моите поръчки → Поръчай отново“, гост — към нова поръчка.
  • Отговорът на банката (TRANSACTION_ID, RESULT, RRN, APPROVAL_CODE …) вече не излиза пред клиента — в имейлите и профила остава само името на метода; в админа се вижда под плащането. Беше обратното от 2021.

При деплой

heading.anchorLabel
  • DI: конструкторът на Gateway\Http\Client\UpdateOrderStatus има два нови параметъра — setup:di:compile (или изчистен generated/).
  • cache:flush — нов имейл шаблон и config default.

Комити (2)

heading.anchorLabel
  • ae45112 feat(email): order e-mail after the bank confirms, payment-failed e-mail without links
  • 3c2a3dc fix(info): show the bank’s answer in the admin only, not to the customer

1.4.1 — 2026-10-02

heading.anchorLabel

Спрямо 1.4.0.

Комити (1)

heading.anchorLabel
  • 57786c9 fix(redirect): urlencode the base64 trans_id in the ClientHandler URL

1.4.0 — 2026-09-30

heading.anchorLabel

Спрямо 1.3.0.

Внимание при деплой

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Конструктор: сменена сигнатура на __construct — при деплоя се чисти generated/.
  • Зависимости: require в composer.json: webcode/module-base: * → ^1.4.

Комити (2)

heading.anchorLabel
  • 67678d4 Release 1.4.0
  • bb4fb3c feat: сертификатът на Fibank в предупреждението за изтичане (base-2)

Бележки

heading.anchorLabel
  • Предупреждение за изтичащ клиентски сертификат (base-2): Webcode_Base показва в админа съобщение 30 дни преди изтичането на Fibank сертификата (sandbox или production — този в употреба на всеки scope) и critical, когато е изтекъл или не може да се прочете. Досега изтичането се виждаше чак при неуспешно плащане.

При деплой

heading.anchorLabel
  • Изисква webcode/module-base ^1.4.
  • Нов DI аргумент — изчисти generated/.

1.3.0 — 2026-09-29

heading.anchorLabel

Спрямо 1.2.0.

Внимание при деплой

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Зависимости: require в composer.json: добавен webcode/module-base (*).

Комити (4)

heading.anchorLabel
  • 0065da4 chore: bump version to 1.3.0
  • 57a4395 feat(config): upload на .p12/PEM за сертификата + статус на записания в админа
  • f2993fc docs(config): как се паства .p12 като base64 — в коментара на полето Certificate
  • 93d921d fix: сертификат PEM/PKCS12 с валидация, Stored Card само при записана карта

Бележки

heading.anchorLabel
  • Сертификатът се качва като файл. Ново поле „Certificate File“ под всяко Certificate поле (sandbox и production): избираш .p12/.pfx от банката, въвеждаш паролата му и записваш — съдържанието влиза криптирано в конфигурацията, файлът не се пази на сървъра. Отпада конверсията с openssl pkcs12 и втората парола. Текстовото поле остава (PEM или .p12 като base64).
  • Състояние на сертификата в админа. Под upload полето: зелено „valid: CN, expires дата“ или червено с причината (изтекъл, грешна парола, няма частен ключ, не е PEM/PKCS12). Същата проверка тече преди всяка заявка към банката, тъй че при лоша конфигурация купувачът вижда конкретна грешка вместо cURL error 58.
  • Смачкан PEM се поправя сам. Стойност, пастната преди 02.09.2026 в тогавашното едноредово поле, е с нови редове, заменени от интервали, и до 1.2.0 даваше cURL error 58: unable to set private key file. Сега се пренарежда при четене — не е нужно преконфигуриране.
  • Stored Card (Fibank) само при записана карта. Методът за one-click вече не се предлага на гост и на клиент без карта (сървърна проверка в списъка с платежни методи — важи за Luma, Hyvä и Webcode checkout).
  • Записаните карти се рендират. Токените се пишат с код fibank (кода на провайдъра), както core TokensConfigProvider ги търси; до 1.2.0 бяха fibank_vault и записана карта не се показваше в Luma checkout-а. Токени от 1.2.0 няма в продукция (one-click не е минавал E2E); ако има — UPDATE vault_payment_token SET payment_method_code='fibank' WHERE payment_method_code='fibank_vault'.

При деплой

heading.anchorLabel
  • generated/ се чисти (нов плъгин върху Magento\Vault\Model\Method\Vault, нови backend модели на конфига).
  • Пълен cache:flush — променена е структурата на конфига (system.xml), cache:flush config не стига.
  • Изисква webcode/module-base в инсталацията (нова зависимост).
  • Няма промени по схема, data patch или static content.

Известен проблем

heading.anchorLabel
  • Изтичането на сертификата не се известява предварително — вижда се в реда със състоянието в админа и при първата провалена поръчка. Предупреждение 30 дни по-рано е планирано като обща механика в module-base за Fibank, UPC, BORICA и DSK (hub base-2).

1.2.0 — 2026-09-05

heading.anchorLabel

One-click / записани карти (Vault)

heading.anchorLabel

Добавена е поддръжка на ECOMM one-click плащане със записана карта през Magento Vault (отделен метод fibank_vault).

  • Регистрация на карта при плащане (command z) с oc_pmnt_id като biller_client_id; токенът се минтва при асинхронния статус резултат (command c).
  • Преизползване на записана карта (command f) — пак редиректва за 3DS, само въвеждането на карта се прескача.
  • Триене на карта (command x) — best-effort при изтриване на токена.
  • Конфигурируем 3DS challenge и one-click toggle в админа.
  • 15 unit теста (PaymentIdGenerator, CardRegistrationBuilder, OneClickPaymentBuilder, TokenManager).
  • Панелът с банкови данни вече казва данните да се изпратят към Fibank, вместо да се самозаписват.

⚠️ Паричният E2E срещу жив Fibank sandbox (регистрация → преизползване → триене) не е минаван — иска one-click креденшъли от банката.

1.1.3 — 2026-09-02

heading.anchorLabel

Спрямо 1.1.2.

Внимание при деплой

heading.anchorLabel
  • Конструктор: сменена сигнатура на __construct — при деплоя се чисти generated/.

Комити (1)

heading.anchorLabel
  • 4922a5d make certificate fields multiline textareas (keep encryption) and add a return-url/server-ip panel for the bank

Бележки

heading.anchorLabel
  • Полетата Certificate са многоредови (textarea) — дотогава бяха едноредов text input, който при пастване на PEM смачква новите редове в интервали и сертификатът спира да работи (cURL error 58). Стойност, записана преди тази версия, може да е смачкана — от 1.3.0 модулът я пренарежда сам; на 1.1.3–1.2.0 се пастни наново.
  • Панел „Data for the bank“ под настройките: Return URL и IP на сървъра, които се изпращат на Fibank при регистрация на търговеца.

При деплой

heading.anchorLabel
  • generated/ се чисти (сменен конструктор на админ блок).

1.1.2 — 2026-08-26

heading.anchorLabel

Спрямо 1.1.1.

Внимание при деплой

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Конструктор: сменена сигнатура на __construct — при деплоя се чисти generated/.

Комити (11)

heading.anchorLabel
  • 16d040c подавай клиентския сертификат от конфиг през CURLOPT_SSLCERT_BLOB (без файл на диска)
  • 716f117 ci: махни изводимите ключове от .gitlab-ci.yml
  • bdf8d8c fix(gateway): реверсалът минава през refund, cancel/void отпадат
  • f13dbcf ci: наследи матрицата от pipeline-а вместо копи-пейст
  • 8122de3 fix(config): own msgid „Enable Fibank“ вместо родовото Enable
  • 40cca04 fix(config): гони specificcountry и по active, не само по allowspecific
  • ad53f2d fix(config): премахни дублиращата секция webcode_payments
  • ba1b2f5 fix(config): вържи към реалното поле active
  • 9e9d180 fix(gateway): вардù валутата в RegisterTransactionBuilder
  • f87db0c fix(di): премахни мъртвия config аргумент на CurrencyValidator
  • 2ecda50 fix(ci): стандартен module pipeline (include + vars)

Бележки

heading.anchorLabel
  • Клиентският сертификат се подава на банката от паметта (CURLOPT_SSLCERT_BLOB) направо от криптираната конфигурация — вече не се пише файл var/fibank-cert.pem. Изисква libcurl 7.71+ (PHP 8.1+); на по-стар libcurl заявката отказва, вместо да пише секрета на диска.
  • Реверсалът (r) минава през refund пътя: кредитно известие пробва първо r, при изричен отказ от банката — k. Командите cancel/void са махнати от pool-а — при SMS транзакция с payment_review поръчката те бяха недостижими.
  • Секцията webcode_payments е премахната; настройките са само под Sales → Payment Methods → Fibank. Пътищата payment/fibank/* са същите — нищо не се преконфигурира.
  • Гард за валута в RegisterTransactionBuilder: поръчка в неподдържана валута пада шумно, вместо да регистрира транзакция с празна валута.

При деплой

heading.anchorLabel
  • generated/ се чисти (DI и конструктори).

1.1.1 — 2026-07-28

heading.anchorLabel

Спрямо 1.1.0.

Внимание при деплой

heading.anchorLabel
  • Зависимости: require в composer.json: magento/module-checkout: 100.1.* → >=100.1.0; magento/module-config: 100.1.* → >=100.1.0; magento/module-cron: 100.1.* → >=100.1.0; magento/module-directory: 100.1.* → >=100.1.0; magento/module-payment: 100.1.* → >=100.1.0; magento/module-quote: 100.1.* → >=100.1.0; magento/module-sales: 100.1.* → >=100.1.0; magento/module-store: 100.1.* → >=100.1.0.

Комити (1)

heading.anchorLabel
  • f945a11 Edit composer.json

Бележки

heading.anchorLabel
  • Само constraints в composer.json: 100.1.* → >=100.1.0 за Magento модулите, за да се инсталира на 2.4.x без промяна по кода.

1.1.0 — 2026-07-28

heading.anchorLabel

Release 1.1.0