3 min readSep 27, 2026by jakub
Gift Cards Suite
Turn gift giving into revenue paid up front: shoppers buy a card, pick a design, write a message and choose when it arrives. The recipient gets a personalized email with a redeemable code, and every movement of card value is recorded in a balance ledger your finance team can reconcile.
Latest version: 1.1.0 — changelog

Who it's for
- Stores selling gifts and seasonal peaks: buyers schedule delivery for a future date, so the card lands on the birthday rather than on the order day.
- EU and multi-currency merchants: redemptions can be booked as tender instead of a discount, and a card only redeems in its own currency and website, so a USD card can't be spent in a EUR cart.
- Hyvä stores: the product page, balance check and My Gift Cards run natively on the Hyvä theme, and gift cards apply in Hyvä Checkout's order summary.
- Headless and PWA storefronts: balance lookup, apply, remove and the customer's cards are available over REST and GraphQL.
Why it matters
- New revenue, paid up front: cards sell today and redeem later, and the outstanding balance stays visible per card and per order.
- No double-spending: a card's balance is reserved at order placement, so two carts can't both spend the same value. An order that would overspend is rejected before it's placed.
- Fewer support tickets: customers check balances themselves on a brute-force-protected page and see the cards they received in their account.
- On-brand from day one: you design cards in an admin canvas editor, and that exact artwork, personalized for the recipient, arrives in their inbox.
- Recovers from failures on its own: a reconciliation job issues cards and sends emails a failed request missed, and releases balance holds that were left behind.
See it in action
- You write
Balance: {{amount}}on a card design → a 75.50 USD card showsBalance: 75.50 USDin its artwork. - You write
For {{recipient_name}}→ the buyer enters the recipient "Pat" and the emailed card readsFor Pat. - A shopper applies a $50 card to a $68 cart → the order total drops by $50 and they pay the rest with another method. When the card covers the whole order, it's placed with no other payment at all.
| Feature | Benefit |
|---|---|
| Gift card product type (preset amounts or an open amount) | Sell fixed denominations or let buyers choose, with the amount validated on the server |
| Sales totals in Tender or Discount mode | Book redemptions as a payment or as a discount, whichever your accounting requires |
| Card designer with personalization tokens | The card you design, personalized per recipient, is the artwork they receive |
| Scheduled email delivery | Buyers pick the day the card arrives |
| Public balance check with lockout | Customers help themselves, while repeated guessing gets blocked |
| Accounts grid, manual issue and deactivation | Full control over every card, with an audit history on every balance change |
| Refund handling | Refunding a sold card withholds any value that was already spent or reserved |
| Apple and Google Wallet passes | Recipients add the card to their phone's wallet straight from the delivery email |
| Hyvä theme and Hyvä Checkout | Native Alpine/Tailwind pages and a Magewire checkout component, no Luma fallback |
| REST and GraphQL APIs | The same services power Luma, Hyvä and headless storefronts |
Built for modern stacks:
- Hyvä-native: the Hyvä product page, balance page and checkout component are CSP-safe Alpine components that Hyvä's strict checkout Content Security Policy accepts, and the templates register themselves with Hyvä's Tailwind build.
- API-first: every storefront action (balance, apply, remove, customer cards) is both a REST endpoint and a GraphQL operation over the same service contracts.
- Runs entirely in your store: code generation, artwork rendering, QR codes and wallet-pass signing all run inside your Magento instance, with no third-party gift-card service.


Good to know
- Virtual cards only: cards are delivered by email. Physical card types are rejected at add-to-cart.
- One currency and one website per card: a card redeems only in the currency and website it was issued for.
- Storefront support: Luma checkout, the Hyvä theme and Hyvä Checkout (1.3) are each proven by the automated suite. The Loki checkout adapter is a development preview and isn't part of the release.
- Refunds to inactive cards are refused: a credit memo that would return value to an expired or deactivated card is rejected before your payment gateway is called. Reactivate or extend the card first, or refund that part offline.
- Cart price rules never discount a gift card: rules still discount the other items in the cart.
Supported: PHP 8.2–8.5 · Magento Open Source / Adobe Commerce / Mage-OS (magento/framework ^103, module-sales ^103, module-catalog ^104).
Ready to start? See installation and configuration.