Skip to content

Новости

This content is not available in your language yet.

1.3.1 — 2026-11-12

heading.anchorLabel

Спрямо 1.3.0.

Бележки

heading.anchorLabel
  • Връщането от банката вече продължава в store view-а на поръчката (или на регистрацията на карта), а не в единствения адрес, регистриран за терминала — поръчка/регистрация от друг store view (напр. /en/) вече не завършва на страниците на default store-а.
  • Запазените карти отново излизат в checkout-а (TokensConfigProvider мапингът е преместен във frontend area).

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

heading.anchorLabel
  • DI: di.xml е променен и Controller\Processing\Result получава нов конструкторски аргумент (UrlInterface). При деплоя се чисти generated/ (rm -rf generated/*), после cache:flush.

Комити (2)

heading.anchorLabel
  • 1ffa119 Send the shopper back to the order’s own store view after UPC
  • eb07429 Запазените карти излизат в checkout-а: TokensConfigProvider мапингът е във frontend area

1.3.0 — 2026-11-11

heading.anchorLabel

Спрямо 1.2.7.

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

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

Комити (4)

heading.anchorLabel
  • 552194d Release 1.3.0
  • c87b11d Платената поръчка: отговорът на банката в Transaction Details
  • bab1c8a Отказано плащане: причина, съобщение в количката, език към банката
  • e6ca973 Плащането в админа: ясно дали поръчката е платена

Бележки

heading.anchorLabel
  • Плащането в админа. Блокът Payment Information на поръчката, фактурата и кредитното известие вече показва ясно дали поръчката е платена. Това е искане на банката. Блокът съдържа метода, картата (лого и последните 4 цифри), сумата и статус като значка: получено, чака банката, не е получено, възстановено изцяло или частично. Статусът се смята по base_total_paid, не по статуса на поръчката. Имейлите и PDF-ът остават с core шаблона, без данни от банката.
  • Отказано плащане. Причината е TranCode на банката. Описание с думи имат само кодовете от документацията на UPC, непознатите остават сурови. Админът я вижда в историята на поръчката и като ред „Decline Reason“ в блока, докато нищо не е платено. Купувачът вижда съобщението веднъж, над продуктите в количката, без код.
  • Език към банката: locale е bg или en.
  • Transaction Details при платена поръчка вече носи отговора на банката (XID, Rrn, ApprovalCode, ProxyPan), без Signature. При отказ транзакция няма, защото UPC поръчката няма транзакция преди одобрение.
  • etc/csp_whitelist.xml: form-action към банката. Без него CSP на checkout страницата спира submit-а на формата и поръчката остава неплатена, без грешка в UI.
  • Поправка: отговорът на банката не стигаше до админа, защото getIsSecureMode() е true и там.

При деплой

heading.anchorLabel
  • Конструктори и etc/frontend/di.xml са сменени: чисти generated/, после cache:flush.
  • Няма схема, data patch или static съдържание.

Проверено

heading.anchorLabel
  • На живо с mock банка на Luma (magento.local): откази 116 и 131 и плащане в същата сесия. Платена поръчка 2000000401 показва отговора в Transaction Details.
  • Реалните откази на ndbg са прочетени (само SELECT). 437, 505, 443 и 413 ги няма в документацията на банката и остават сурови.

1.2.7 — 2026-11-04

heading.anchorLabel

Спрямо 1.2.6.

Комити (1)

heading.anchorLabel
  • 915e507 Изоставено плащане в checkout се анулира след 2 часа

1.2.6 — 2026-11-03

heading.anchorLabel

Спрямо 1.2.5.

Комити (1)

heading.anchorLabel
  • ea6634c Отказ на таксуване с пазена карта се чете, въпреки HTTP 400

1.2.5 — 2026-11-03

heading.anchorLabel

Спрямо 1.2.4.

Комити (1)

heading.anchorLabel
  • b612e2a Таксуване с пазена карта без XID се записва под номера на поръчката

1.2.4 — 2026-11-03

heading.anchorLabel

Спрямо 1.2.3.

Комити (1)

heading.anchorLabel
  • aa81869 Отговорът на payByToken е подписан с RS512

1.2.3 — 2026-11-02

heading.anchorLabel

Спрямо 1.2.2.

Бележки

heading.anchorLabel
  • Задържането при добавяне на карта се освобождава веднага след отговора на банката. Банката не извика notify за реална регистрация, затова сумата чакаше часовия крон. При неуспех кронът опитва пак.
  • Видът на картата влиза в token_details.type, от първите цифри на номера, и профилът показва логото. Влиза и в public_hash, но само за нови карти; съществуващите се допълват отделно.
  • payment/upc/debug вече записва обмена с банката в var/log/payment.log. Досега не пишеше нищо.

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

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

Комити (4)

heading.anchorLabel
  • b542fa3 Debug логът наистина записва обмена с банката
  • b3643bd Текстът за сумата при добавяне на карта без „веднага“
  • ddef728 Видът на картата във Vault и логото ѝ в профила
  • a948deb Задържането при регистрация на карта се освобождава веднага

1.2.2 — 2026-11-02

heading.anchorLabel

Спрямо 1.2.1.

Комити (1)

heading.anchorLabel
  • 5acbcd0 Запазени карти вместо „Съхранени методи за плащане“

Бележки

heading.anchorLabel

В bg_BG.csv има ред Stored Payment Methods → „Запазени карти“. Сайт с езиков пакет, който носи този ред, продължава да показва текста от пакета, защото Magento зарежда пакета след модулите.

При деплой

heading.anchorLabel

Нищо особено: само превод. Изчистете кеша на преводите.

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

heading.anchorLabel

Срещу UPC sandbox още не е пускано нищо. Какво остава е в „Гейт 0“ в README.

1.2.1 — 2026-11-02

heading.anchorLabel

Спрямо 1.2.0.

Бележки

heading.anchorLabel

OrderID към банката е най-много 20 знака, както е мерено на живата страница. Досега модулът допускаше 32 и регистрацията на карта с клиентски номер от 5 и повече цифри получаваше код 402 „Invalid acquirer/merchant data“. Плащането на поръчка не е засегнато, защото номерът ѝ е по-къс.

При деплой

heading.anchorLabel

Няма промени в DI, схема или статично съдържание.

Комити (1)

heading.anchorLabel
  • d47e190 OrderID към банката е най-много 20 знака

1.2.0 — 2026-11-02

heading.anchorLabel

Спрямо 1.1.3.

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

heading.anchorLabel
  • DI: di.xml е променен — при деплоя се чисти generated/.
  • Static: стилове/JS/шаблони във view/*/web (или requirejs-config.js) са променени — при деплоя setup:static-content:deploy.
  • Зависимости: require в composer.json: добавен magento/module-customer (*).

Комити (8)

heading.anchorLabel
  • f545bcf Release 1.2.0
  • 1c5e291 Статус на платена поръчка, refund по документацията, без отговора на банката към клиента
  • 5a012a7 Протоколът по мерене срещу реални отговори на банката
  • b2b7a80 Логнат клиент може да избере картата при включен vault
  • 35b72f0 Таксуванията в преглед не питат гейта за store с изключен метод
  • 36e4bd0 Решение за плащане в преглед едва 15 мин. след таксуването
  • b48476e UPC годен да замени Extensa_Rbb: пазена карта във Vault, без своя таблица за плащанията
  • a89d1e9 Post-release bump to 1.1.4

Бележки

heading.anchorLabel
  • Callback-ите на банката вече се проверяват правилно. Подписът е SHA-1 и при карта с токен низът завършва с UPCToken,UPCTokenExp. Преди промяната 0 от 200 реални отговора на ndbg минаваха проверката, сега минават всичките. Изданията до 1.1.3 не приемат тези callback-и.
  • Пазена карта във Vault: „Запази картата“ в checkout, плащане с пазена карта (upc_vault и Api\TokenChargeInterface), бутон за добавяне на карта в акаунта. UPCTokenExp се чете като MMYYYY.
  • Неясно таксуване с пазена карта отива в payment_review и се довършва от крона или с „Get Payment Update“. Accept, Deny и Get Payment Update са спрени 15 минути от таксуването.
  • Логнат клиент може да избере метода при включен vault. Преди това изборът падаше с JS грешка на Luma checkout.
  • Refund по документацията на UPC: PurchaseTime и TotalAmount са на покупката, а частичното връщане е подписано поле RefundAmount. Код 455 значи, че refund през API не е включен за терминала; включва се по заявка към банката.
  • Нова настройка paid_order_status: статус за платена поръчка. Празно значи без промяна.
  • Отговорът на банката се показва само извън secure режим, тоест не и в имейла и в поръчката в админа.
  • Групата в админа вече е „UPC (KBC)“.

При деплой

heading.anchorLabel
  • generated/ се чисти и static content се деплойва, както е посочено отгоре.
  • Схема и data patch няма: db_schema.xml и Setup/ не са променени.
  • Нова cron задача: upc_resolve_pending_charges (*/5 * * * *). Cron-ът трябва да върви на сайта.
  • URL-ите за банката са upc/processing/result и upc/processing/notify.

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

heading.anchorLabel
  • Срещу UPC sandbox още не е пускано нищо. Протоколът е мерен върху съхранени реални отговори на ndbg, а кодът е проверен с unit тестове и с подменен HTTP клиент на magento.local.
  • Подписът на отговора на payByToken не е мерен. Приемат се SHA-256 и SHA-1; ако и двата не минат, таксуването е unknown и го решава статус заявката. Какво още остава е в „Гейт 0“ в README.

1.1.3 — 2026-10-27

heading.anchorLabel

Спрямо 1.1.2.

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

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

Комити (2)

heading.anchorLabel
  • e6f205f Сверката и гоненето на холдове не питат гейта за store с изключен метод
  • bab513f Post-release bump to 1.1.3