Magento for vape and e-cig stores: age checks, PACT Act, carriers and payments
I build Magento for vape and e-cig stores, and here the legal side shapes the store more than the design does. Every order needs a real age and ID check, USPS and the big carriers no longer deliver vapes to consumers, and Stripe and PayPal will not process the payments. On top of that, flavor bans and vape taxes change from one state to the next. Below is how I handle each one in Magento 2, and one thing is clear from the start: your compliance advisor decides the rules, and I build the store that enforces them.
- Age and ID verification at checkout through a service such as AgeChecker.net or Veratad
- Flavor and delivery rules checked against the shipping address before payment
- Order data ready for the PACT Act monthly report to each state
Four rules that shape a vape store before any design work
A t-shirt shop can launch on default Magento. A vape shop cannot, because these four decide who you can sell to, where you can ship and how you get paid.
-
Age 21+ Age has to be checked, not asked
Federal law sets the minimum age at 21, and the PACT Act requires online sellers to verify age and identity against a commercial database before the sale. A “Yes, I am 21” popup does not do that. Magento Open Source has no age verification at all, so this is always an extension or a service such as AgeChecker.net or Veratad.
-
No USPS The big carriers are out
Since the POST Act took effect in 2021, USPS cannot mail vapes to consumers, and UPS, FedEx and DHL stopped shipping them to consumers as well. That leaves private and regional carriers that accept vape and handle the adult signature and ID check the PACT Act requires at delivery.
-
High-risk Mainstream processors say no
Stripe and PayPal do not allow vape sales, and an account opened anyway tends to get closed once the products are noticed, sometimes with funds held. Vape stores run on high-risk merchant accounts, so the gateway that comes with yours needs a working Magento module before anything else is built.
-
By state The rules change at the state line
Massachusetts, New Jersey, New York and Rhode Island ban flavored vape sales. Some states restrict delivery sales on top of that, and some cities and counties have bans of their own. Several states also tax vapes per milliliter. A store that ships nationally has to apply all of it per address, at checkout.
How I set up Magento for a vape and e-cig store
Six parts I work on for a vape store. Each says what Magento does by itself and what has to be added. None of it replaces advice from a compliance lawyer.
-
Age and ID verification at checkout
I connect a verification service such as AgeChecker.net or Veratad to checkout, so the customer is checked against identity data before the order goes through, with a photo ID upload as the fallback when the database check fails. The result is saved on the order, which is what you need if a state asks how a sale was verified. Orders that fail go to a manual review list instead of disappearing, and most services can remember a verified customer so repeat buyers are not asked every time.
-
PACT Act records from the order data
Under the PACT Act, as amended by the POST Act, a seller shipping vapes to consumers registers with the ATF and with each state it ships to, collects the state and local taxes, and files a monthly report with each state listing those shipments. Magento already holds most of that data. I add what is missing, such as brand and liquid volume per item, and build a monthly export per state, so the report is a download instead of an afternoon of copy and paste. Registration and filing stay with you and your accountant.
-
State and local rules at checkout
Each product gets attributes for what matters legally, such as flavor category, nicotine strength and device type. A rules table (state, plus city or ZIP code where needed, and what cannot be sold there) is checked against the shipping address, and the customer sees a clear message instead of a failed order. Open Source cannot do this out of the box, so it is a custom module or an extension. The rules come from your compliance advisor. I make the store enforce them and keep them easy for your team to update.
-
Excise taxes that are not a percentage
Magento tax rates are percentages per region. That covers sales tax, but many state vape taxes are charged per milliliter of liquid or as a share of the wholesale cost, and the PACT Act requires them to be collected before delivery. I handle them as their own line in the order totals, worked out from product attributes, or through a tax service that supports vape excise. Either way the amount shows on the invoice and in the monthly export.
-
Carriers and adult signature
With USPS, UPS, FedEx and DHL out of consumer vape delivery, I integrate the private carrier you choose: live rates if it has an API, table rates by destination and weight if it does not, and the adult signature service set on every shipment. States you do not ship to get no shipping rate, and a short message explains why before the customer reaches payment. Delivery takes longer than people expect from a normal store, so I put realistic transit times on the product and checkout pages.
-
High-risk payments and wholesale
Once you have a high-risk merchant account, I install or write the Magento module for its gateway, turn on 3D Secure where the provider supports it, and keep refunds and order notes tidy, because your chargeback ratio decides whether the account survives. If you also sell to licensed shops, they go into their own customer group with tier prices and case-pack minimums. Their resale paperwork is checked once when the account is approved, so the consumer age check does not get in their way.
Your quote
Get a fixed quote for your project
Send your store URL and describe what you want to change. We can review the requirements and agree a written scope, quote and timeline before work starts.
- Free first call
- Written scope, price and timeline
- You approve every change
Five steps from compliance audit to live vape store
Audit → plan → build → deploy → stabilise. Tuned for vape’s regulatory reality: every step has a compliance gate. State laws shift quarterly, the stabilise phase includes ongoing monitoring + product-attribute updates.
-
01
Audit
Processor audit (who currently processes you and how long until they close: Stripe/PayPal/Square = ticking clock), age-gate vendor selection (Veratad vs Yoti vs AgeChecker.net by volume + budget), FDA PMTA SKU audit (which of your products have granted/submitted PMTAs vs unsubmitted), state flavor-ban exposure (which SKUs ship to which states currently), USPS ship audit (are you accidentally violating PACT Act?), wholesale share + ATF/state-tax registration check. 1 week.
Compliance gaps mapped -
02
Plan
Pick high-risk processor (NMI default, EVO/EPD if NMI declines), pick age-gate vendor by check volume, draft PMTA product-attribute schema, draft state-ban product-attribute schema, pick legal carrier mix (FedEx Adult Sig + X-Delivery + state-specific), wholesale segmentation model (Net-30 + tier pricing + MOQ), data-migration plan from current platform. Written spec + Gantt.
Locked compliance scope -
03
Build
High-risk processor wiring + age-gate integration + PMTA product attribute + state-ban product attribute + carrier-select shipping module + B2B wholesale layer + Hyvä storefront with PMTA + state-aware catalog. Built in 6-10 weeks depending on scope. PMTA + state-ban CSV bulk-import tooling for catalog managers. Smoke test the compliance flow end-to-end on a staging clone before go-live.
Build + UAT -
04
Deploy
Pre-warm Hyvä + Cloudflare cache, processor go-live with a $1 test transaction, age-gate go-live with a known-good + known-bad ID test, PMTA SKU visibility audit on production, state-ban end-to-end test (try to ship a flavored disposable to NY, should fail at cart), USPS removal verified at carrier-select, war room for the first 48 hours of orders.
Live + compliance-verified -
05
Stabilise
Monitor processor decline rate, age-gate fail rate (~3-5% is normal, >10% means UX issue), PMTA SKU audit quarterly against the FDA MRTP list, state legislature monitoring (subscribe to state AG vape alerts), chargeback rate (target <1.5%, high-risk processors close MIDs above 3%). Optional ongoing retainer ($1.5k to $5k/mo) for ongoing compliance updates as state laws shift.
Optimised + audit-ready
Free extensions that fit a vape and e-cigs store
Open source under MIT. Hyvä and Luma, Magento 2.4.4 to 2.4.9.
-
Downloadable files on the product page: manuals, data sheets, certificates.Product Attachments for Magento 2
Free -
Question and answer pages with FAQPage schema.FAQ Extension for Magento 2
Free -
Checks the postcode at checkout before you promise delivery.ZIP/PIN Code Validation at Checkout for Magento 2
Free -
Low stock warnings and back in stock emails.Low Stock & Back-in-Stock Alerts for Magento 2
Free
What clients say about working with me
Public reviews on Upwork. Same person and same rate card for every client.
Magento work and feedback View Upwork profile
-
Sports footwear and hockey shop, Netherlands -
Photo printing supplies wholesaler, Netherlands -
Educational toys and books shop
-
Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.
Z. K.Magento 2 client -
He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.
E. H.Magento 2 client -
Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.
M.Magento 2 client
- Working with vape and e-cig stores in
- United States
- United Kingdom
- Canada
- Australia
- Germany
- France
- Netherlands
- India
Twelve questions vape ecom operators actually ask
Book a free 30-min vape-Magento consultation
Tell me your current processor, PMTA SKU exposure, ship-state mix, and B2B share. I’ll send a written compliance + platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.
Message me on WhatsApp
No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.
Helpful to mention
- Current platform
- Store URL
- Annual GMV (USD)
- B2B / wholesale share of revenue
- Primary product category
- Compliance focus / biggest unknown
These are already in the message for you. Just add your answers.
Message me on WhatsAppOr save my number: +91 84012 70422