Chat on WhatsApp
TAG

#Webhook

2 articles
Payments & Gateways Magento 2.4.9 Payment Gateway Callback Handling in Magento — The Idempotency Recipe

Payment Gateway Callback Handling in Magento — The Idempotency Recipe

Three real production failures we shipped fixes for in 2026 on Magento 2.4.4 — 2.4.9: a Stripe webhook retry that double-captured an order, a double-click on Place Order that ran submitQuote twice, and a webhook signature check that compared HMACs with == and leaked the secret. Each one has a small, boring fix — a UNIQUE key on (gateway, event_id), a SELECT FOR UPDATE on the quote row, and hash_equals. Here is the exact PHP, SQL, the observer wiring, and the Stripe CLI replay command to prove it works.

Kishan Savaliya 12 min read
Payments & Gateways Magento 2.4.9 Custom Payment Method in Magento 2 — The Minimal Working Extension

Custom Payment Method in Magento 2 — The Minimal Working Extension

Most custom payment method tutorials show one or two files and leave the integration broken on Hyvä, broken in admin, or broken on capture. Here is the complete minimal working extension for Magento 2.4.4 — 2.4.9: the 9 files you cannot avoid (module.xml, config.xml, di.xml, payment.xml, adminhtml system.xml, Model/Payment.php, Knockout renderer, .html template, checkout_index_index.xml), the Hyvä Magewire parallel, a verified webhook handler with signature checks, and the refund flow wired through onlineRefund. Copy-paste ready, tested against Magento 2.4.9, PHP 8.4, Hyvä Checkout 1.2.

Kishan Savaliya 14 min read