Miva 10 introduces native address validation which supports validating against USPS or UPS data. Once enabled, the address the customer enters during checkout will be validated in real-time and the customer will be presented with any suggested changes before they continue.
By default only the validated shipping address is presented to the customer however, it's possible to have both the shipping address as well as the billing address validated and let the customer choose both.
Miva supports two data sources for Address Validation by default. UPS and USPS, One of these two shipping modules must be installed for the address validation to work. Shipping rates do not need to be displayed to use address validation.
Once either of the shipping modules has been installed in a store, enabling address validation can be done under Shipping Settings -> Setting -> Shipping Rules.
A valid shipping module must be installed to see options in the Address Validation list.
In addition to choosing the data source, there are two additional options which are both selected by default:
Validate Addresses at Checkout – If enabled when the customer enters their address during checkout (OCST) and clicks continue, they will be required to pick a validated address before continuing to the next page.
Validate Customer Address – If enabled, when a customer is logged in and adds a new address in their address book, Miva will first validate the address before saving and force the customer to choose a validated address (or accept the original).
Template changes are required for address validation to work. Default CSSUI template changes for address validation can be found here: https://www.miva.com/template-changes
Since Miva 10 now ships with and defaults to the Shadows ReadyTheme, the template changes it implements for Address Validation are likely what most customers will want to implement.
Shadows stores the Address Validation code in a Content Section Theme Component:
This item should be added to the following pages:
<mvt:item name="readytheme" param="contentsection( 'address_validation' )" />
OCST, ACAD, ACED, CADE, CADA
With address validation enabled, when a customer enters their billing and shipping address, it will via validated against the data source (USPS, UPS) set in the configuration.
By default in the Shadows ReadyTheme, this information displays in a modal lightbox on the page, however its possible to customize this layout and experience.
If more than one address is sent back, multiple suggested addresses will be displayed:
If enabled, the customer address will also be validated when a logged-in customer adds an address to their address book.
Miva 10 also supports address validation when manually creating or editing an order from within the Miva admin:
With address validation enabled, any change to the customer information in the admin will re-trigger the address validation.
When adding a customer account manually via the Miva admin, there is an option to validate an address:
Currently, both USPS and UPS offer address validation for only US addresses. International address validation is not supported at this time.
The Miva address validation API is extensible to allow for custom integration to any address validation service. Below is an example of the function required to implement the address validation feature in your module:
10.01.00 fixed a UPS bug where incorrect permissions were being issued to the UPS Access Key in the setup Wizard. Now in 10.01.00 there is a link you can click to request address validtion permissions. Once granted you can see the status as Active. For all new setups of the UPS module, the correct permissions for Address Validation will automatically be created and no additional steps are needed.
Stores which use UPS and upgrade to 10.01.00 will be presented with a link to relaunch the UPS Developer Kit Registration in order to request Address Validation permissions.