Verify your customers’ age with MitID in WooCommerce. Aldersverificering connects your store to a MitID verification flow, so customers can confirm their age before buying age-restricted products.
Built for webshops serving customers who use MitID in Denmark. Set the required age for your store, categories, products or individual variations — including 16+ and 18+ checks.
This is a MitID-based age check, rather than a checkbox where customers declare their own age. Customers must be able to use MitID; the plugin does not provide passport or foreign ID-card verification.
The plugin is free software. An Aldersverificering.dk account and API key are required. Test the MitID flow for free with test keys and MitID test identities. Real production verifications require a paid service plan. See service pricing. Payment is for the external verification service, not for unlocking plugin code.
The plugin provides technical age verification. Merchants remain responsible for their product rules, delivery destinations and applicable requirements.
This service starts the MitID verification flow and returns a signed verification result. After you configure an API key, the customer’s browser contacts api.aldersverificering.dk or test.api.aldersverificering.dk when verification starts. The request sends the store’s public API key, the required age and the store callback URL (/unqverify/callback/). The API returns the broker authorization URL, which opens in a popup or redirects the browser. The customer completes authentication with the configured MitID broker, and the result returns to the store callback.
The browser and WordPress server also request public signing keys from the corresponding API host at /well-known/openid-configuration/jwks to validate verification tokens. The service processes the verification result, age-related claims and technical session/event identifiers; its event history supports operation and service billing. These requests also expose connection information, such as the requesting IP address, and browser-supplied headers to the receiving host. The plugin does not send the cart contents, order number or shipping/billing address in the verification-start request.
See the service website, pricing and Privacy Policy. Contact the service provider at info@aldersverificering.dk for the applicable service terms before enabling production.
The service SDK (version 0.4.3) is included in this plugin and served from the store’s own WordPress installation, with Subresource Integrity verification. It loads on gated cart/checkout pages when the plugin initializes verification, and on the callback page. No external CDN request is needed to download the SDK. The plugin’s CSS, MitID logo and font are also served locally.
The exact TypeScript source, locked dependencies, build instructions and MIT license notices for the SDK and its bundled dependencies are included under assets/vendor/unqverify-sdk/source/. See BUILD.md in that folder to reproduce the distributed JavaScript. The bundled SDK is byte-identical to the previously used 0.4.3 distribution; the verification API remains an external service as described above.
After successful verification, the SDK stores the signed result in the unqverify_token cookie on the store domain. The plugin reads this token to check the verification result, required age and expiry. It does not write the JWT to the WordPress database. When the optional foreign-delivery setting is enabled, it records whether the delivery check ran, the satisfied age requirement and a hash of the active public key on the order, allowing a valid order to retry payment after the browser token expires. Order verification metadata is retained when the plugin is deleted; plugin settings, targeting metadata and signing-key caches are removed when no other known installation copy remains. Merchants should describe this integration in their own privacy information.