Importing 10,000 products through the admin panel ended with Allowed memory size exhausted after about 3,000 products. The import ran for 40 minutes without completing. Fix time: 3 hours.

(more…)

Customers were not receiving order confirmations. The shop was sending emails from local sendmail which was being blocked by mail servers as spam. 95% of emails ended up in the Spam folder or were rejected. Fix time: 2 hours.

(more…)

Server overloaded, nginx logs full of requests to /admin. Bots tried to log into the admin panel for 72 hours – 50,000 attempts. One admin account had a weak password. Response time: 30 minutes, hardening: 2 hours.

(more…)

A custom payment method in Magento 2 is one of the more complex modules to write from scratch. It requires implementing the MethodInterface, configuration in system.xml, JS templates for checkout, and handling return webhooks from the gateway. I show the complete module structure integrating a fictional payment gateway – from authorisation through capture to refund handling.

(more…)

TOP