---
title: "Checkout Email Validation: Catch and Correct Typos | Emvero"
description: "Validate email at checkout, offer typo corrections and handle uncertain results. Choose a policy that fits how customers receive their order."
url: https://emvero.io/guides/checkout-email-validation/
language: en
updated: 2026-10-09
---

Guides

# Email validation at checkout

Check the address before payment, offer a correction and decide what happens if email is the only way to deliver the order. Uncertain evidence should not become a false address error.

## What to do with each answer

The same four verdicts every time. The instruction changes with the situation, because what a mistake costs changes with it.

| Verdict | What to do here |
| --- | --- |
| Deliverable | Continue checkout. A positive result supports using the address but does not guarantee a receipt will arrive or show who controls the mailbox. |
| Risky | Inspect the action and reasons. A role or catch-all address is not a payment-risk finding. Continue when your fulfilment policy allows it; confirm mailbox control separately if access depends on it. |
| Undeliverable | Ask the customer to correct the address and explain the failure. If the order can be delivered securely without email, your policy can allow continuation after a warning. If email is essential, resolve the contact problem before payment. |
| Unknown | Treat the address as unresolved. Allow checkout where another secure fulfilment route exists, and review or recheck the contact later. Do not call it invalid or use it as a fraud finding. |

## Check the address before the payment step

A checkout address may receive a receipt, a licence or a delivery update. Check it while the customer can still edit the field. A browser format check helps with obvious mistakes; the server can call Emvero after the field is complete or when the form is submitted. Keep the API credential on your server.

A delayed answer must stay attached to the address that was checked. If the customer edits the field, disregard the old result and check the new value. The [real-time verification](https://emvero.io/real-time-email-verification/) page describes the request and waiting path.

## Let the customer choose a suggested correction

When `LIKELY_DOMAIN_TYPO` and a suggestion are returned, show the entered address alongside the suggested one. Let the customer accept the change or keep the original. Do not replace the domain automatically or clear the field.

A clear syntax error and a suspected typo need different messages. `INVALID_SYNTAX` can justify asking for a format correction. `SMTP_MAILBOX_NOT_FOUND` describes an SMTP recipient refusal, not proof that the mailbox is absent or the domain is mistyped. Current policy returns `unknown` with `SMTP_RECIPIENT_REJECTED_AMBIGUOUS`. Do not invent a correction when none was returned.

## Decide whether delivery depends on email

If an authenticated account or another secure order route already provides the purchase, an email warning need not stop checkout. If a working mailbox is the only route to a licence or account access, resolve a clear contact failure before taking payment. Explain this requirement beside the field.

The API recommendation is one input to this decision. Its `reject` action concerns the address, not payment authorisation. Likewise, `ROLE_ACCOUNT`, catch-all behaviour and a `risky` result do not establish fraud. Keep payment and identity checks separate from the contact-address policy.

## Bound the wait and keep the order moving

A full check can return `pending` with `id` and `retry_after_ms`. After the interval, retrieve `GET /v1/verifications/{id}` with the same credential. Poll only while it is pending and stop waiting when your form deadline expires. Emvero does not send a callback.

A deadline or an HTTP error supplies no negative address verdict. Apply the fallback you chose for fulfilment, rather than presenting a service failure as an invalid email. For a permitted checkout, retain the check identifier with the relevant contact value so your own process can retrieve the result later. The [API page](https://emvero.io/email-verification-api/) explains the response fields.

## Give customers a safe way to fix the order address

After payment, let an authenticated customer correct the contact address through your order or support flow. Verify the new value and update the right order without restarting payment. Do not promise that a later check will resolve every uncertain mailbox.

Emvero sends no receipt or confirmation email. If access requires mailbox control, send your own confirmation; the [signup-form guide](https://emvero.io/guides/signup-form-validation/) explains the distinction. A checkout address also does not establish permission for marketing messages.

## Reason codes that decide something here

The API uses these identifiers to explain a check. The notes identify values that the current verification policy or probe does not return.

|  |  |
| --- | --- |
| `LIKELY_DOMAIN_TYPO` | Domain looks like a typo |
| `INVALID_SYNTAX` | Address is not well formed |
| `SMTP_MAILBOX_NOT_FOUND` | Recipient refusal observed by SMTP; current policy returns unknown with SMTP_RECIPIENT_REJECTED_AMBIGUOUS. |
| `ROLE_ACCOUNT` | Address uses a role name |

## Terms worth knowing first

### Email address syntax

Address-format rules checked before network lookups. A valid format does not establish a working domain or mailbox.

### Role account

An address for a team or function, such as support@. It can receive mail; its suitability depends on the purpose.

### Hard bounce and soft bounce

Permanent and temporary delivery failures describe a sending attempt. Learn how they differ from verification evidence.

## The choice behind this

### Real-time vs list verification

Check one address while someone waits or work through a stored list. Compare timing, pending responses and the workflow your system manages.

[All guides](https://emvero.io/guides/)

## Try it on an address you already know.

The free checker returns the whole result - every stage, every reason code, nothing held back.

See an example check

Start for free
