Новости
This content is not available in your language yet.
1.7.2 — 2026-10-06
heading.anchorLabel1.7.2
heading.anchorLabelСпрямо 1.7.1.
Внимание при деплой
heading.anchorLabel- Static: стилове/JS/шаблони във
view/*/web(илиrequirejs-config.js) са променени — при деплояsetup:static-content:deploy.
Комити (2)
heading.anchorLabeld5ee682fix: no payment-failed e-mail when the shopper never reached the bank0560bb1fix: 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.anchorLabel1.7.1
heading.anchorLabelСпрямо 1.7.0.
Комити (1)
heading.anchorLabel1c2175ffeat: 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.anchorLabel1.7.0
heading.anchorLabelСпрямо 1.6.0.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Setup: data/schema patch — изпълнява се срещу жива база при
setup:upgrade.
Комити (4)
heading.anchorLabel6984899Release 1.7.00807b72feat: abandoned Fibank payments release stock; Hyvä Checkout reaches the bankb36e533fix: a paid order can be refunded - pay the invoice when the bank confirms33cd68cfix: 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.anchorLabelsetup: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.anchorLabel1.6.0
heading.anchorLabelСпрямо 1.5.0.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Setup: data/schema patch — изпълнява се срещу жива база при
setup:upgrade.
Комити (2)
heading.anchorLabele222fc2Release 1.6.09db0c2efix: 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.anchorLabelsetup:upgradeпуска data patchUnwrapDoubleEncryptedCertificate, който поправя вече двойно криптиран сертификат (единичен не пипа). Ако на сайта след запис на настройките сертификатът се показва като невалиден — това е случаят, и след деплоя трябва да е зелен.- Нов route
fibank/processing/backи нов глобален плъгин наSessionStartChecker: чисти сеgenerated/и целият кеш —cache:clean configне стига, без грешка плъгинът просто липсва.
Известен проблем
heading.anchorLabel- Купувач, който се е върнал от страницата на банката, без да плати, получава количката си веднага, но поръчката се анулира (и наличността се връща) чак когато банката обяви транзакцията за изтекла (
TIMEOUT) и cron-ът я обработи.
1.5.0 — 2026-10-03
heading.anchorLabel1.5.0
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.anchorLabelae45112feat(email): order e-mail after the bank confirms, payment-failed e-mail without links3c2a3dcfix(info): show the bank’s answer in the admin only, not to the customer
1.4.1 — 2026-10-02
heading.anchorLabel1.4.1
heading.anchorLabelСпрямо 1.4.0.
Комити (1)
heading.anchorLabel57786c9fix(redirect): urlencode the base64 trans_id in the ClientHandler URL
1.4.0 — 2026-09-30
heading.anchorLabel1.4.0
heading.anchorLabelСпрямо 1.3.0.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/. - Зависимости:
requireвcomposer.json:webcode/module-base:*→^1.4.
Комити (2)
heading.anchorLabel67678d4Release 1.4.0bb4fb3cfeat: сертификатът на 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.anchorLabel1.3.0
heading.anchorLabelСпрямо 1.2.0.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Зависимости:
requireвcomposer.json: добавенwebcode/module-base(*).
Комити (4)
heading.anchorLabel0065da4chore: bump version to 1.3.057a4395feat(config): upload на .p12/PEM за сертификата + статус на записания в админаf2993fcdocs(config): как се паства .p12 като base64 — в коментара на полето Certificate93d921dfix: сертификат 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(кода на провайдъра), както coreTokensConfigProviderги търси; до 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.anchorLabelgenerated/се чисти (нов плъгин върху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 (hubbase-2).
1.2.0 — 2026-09-05
heading.anchorLabel1.2.0
heading.anchorLabelOne-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).
Друго
heading.anchorLabel- Панелът с банкови данни вече казва данните да се изпратят към Fibank, вместо да се самозаписват.
⚠️ Паричният E2E срещу жив Fibank sandbox (регистрация → преизползване → триене) не е минаван — иска one-click креденшъли от банката.
1.1.3 — 2026-09-02
heading.anchorLabel1.1.3
heading.anchorLabelСпрямо 1.1.2.
Внимание при деплой
heading.anchorLabel- Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/.
Комити (1)
heading.anchorLabel4922a5dmake certificate fields multiline textareas (keep encryption) and add a return-url/server-ip panel for the bank
Бележки
heading.anchorLabel- Полетата Certificate са многоредови (
textarea) — дотогава бяха едноредовtextinput, който при пастване на PEM смачква новите редове в интервали и сертификатът спира да работи (cURL error 58). Стойност, записана преди тази версия, може да е смачкана — от 1.3.0 модулът я пренарежда сам; на 1.1.3–1.2.0 се пастни наново. - Панел „Data for the bank“ под настройките: Return URL и IP на сървъра, които се изпращат на Fibank при регистрация на търговеца.
При деплой
heading.anchorLabelgenerated/се чисти (сменен конструктор на админ блок).
1.1.2 — 2026-08-26
heading.anchorLabel1.1.2
heading.anchorLabelСпрямо 1.1.1.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/.
Комити (11)
heading.anchorLabel16d040cподавай клиентския сертификат от конфиг през CURLOPT_SSLCERT_BLOB (без файл на диска)716f117ci: махни изводимите ключове от .gitlab-ci.ymlbdf8d8cfix(gateway): реверсалът минава през refund, cancel/void отпадатf13dbcfci: наследи матрицата от pipeline-а вместо копи-пейст8122de3fix(config): own msgid „Enable Fibank“ вместо родовото Enable40cca04fix(config): гони specificcountry и по active, не само по allowspecificad53f2dfix(config): премахни дублиращата секция webcode_paymentsba1b2f5fix(config): вържикъм реалното поле active 9e9d180fix(gateway): вардù валутата в RegisterTransactionBuilderf87db0cfix(di): премахни мъртвия config аргумент на CurrencyValidator2ecda50fix(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.anchorLabelgenerated/се чисти (DI и конструктори).
1.1.1 — 2026-07-28
heading.anchorLabel1.1.1
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.anchorLabelf945a11Edit composer.json
Бележки
heading.anchorLabel- Само constraints в
composer.json:100.1.*→>=100.1.0за Magento модулите, за да се инсталира на 2.4.x без промяна по кода.
1.1.0 — 2026-07-28
heading.anchorLabelRelease 1.1.0