← All guides

Making checkout work

WooCommerce Address Validation: PAF Lookup Guide

WooCommerce address validation with PAF lookup: what it checks, what it misses, and why it matters for UK checkout success.

Mark Salvin7 min read

If you're adding WooCommerce address validation to a UK store in 2026, you need to know exactly what you are buying. A Royal Mail PAF (Postcode Address File) lookup confirms one thing well: the address the customer picked exists as a delivery point. It does not confirm who lives there. And it does not promise a parcel will arrive. This guide explains what a lookup checks, what it leaves alone, and what happens at checkout when it finds nothing.

What WooCommerce Address Validation Confirms at UK Checkout

Selecting an address from a PAF lookup confirms that the address is held in the Royal Mail Postcode Address File as a delivery point. That's the whole claim. It removes one cause of failed deliveries: mistyped or incomplete addresses.

PAF lists delivery points, such as a letterbox or a group of letterboxes. Flats that PAF holds as their own delivery point come back as separate addresses, so a customer can pick the right flat instead of typing it from memory. For Multiple Residence and new-build detail, read our guide to capturing flat-level addresses at UK checkout. For background on the dataset, see What Is Royal Mail PAF and Why Does It Matter for UK Deliveries?

What a match does not tell you

A match is not identity verification. It doesn't say who lives at the address, whether your customer lives there, or whether anyone will be in. It also can't tell you that a courier will deliver safely. Those risks sit outside any address file.

  • Confirmed: the address exists in PAF as a delivery point.
  • Not confirmed: the occupant, the buyer's link to the address, or delivery success.

We have no measured data on failed deliveries, and we won't quote a reduction figure. The claim is narrow: customers pick a real address from a list instead of typing it.

How to Add Postcode Validation in WooCommerce

Our WooCommerce plugin is a free install from WordPress.org. It works with Checkout Blocks and the classic checkout, and it is HPOS (High-Performance Order Storage) compatible. Setup is three steps, and our setup page says it takes under two minutes.

  • Install the plugin from the WordPress admin directory, or upload the zip, then activate it.
  • Create a free SnapAddress account, add your business details, and paste the API key into the plugin settings.
  • Check your checkout. The lookup appears automatically, with no theme changes.

The plugin uses a search-first layout. One search field stands in for the address block, and the standard fields stay hidden until the customer picks an address. You can also tick options for My Account addresses and for the admin order screen, which helps with phone orders.

Using Checkout Blocks? Our guide to predictive address lookup for WooCommerce Checkout Blocks covers that side in more depth.

What Is an Autocomplete Address?

An autocomplete address is a suggestion that appears while a customer types, which they can select instead of typing the full address. In our plugin, suggestions as the customer types are free. A credit is spent when they choose a suggestion and the addresses load.

That distinction matters for validation. A suggestion on screen is not yet a confirmed address. The pick is what completes the lookup and fills the fields. Please don't collect or store suggestion results to build an address list. Our terms prohibit it, and the PAF licence behind them does too.

Postcode Typos: What Gets Corrected and What Doesn't

Our October 2026 changelog documents one correction: a letter typed where a postcode needs a digit. The plugin page gives the example SWIA OAA, and the changelog shows it resolving to SW1A 0AA. Likewise, BF1 OAB (letter O) finds BF1 0AB.

The scope is narrow, and the order matters. In the changelog's words, your search always runs exactly as typed first, and the correction is only tried when that finds nothing. Anything that returned results before returns the same results now. A valid postcode, including GIR 0AA, is never changed. A name like "Old Inn" is never turned into a postcode. Postcode lookups return the corrected postcode in the postcode field.

This is not general spell-checking. It covers letter-for-digit slips in a full postcode and nothing wider. You can read the details in the October 2026 changelog.

WooCommerce Checkout No Address Match: Not the Same as a Wrong Address

A lookup that finds nothing does not mean the customer's address is wrong. It means the query did not match the licensed dataset. A new-build that PAF doesn't list yet is one reason. A non-UK address is another. Treat "no match" as "not confirmed", never as "invalid".

This matters for how you configure your store. If you block orders on no match, you will turn away real customers at new developments. That costs sales, and it's a decision you make, not something the lookup forces.

The manual-entry fallback

When the lookup finds no match, the plugin shows "No addresses found", and the customer can click "Enter address manually" to reveal the standard fields and complete the order. If the API is down or your credits run out, the plugin reveals the fields on its own. Per our plugin page, wherever the lookup appears, it falls back to manual address entry. Staff can also still type an address on the admin order screen.

The trade-off is plain. A manually typed address has not been confirmed against PAF. Checkout stays open, but that order carries the same risk as any store without a lookup.

What a Lookup Costs: One Credit, Including Empty Results

A completed lookup costs one credit. That's a postcode lookup, or an address fetched by its ID. A lookup that finds nothing costs nothing. Suggestions while typing are free, and a search normally costs one lookup. In the plugin, a search that finds no suggestions spends no credit.

Pricing is one-off credit packs, with no subscription and no overage charges. Rates are published on our pricing page. As of October 2026, they run from 3.5p per lookup on the Starter pack (500 lookups, £17.50) down to 2.5p on the Pro pack (15,000 lookups, £375). Each pack is valid for 12 months from its own purchase, a Royal Mail PAF licensing requirement. Topping up does not extend credits you already hold. New accounts get 100 free lookups, valid for 3 months, with no card required.

One licence point for agencies: each business needs its own account, and credits can't be shared between businesses. The service is for businesses only.

Frequently Asked Questions

Does a postcode lookup confirm the correct address?

It confirms the address exists in Royal Mail PAF as a delivery point. It doesn't confirm who lives there, that the buyer is linked to it, or that delivery will succeed. It removes mistyped or incomplete addresses as one cause of failed deliveries.

What happens at checkout if no address matches?

The plugin shows "No addresses found", and the customer can choose "Enter address manually" to type their address and complete the order. A no-match is not a wrong address. It means the query didn't match PAF, for example a new-build not yet listed. In the plugin, a search that finds no suggestions doesn't use a credit.

Does the plugin change a valid postcode?

No. The search runs exactly as typed first. A letter-for-digit correction is only tried when that finds nothing, and a valid postcode is never changed.

Try It Against Your Own Checkout

The honest verdict: a PAF lookup is a strong check on whether an address exists, and a weak one on everything else. Know that going in, and keep the manual fallback on. Check our published credit-pack pricing, then get a free API key with 100 free lookups and no card required. You can have the lookup running on your checkout the same afternoon.

More on making checkout work