*Extensions › BlueCheck*

# BlueCheck Extension

Confirm a shopper’s age with BlueCheck before age-restricted products sell, on every checkout, and keep a record of each check on the order. Most shoppers are confirmed from their name, address and date of birth; the rest show BlueCheck a photo of their ID. 14 parts.

Quick links

- [Before you start](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#setup)
- [Connection](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#connection)
- [When to check](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#when)
- [Age-restricted products](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#products)
- [How shoppers verify](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#verify)
- [The Your age step](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#checkout)
- [Photo ID and the last 4 of the SSN](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#photo-id)
- [When an order cannot go ahead](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#stops)
- [Checking after payment](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#after-payment)
- [Age checks on the order screen](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#orders)
- [The orders list](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#orders-list)
- [Records and shipping](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#records)
- [Troubleshooting](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#troubleshooting)
- [Good to know](https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/#faq)

**Where to find it:** WP Admin › EasyCart › Extensions › BlueCheck

*Quick start*

## Set up in four steps

The short version. Each step is covered in detail below.

1. **Install**: On EasyCart › Extensions, install BlueCheck. It comes with your Premium license and installs WP EasyCart Premium with it.

2. **Connect BlueCheck**: Paste the Access Token from customer.bluecheck.me › Integrations, with the integration set to Organization level billing, then press Check now.

3. **Choose what is checked**: Pick the restricted categories ( or mark products one by one ), the minimum age, and the countries that are checked.

4. **Try it**: Add a restricted product to the cart: the Your age step appears at checkout. Place a test order and look at its Age check card.

### Two kinds of BlueCheck account

- ⚡ **API account**: Recommended. WP EasyCart checks the name, address and date of birth with BlueCheck itself, so most shoppers are confirmed with nothing more to do. The rest show a photo of their ID, or give the last 4 of their SSN.

- 🪟 **Store account**: BlueCheck’s own window asks the questions, under the rules in your BlueCheck portal. What stores that used BlueCheck before 2.0 have; it keeps working.

- 🧾 **Either way**: Every checkout is covered, the age check is recorded on each order, and orders that need one wait until it is settled.

*Getting started*

## Connect BlueCheck

What you need, your BlueCheck account, and which orders need a check.

### Before you start

What the extension needs, your BlueCheck account, and where to find it

**What you need**

**A WP EasyCart Premium license.** BlueCheck is a Premium extension. Install it from EasyCart › Extensions › BlueCheck; that also installs WP EasyCart Premium, which keeps your API token and delivers the extension’s updates.

**WP EasyCart and WP EasyCart PRO 6.0.2 or newer**, and **WP EasyCart Premium 1.1.0 or newer**. Keep WP EasyCart up to date: from 6.0.3, a customer whose order waits for an age check is told so, instead of reading that their payment is still processing.

**A BlueCheck account.** BlueCheck bills its own checks, so the cost of each check is between you and BlueCheck.

**Which BlueCheck account**

**An API account** ( customer.bluecheck.me ) is the one to choose for a new store. WP EasyCart runs the checks itself, and most shoppers are confirmed from their name, address and date of birth with nothing more to do. Every setting on the page applies.

**A store account** ( merchant.bluecheck.me ) uses BlueCheck’s own window at checkout. The ages, states and ways to verify are set in your BlueCheck portal, not here.

**Where to find it**

WP Admin › EasyCart › Extensions › BlueCheck. The page has four sections: Connection, When to check, How shoppers verify, and Records and shipping.

**Coming from version 1?**

Stores that used BlueCheck before 2.0 keep their BlueCheck store account and keep checking every order, with nothing to set up again. If BlueCheck’s own EasyCart plugin is still active, EasyCart screens ask you to deactivate it so checks are not run twice.

> **💡 Note:** Without a current Premium license the settings and the product card are read-only, but checks keep running. If WP EasyCart Premium itself is deactivated, the API token cannot be read, and orders with age-restricted products are stopped at checkout until it is active again.

### Connection

How this store talks to BlueCheck

**Your BlueCheck account** ( default: API account )

**API account**: WP EasyCart checks ages itself, often without the shopper doing anything. **Store account**: BlueCheck’s own window asks the questions, under the rules in your BlueCheck portal. Stores carried over from version 1 start on Store account.

**API token** ( default: Empty )

Shown for an API account. In BlueCheck, open **customer.bluecheck.me › Integrations**, set the integration to **Organization level billing**, and copy its Access Token. Paste it whole: tokens can be long, and spaces picked up while copying are dropped. WP EasyCart Premium keeps it encrypted and it never reaches shoppers’ browsers; after saving the box shows dots.

**Domain token** ( default: Empty )

Shown for a store account. From **merchant.bluecheck.me › Installation**. It is public by design: BlueCheck’s window reads it on your checkout.

**Check the connection** ( a button )

**Check now** asks BlueCheck whether the account works, and tries BlueCheck’s age check with an empty request, so it finds an account that logs in but cannot check. It does not run a paid check. The status line at the top of the section then reads **Connected. Last checked …**, or says what is wrong: the token was turned down, the integration is paused or inactive, BlueCheck could not be reached, or BlueCheck answered with a server error.

![Connection, with a BlueCheck API account connected.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-01-connection.png)

> **⚠️ Careful:** Set your BlueCheck integration to **Organization level billing**. With Integration level billing, BlueCheck answers every check with a server error, and Check now says so. Checks never quietly switch off: if BlueCheck is not connected, orders with age-restricted products are stopped at checkout and every EasyCart screen says why.

### When to check

Which orders need an age check, and the age they need

**Check age for** ( default: Restricted products )

**Restricted products**: carts with a product from a restricted category, or one marked restricted in the product editor. **Every order**: every order is checked. **Paused**: every order goes through without a check, and the orders list’s Age check column is hidden.

**Restricted categories** ( default: None )

Shown for Restricted products. Products in these categories need a check. A product can also be set on its own in the product editor.

**Minimum age** ( default: 21 and over )

21 and over, 19 and over, or 18 and over. Tobacco and vapes are 21 and over across the US. A product can ask for another age, and a cart needs the highest age of anything in it.

**Countries that are checked** ( default: United States )

Only orders shipping to these countries are checked. Leave it empty to check every country. BlueCheck’s name and address check covers the US and the UK.

**States you cannot ship restricted products to** ( default: None )

Shoppers shipping there are told before they pay, and cannot place the order until they remove the item or ship somewhere else. Some states only allow listed vape products, or none at all.

**Remember customers who passed** ( default: On )

A customer who passed is not asked again, unless their name or ship-to state changes. Only checks that ended on an order or a subscription count.

**For** ( default: 12 months )

How long a pass lasts: 3, 6, 12 or 24 months.

![When to check: the Wine category restricted, 21 and over, the US, and Utah as a state restricted products cannot ship to.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-02-when-to-check.png)

### Age-restricted products

The Age check card in the product editor

**Where it is**

Open the product and go to its type’s own section: **Purchase rules** for a physical product, or the section named for its type, such as **Subscription settings**. The **Age check ( BlueCheck )** card is at the end of it, and saves with the product’s Save button.

**Age restriction** ( default: Follow its categories )

**Follow its categories**: restricted only when it is in a restricted category. **Age-restricted ( the store’s minimum age )**: always checked, at the Minimum age setting. **Age-restricted: 21, 19 or 18 and over**: always checked, at that age. **Never age-restricted**: never checked, even in a restricted category. The line under the card says what applies now: the age shoppers must be, or that anyone can buy it.

![The Age check card on a product in a restricted category.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-05-product-card.png)

*At checkout*

## What shoppers see

How shoppers prove their age, what stops an order, and checking after payment.

### How shoppers verify

For an API account. BlueCheck bills a check when it finds the person, and a photo ID once the photos are sent.

**Ask for the date of birth** ( default: On )

Adds the date of birth to the Your age step and sends it with the check. US law asks online vape and tobacco sellers to get it ( the PACT Act ). A shopper under the age is stopped straight away, before BlueCheck is asked.

**Photo ID when the instant check cannot confirm the age** ( default: On )

The shopper takes a photo of their ID and a selfie on BlueCheck’s page, on the same device or on a phone by scanning a code. Turned off, shoppers the instant check cannot confirm cannot buy.

**Offer the last 4 digits of the SSN first** ( default: Off )

Offered before the photo, and faster for many US shoppers. The digits go to BlueCheck and are never stored.

**When** ( default: Before payment )

**Before payment**: the check runs at checkout, and the order is placed only once the age is confirmed. **After payment**: the order is taken first, held as **Age Check Pending**, and checked afterwards ( see Checking after payment ). After payment always asks for the date of birth.

**If BlueCheck cannot answer** ( default: Stop the order )

**Stop the order**: the shopper is asked to try again in a few minutes. **Take it, check after payment**: the order is placed and held as Age Check Pending until it is checked.

**Tell me about orders still waiting after** ( default: 3 days )

An email reminds you of an order still waiting for its check after 1, 3 or 7 days, so you can contact the customer, send the link again or cancel it.

![How shoppers verify, as it comes.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-03-how-shoppers-verify.png)

> **💡 Note:** With a store account these settings do not apply: BlueCheck’s window follows the rules in your BlueCheck portal, and the section says so.

### The Your age step

Where shoppers meet the age check, and the date of birth

**Where it shows**

When the cart needs a check, a **Your age** step names the age and asks for the date of birth. On the **classic checkout** it sits above Billing Information, where shoppers see it first. On the **one-page checkout** it sits at the top, after the email. The subscription page has its own. Carts without a restricted product never show it.

![The classic checkout: Your age above Billing Information.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-01-classic-your-age.png)

![The one-page checkout: Your age at the top, after the email.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-09-onepage-your-age.png)

**The date of birth**

Three boxes, month, day and year, in the order your customers write dates: month first for US English, the day first for most other languages, the year first in Japanese, Chinese and Korean. Each box takes numbers only, opens the number keypad on a phone, and moves on to the next box by itself; a pasted date is split across the boxes. On the classic checkout, **Continue** says straight away when the date of birth is missing or is not a real date.

![Continue pressed without a date of birth.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-02-dob-missing.png)

**The instant check**

With an API account, the name, address and date of birth are checked with BlueCheck when the shopper moves on: at Continue on the classic checkout, at Place order on the one-page checkout. Most shoppers are confirmed there and see **Age confirmed**; the order goes ahead. A shopper confirmed once is not asked again in the same visit, and with Remember customers who passed, not on later orders either.

![Confirmed by the name and address check.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-03-age-confirmed.png)

### Photo ID and the last 4 of the SSN

For shoppers the instant check cannot confirm

**When the instant check cannot confirm the age**

The step says so and offers **Verify with a photo of your ID**, and, when Offer the last 4 digits of the SSN first is on, **Use the last 4 digits of my Social Security number instead**. The shopper stays on your checkout throughout.

![The instant check could not confirm the age: photo ID or the last 4 of the SSN.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-04-photo-id-step.png)

**Photo ID**

BlueCheck’s photo ID page opens in a new window, where the shopper takes a photo of their ID and a selfie. A code on the checkout lets them take the photos on their phone instead. The checkout waits, and carries on by itself once BlueCheck has checked the ID. If the browser blocks the window, the step says so: press the button again, or scan the code.

![Photo ID started: the code to finish on a phone, and the checkout waiting for BlueCheck.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-06-photo-id-started.png)

**The last 4 of the SSN**

The shopper types the last 4 digits and presses **Check**. If that does not confirm the age, the step offers the photo ID instead. The digits go to BlueCheck and are never stored by the store.

![The last 4 digits of the SSN, offered before the photo.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-05-ssn.png)

**With a store account**

The step shows **Verify my age**, which opens BlueCheck’s own window with the questions your BlueCheck portal sets. WP EasyCart confirms the answer with BlueCheck before the order is placed.

### When an order cannot go ahead

What shoppers are told, and why no checkout skips the check

**Under age**

A date of birth under the age stops the order straight away, before BlueCheck is asked: “You must be 21 or older to buy some of the products in your cart.”

![A shopper under 21.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-07-under-age.png)

**A state restricted products cannot ship to**

“Some products in your cart cannot be shipped to Utah. Remove them, or ship to another address.” The shopper can remove the item or change the address.

![Shipping to a state restricted products cannot ship to.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-08-blocked-state.png)

**BlueCheck could not confirm the age**

When the photo ID or the SSN does not confirm the age either: “BlueCheck could not confirm your age, so this order cannot be placed. Please contact us if you think this is a mistake.”

**BlueCheck cannot answer**

With If BlueCheck cannot answer set to Stop the order: “We cannot confirm your age right now. Please try again in a few minutes.” Set to Take it, check after payment, the order is placed and held instead.

**Every checkout is covered**

The check is made on the server when the order is placed, on the classic and one-page checkouts, the subscription page and PayPal Express, so no way of paying skips it. Express buttons such as Apple Pay and Google Pay stay hidden while a check is owed, and show once it passes.

### Checking after payment

Take the order first, check the age before it ships

**How it works**

With When set to After payment, or when BlueCheck could not answer and the store takes those orders:

1. The order is placed and paid. The instant check runs on the order’s name, address and date of birth; a pass ends it there.
2. Otherwise the order moves to **Age Check Pending**, a status that does not count as paid, so the order is not shipped. The confirmation page tells the customer, and BlueCheck makes a photo ID page for the order.
3. The customer is emailed a **Confirm my age** link, with reminders after 1 and 3 days.
4. When the check passes, the order goes back to the status it had, and everything that follows a paid order ( emails, stock, fulfillment ) carries on.
5. If BlueCheck cannot confirm the age, you get an email to refund or cancel the order, or approve it by hand. If the customer has not finished after the days you chose, you get a reminder.

![The confirmation page of an order held for its age check.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-10-order-held.png)

![The email the customer gets, with the link to BlueCheck’s photo ID page.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-fe-11-confirm-email.png)

*After the sale*

## Orders and records

The check on each order, settling one that waits, and how long records are kept.

### Age checks on the order screen

What each order shows, and how to settle one that is waiting

**An order waiting for its check**

An order held as Age Check Pending leads the order screen. Its steps show **Age check** as the step now, a flag above them says what the order is waiting for, and the next step is to settle the check, not to ship. Every way to settle it is right there:

- **Check again**: runs the instant check again, or fetches the result of a photo ID ( API account ).
- **Email the link again** ( **Email a photo ID link** when none was sent ): emails the customer BlueCheck’s photo ID page. It needs the date of birth they gave.
- **Approve by hand…**: for when you confirmed the age another way, such as seeing an ID when the order was collected. You are asked why; the reason is kept on the order and in its history.

![An order waiting for the customer’s photo ID: the Age check step, the flag with every way to settle it, and the next step.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-06-order-held.png)

**When BlueCheck could not confirm the age**

The flag turns red: **Age not confirmed**. Refund or cancel the order, or approve it by hand if you confirmed the age another way.

![BlueCheck could not confirm the customer’s age.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-12-flag-not-confirmed.png)

**The Age check card**

Every order with a check, or with an age-restricted product, has an **Age check** card: the result, how the age was checked, the age required, who was checked ( name, state and whether a date of birth was given ), when, BlueCheck’s reference, and how long the record is kept. The order’s header shows the result as a chip, such as **Age confirmed 21+**, and each check is in the order’s history.

![The Age check card of an order confirmed by the name and address check.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-08-card-confirmed.png)

![The Age check card of an order waiting for a photo ID.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-07-card-waiting.png)

### The orders list

Every order’s age check at a glance

**The Age check column**

Each order shows **Age confirmed 21+**, **Approved by staff**, **Waiting for photo ID**, **Not confirmed**, or a dash for orders without a check. The column shows when the screen is wider than 1280 pixels; on a smaller screen it makes room for the others, and the order itself shows the check.

![The orders list with the Age check column.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-10-orders-list.png)

**The Age check filter**

In the orders list’s **Filters**, **Age check** shows only orders that are **Age confirmed**, **Waiting for a check** or **Not confirmed**. The orders export includes each order’s age check too.

![The Age check filter.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-11-orders-filter.png)

### Records and shipping

What is kept, for how long, and what labels ask for

**Keep each order’s check** ( default: 4 years )

Until the end of this many full calendar years after the order: 1, 2, 3, 4, 5 or 7. The PACT Act asks for 4. ID photos stay with BlueCheck; the store never receives them.

**Adult signature on restricted orders** ( default: On )

Label extensions ( Shippo, ShipStation, Stamps.com ) ask the carrier for an adult signature on orders with an age check or an age-restricted product.

**Log every BlueCheck answer** ( default: Off; advanced setting )

Errors are always logged in Settings › Logs, with BlueCheck’s own details. This adds every other answer while you test. Turn it off afterwards.

**Personal data**

Age checks are included in WordPress’s Tools › Export Personal Data. Tools › Erase Personal Data removes the date of birth at once and keeps the rest of an order’s record until its retention ends. Removing the extension keeps the records, since they are legal records.

![Records and shipping, with the advanced logging switch shown.](https://docs.wpeasycart.com/wp-content/uploads/2026/10/bluecheck-202-ad-04-records-and-shipping.png)

*When something is off*

## Troubleshooting

Fix a connection BlueCheck turns down, and answer shoppers’ questions.

### Troubleshooting

When a check, the connection or an order does not do what you expect

**Check now says BlueCheck answered with a server error**

The token is accepted, but BlueCheck’s age check fails, so checks at checkout fail too. In BlueCheck, set the integration to **Organization level billing**; with Integration level billing BlueCheck answers every check with an error. If it still fails, contact BlueCheck. Settings › Logs has BlueCheck’s details.

**BlueCheck did not accept the API token**

Copy the Access Token again from customer.bluecheck.me › Integrations and paste it whole. Tokens of any length save; a token that is refused says why ( too short, too long, or characters a token cannot have ).

**Every order with restricted products is stopped**

BlueCheck is not connected, or WP EasyCart Premium is not active to read the API token. EasyCart screens say which. Connect BlueCheck, or activate WP EasyCart Premium.

**A shopper says the BlueCheck window did not open**

Their browser blocked it. Pressing the button again usually opens it, or they can scan the code with their phone.

**A shopper says the age check could not load**

Usually a content blocker or a lost connection. Ask them to turn off the content blocker for your checkout and try again.

**Seeing what BlueCheck answered**

Errors are always in Settings › Logs. Turn on Log every BlueCheck answer while you test. BlueCheck’s portal also lists each request that reached your integration, with its status, which is the quickest way to see what BlueCheck received.

**EasyCart screens ask to deactivate BlueCheck’s own plugin**

BlueCheck’s own EasyCart plugin is still active next to this extension. Deactivate it: this extension now does everything it did.

### Good to know

Subscriptions, repeat customers, updates

**Subscriptions**

The subscription page has its own Your age step. The check happens once, before the subscription starts; renewals are not checked again.

**Repeat customers**

With Remember customers who passed, a customer who passed is not asked again for the months you chose, unless their name or ship-to state changes.

**Updates**

BlueCheck updates come through WP EasyCart Premium, on the Plugins screen and on EasyCart › Extensions.

**Not legal advice**

The extension helps a store check ages; it is not legal advice. Check the rules for your products and for the places you ship to.

*Keep going*

## Related guides

- [Type settings](https://docs.wpeasycart.com/docs/administrative-console-guide/product-type-behavior/): Where the Age check card lives in the product editor.
- [Checkout](https://docs.wpeasycart.com/docs/administrative-console-guide/checkout-settings/): The checkouts the Your age step is added to.
- [Order Management](https://docs.wpeasycart.com/docs/administrative-console-guide/order-management/): Where each order’s Age check card and flag show.
- [Log entries](https://docs.wpeasycart.com/docs/administrative-console-guide/log-entries/): BlueCheck errors, and every answer while logging is on.
- [Installing extensions](https://docs.wpeasycart.com/docs/extension-guides/installing-all-extensions/): How Premium extensions install and update.

## BlueCheck comes with WP EasyCart Premium

Premium includes every WP EasyCart extension: BlueCheck, ShipStation, Stamps.com, Shippo, QuickBooks, AvaTax and more, with updates and priority support.

[Get WP EasyCart Premium](https://www.wpeasycart.com/products/wp-easycart-premium-support-extensions/) · [See what Premium includes](https://www.wpeasycart.com/wordpress-ecommerce-premium-edition/)

![The WP EasyCart admin: orders and offers](https://docs.wpeasycart.com/wp-content/uploads/2026/09/cta-wpeasycart-pro-v2.jpg)

---

Source: https://docs.wpeasycart.com/docs/extension-guides/blue-check-extension/ ( updated 2026-10-20 )
