Skip to main content
— Setup walkthrough

Use license keys with Shopify POS

License keys work at Shopify POS the same way they do online — except POS orders skip the fraud queue, so the key is assigned the moment the customer pays. That makes Alva Digital Downloads a fit for in-store software activation, gift-card-style code sales, and conference badges with verification codes.

How POS license-key assignment works

When the cashier submits the customer's email at the till, the POS endpoint creates the Purchase record and calls assignLicenseKeysForPurchase immediately. A key is pulled from the pool tagged to that product, attached to the purchase, and included in the delivery email Alva sends seconds later. No fraud queue, no holding period — payment is the only gate.

Screenshot needed

Alva delivery email rendered on a phone screen, showing a license key in a code block above the download link. Use a fake key like XXXX-YYYY-ZZZZ. No real customer data visible.

The delivery email a POS customer receives, with the license key included.

Set up a POS license-key product

1. Upload your license keys

In the Alva admin, open License keys. Upload a CSV of pre-generated codes (one per row) or use the auto-generator to create keys with a chosen prefix and length. See Add license keys via CSV upload for the full walkthrough.

2. Tag the batch

Apply a tag to the keys you just uploaded — for example pos-software-2026. The tag is the join between a pool of keys and the Shopify product that should claim from it.

3. Map the tag to a Shopify product

Open the Shopify product in the Alva admin, choose Map license-key tag, and select the tag from step 2. Online and POS purchases of that product now claim from the same pool — no separate POS catalog.

4. Confirm the Alva POS extension is installed

The Alva POS extension installs automatically when Alva is on the shop. On the POS device, open SettingsSmart grid and confirm Alva Digital Downloads is reachable on the post-purchase action menu. For first-time setup detail, see Sell digital products at Shopify POS.

Screenshot needed

Alva admin product-mapping page. Highlight the "License key tag" dropdown with a tag like "pos-software-2026" selected. Show the rest of the product mapping for context. No real customer data visible.

Mapping a license-key tag to a Shopify product in the Alva admin.

What customers see in-store

The Shopify receipt shows the order line items as usual — no key printed on paper. The cashier taps the Alva tile, reads back the customer's email address to catch typos, and confirms. Within seconds the customer receives the Alva delivery email with the license key in the body. The receipt and the key are two separate artefacts: one printed at the till, one delivered to the inbox.

Honest caveats

POS orders do not pass through the fraud queue, and license-key auto-assignment cannot be paused for in-store sales. If a product needs fraud-style review before keys go out (high-value enterprise codes, for example), leave its license-key tag unmapped — the customer still gets the download email, and you assign the key manually from the Alva admin once the order is reviewed. For the reasoning, see Why POS orders skip the fraud queue.

FAQ

Does the customer see the license key on the POS receipt?

No. The Shopify receipt shows only the order line items. The license key arrives in the Alva delivery email after the cashier captures the customer's email at the till.

What happens if the license-key pool is empty when a POS sale completes?

Alva creates a PendingLicenseKeyAssignment record and sends the download email without a key. As soon as more keys are uploaded with the matching tag, Alva assigns one and emails it to the customer automatically.

Can I block POS license-key auto-assignment for review?

Not selectively. POS orders bypass the fraud queue by design. If a particular product needs review before keys go out, leave its license-key tag unmapped and assign keys manually from the Alva admin after each sale.

See also

Was this helpful?

Still stuck? Email us.

Last updated 2026-05-06