Kishan Savaliya
Adobe Certified Professional - Adobe Commerce Developer
Adobe-certified Magento 2 + Hyvä developer. 200+ stores delivered, 60+ open-source extensions published. Founder of Panth Infotech.
103 published articles
Latest posts
All articles by Kishan Savaliya, newest first.
-
Payments & Gateways
Magento 2.4.9
· 12 min readPayment 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.
Read article → -
Payments & Gateways
Magento 2.4.9
· 13 min readRazorpay Magento Integration: A Complete India + INR Setup Guide
Razorpay ships an official Magento module, razorpay/razorpay-magento on Marketplace and GitHub, that covers Cards, NetBanking, UPI Collect, UPI Intent, Wallets, EMI, and PayLater. The defaults work; production does not. This is the install command, the system.xml API-key config, the webhook signature check for payment.captured and refund.processed, the RBI 2-factor authentication redirect, the UPI AutoPay e-mandate flow for subscriptions, and the T+1 to T+3 settlement timing every Indian merchant needs to plan around. Magento 2.4.4-2.4.9, INR-only stores.
Read article → -
Payments & Gateways
Magento 2.4.9
· 12 min readStripe Payment Integration in Magento: Official Extension vs Custom Module
Stripe ships stripe/module-payments, the official Magento Marketplace extension that handles Payment Element, 3DS2 SCA, webhooks, partial refunds, and Stripe Billing subscriptions out of the box. It covers 95% of stores. The other 5%, B2B with biometric-bypass 3DS2, micro-fee rounding into the customer's total, ACH/SEPA mandate caching, high-risk merchants, marketplace platforms running Stripe Connect Direct Charges with custom application_fee_amount logic, need either a fork of the official module or a full from-scratch integration. Here is the decision tree, the PaymentIntent + SetupIntent code, and a realistic cost estimate for each path.
Read article → -
Payments & Gateways
Magento 2.4.9
· 14 min readCustom 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.
Read article → -
Headless & Architecture
Headless
· 11 min readMagento + React Server Components: Is It Ready in 2026?
React Server Components went stable in Next.js 14. For Magento, that means a product grid shipping zero client JavaScript and a PDP streaming from the server in under 200 ms. Two problems nobody has solved cleanly yet: cart state (per-session, stays client) and JWT refresh (cookie-bound, but Magento's token-refresh endpoint expects a client trigger). This post shows the real Next.js 14 code for a Magento RSC storefront, the boundary between server and client components, and a bundle-size comparison vs PWA Studio that explains why the rebuild is worth it on some projects and a waste on others.
Read article → -
Headless & Architecture
Magento Performance
· 12 min readMagento API Performance: REST vs GraphQL Trade-offs Explained With Real Numbers
Most Magento REST vs GraphQL articles compare syntax. After benchmarking three real queries against a Magento 2.4.9 store with 50,000 SKUs, the answer flips depending on the call pattern: REST wins single-resource by URL (95 ms vs 140 ms), GraphQL wins relational and grid loads by an order of magnitude (180 ms vs 665 ms), and the FPC versus @cache directive story decides whether either survives Black Friday. Here is the curl trace, the wrk concurrency test, and the cache invalidation pattern from client work on Magento 2.4.4-2.4.9.
Read article → -
Headless & Architecture
Hyvä
· 13 min readPWA Studio vs Hyvä: The Honest 2026 Comparison
PWA Studio's commit velocity in magento/pwa-studio collapsed from 50+/month in 2023 to under 10/month across 2025 while Hyvä grew from ~200 to 700+ compatibility-certified modules in 18 months. This is the honest, ten-axis 2026 comparison for Adobe Commerce and Magento Open Source 2.4.4-2.4.9, developer ramp-up (3 days vs 4 weeks), build pipeline (standard Magento CLI vs Node + Webpack + Apollo), extension ecosystem, hosting cost, SEO posture, and three-year TCO. Includes the narrow scenario where PWA Studio is still the right call, and the GitHub metrics that drive the recommendation either way.
Read article → -
Headless & Architecture
GraphQL
· 14 min readMagento Next.js Storefront: Build It From Zero (Vercel-Deployable)
Most Magento + Next.js tutorials stop at fetching a product list. They skip authentication, cart hydration, ISR cache invalidation, and the SEO checklist for what to render server-side. This post walks through a complete `npx create-next-app` storefront against a Magento 2.4.4-2.4.9 GraphQL endpoint, deploy-ready on Vercel. Eight sections: project bootstrap, GraphQL client without Apollo, ISR for category pages, JWT auth via `generateCustomerToken` in an HTTP-only cookie, guest-and-customer cart hydration, server actions for `placeOrder`, the SEO checklist, and the production deploy. Real TypeScript, real GraphQL, and the traps that bite when the demo hits real customer traffic.
Read article → -
Headless & Architecture
Magento 2.4.9
· 12 min readMagento Headless Commerce: The 4 Architecture Patterns Compared
Four headless architecture patterns ship against Magento 2.4.4-2.4.9 in 2026: Hyvä, PWA Studio, Next.js Commerce, and raw GraphQL with a custom front. Their adoption curves and commit velocities have diverged sharply since 2024, PWA Studio lost roughly 70% of its commit velocity year-over-year while Hyvä cleared 700 compatible modules. This post ranks them by real GitHub data, names the right pattern by team profile and SEO priority, and gives you the four-question decision tree we run on every Magento headless engagement before writing a line of code.
Read article → -
Headless & Architecture
Magento 2.4.9
· 13 min readMagento GraphQL Custom Resolver: A Complete Walkthrough
Adobe DevDocs ships a one-page resolver tutorial that stops the moment your query needs auth, cache control, or a real service contract behind it. This post builds a customerInsights resolver from zero on Magento 2.4.4-2.4.9: schema.graphqls with @doc and @cache(cacheable: false), a PHP class implementing Magento\Framework\GraphQl\Query\ResolverInterface, the di.xml wiring, the bin/magento setup:upgrade schema regeneration step, and the FPC trap that silently makes your resolver return stale data on every request after deploy.
Read article →