---
title: Additional payment button - address formatting and validation
url: amazon-pay-checkout/address-formatting-and-validation.html
---

You must populate `addressDetails` with the shipping address provided by the buyer if you set `checkoutMode` to ProcessOrder with `productType` PayAndShip. Below are details on how Amazon Pay validates the address provided, standardizes input, and handles Latin letters and special or multi-byte characters.

* TOC
{:toc}
{::options toc_levels="3" /}

***

### Address validation

Required `addressDetails` parameters is dependent on region.

<ul id="profileTabs" class="nav nav-tabs" role="tablist">
    <li class="nav-item"><a class="active nav-link noExtIcon" href="#us_parameters" data-toggle="tab">US</a></li>
    <li class="nav-item"><a class="nav-link noExtIcon" href="#eu_parameters" data-toggle="tab">EU</a></li>
    <li class="nav-item"><a class="nav-link noExtIcon" href="#jp_parameters" data-toggle="tab">JP</a></li>
</ul>
<div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="us_parameters">
<table width="100%" border="1">
    <div>&nbsp;</div>
    <tbody>
        <tr id=''>
            <td id='' style='vertical-align: top; font-weight: bold; width: 40%;'>Parameter</td>
            <td id='' style='vertical-align: top; font-weight: bold; width: 60%;'>Comments</td>
        </tr>
        <tr id='AWB9CA3f9qJ'>
            <td id='s:AWB9CA3f9qJ;AWB9CA4Yr7k' style='vertical-align: top;'>name
                <br /></td>
            <td id='s:AWB9CA3f9qJ;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA7pxIe'>
            <td id='s:AWB9CA7pxIe;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine1
                <br /></td>
            <td id='s:AWB9CA7pxIe;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA9SSXQ'>
            <td id='s:AWB9CA9SSXQ;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine2
                <br /></td>
            <td id='s:AWB9CA9SSXQ;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CArDmcz'>
            <td id='s:AWB9CArDmcz;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine3
                <br /></td>
            <td id='s:AWB9CArDmcz;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAT1CBr'>
            <td id='s:AWB9CAT1CBr;AWB9CA4Yr7k' style='vertical-align: top;'>city
                <br /></td>
            <td id='s:AWB9CAT1CBr;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAqqxwG'>
            <td id='s:AWB9CAqqxwG;AWB9CA4Yr7k' style='vertical-align: top;'>districtOrCounty
                <br /></td>
            <td id='s:AWB9CAqqxwG;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAfUYR3'>
            <td id='s:AWB9CAfUYR3;AWB9CA4Yr7k' style='vertical-align: top;'>stateOrRegion
                <br /></td>
            <td id='s:AWB9CAfUYR3;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAGjfSS'>
            <td id='s:AWB9CAGjfSS;AWB9CA4Yr7k' style='vertical-align: top;'>postalCode
                <br /></td>
            <td id='s:AWB9CAGjfSS;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA6qpAO'>
            <td id='s:AWB9CA6qpAO;AWB9CA4Yr7k' style='vertical-align: top;'>countryCode
                <br /></td>
            <td id='s:AWB9CA6qpAO;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAeMlPw'>
            <td id='s:AWB9CAeMlPw;AWB9CA4Yr7k' style='vertical-align: top;'>phoneNumber
                <br /></td>
            <td id='s:AWB9CAeMlPw;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
    </tbody>
</table>
    </div>
    <div role="tabpanel" class="tab-pane" id="eu_parameters">
<div>&nbsp;</div>
<div>
    EU address validations apply if <code>countryCode</code> is one of the following values: 'UK' ,'GB' ,'DE' ,'FR' ,'IT' ,'ES' ,'AT' ,'BE' ,'BG' ,'HR' ,'CY' ,'CZ' ,'DK' ,'EE' ,'FI' ,'GR' ,'HU' ,'IE' ,'LV' ,'LT' ,'LU' ,'MT' ,'NL' ,'PL' ,'PT' ,'RO' ,'SK' ,'SI' ,'SE'
</div>
<div>&nbsp;</div>
<table width="100%" border="1">
    <tbody>
        <tr id=''>
            <td id='' style='vertical-align: top; font-weight: bold; width: 40%;'>Parameter</td>
            <td id='' style='vertical-align: top; font-weight: bold; width: 60%;'>Comments</td>
        </tr>
        <tr id='AWB9CA3f9qJ'>
            <td id='s:AWB9CA3f9qJ;AWB9CA4Yr7k' style='vertical-align: top;'>name
                <br /></td>
            <td id='s:AWB9CA3f9qJ;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA7pxIe'>
            <td id='s:AWB9CA7pxIe;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine1
                <br /></td>
            <td id='s:AWB9CA7pxIe;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA9SSXQ'>
            <td id='s:AWB9CA9SSXQ;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine2
                <br /></td>
            <td id='s:AWB9CA9SSXQ;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CArDmcz'>
            <td id='s:AWB9CArDmcz;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine3
                <br /></td>
            <td id='s:AWB9CArDmcz;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAT1CBr'>
            <td id='s:AWB9CAT1CBr;AWB9CA4Yr7k' style='vertical-align: top;'>city
                <br /></td>
            <td id='s:AWB9CAT1CBr;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAqqxwG'>
            <td id='s:AWB9CAqqxwG;AWB9CA4Yr7k' style='vertical-align: top;'>districtOrCounty
                <br /></td>
            <td id='s:AWB9CAqqxwG;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAfUYR3'>
            <td id='s:AWB9CAfUYR3;AWB9CA4Yr7k' style='vertical-align: top;'>stateOrRegion
                <br /></td>
            <td id='s:AWB9CAfUYR3;AWB9CAuiRTh' style='vertical-align: top;'>Not supported if <code>countryCode</code> is: 'UK', 'GB', 'SG', 'AE', 'MX'
                <br /></td>
        </tr>
        <tr id='AWB9CAGjfSS'>
            <td id='s:AWB9CAGjfSS;AWB9CA4Yr7k' style='vertical-align: top;'>postalCode
                <br /></td>
            <td id='s:AWB9CAGjfSS;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA6qpAO'>
            <td id='s:AWB9CA6qpAO;AWB9CA4Yr7k' style='vertical-align: top;'>countryCode
                <br /></td>
            <td id='s:AWB9CA6qpAO;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAeMlPw'>
            <td id='s:AWB9CAeMlPw;AWB9CA4Yr7k' style='vertical-align: top;'>phoneNumber
                <br /></td>
            <td id='s:AWB9CAeMlPw;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
    </tbody>
</table>
    </div>
    <div role="tabpanel" class="tab-pane" id="jp_parameters">
<div>&nbsp;</div>
<table width="100%" border="1">
    <tbody>
        <tr id=''>
            <td id='' style='vertical-align: top; font-weight: bold; width: 40%;'>Parameter</td>
            <td id='' style='vertical-align: top; font-weight: bold; width: 60%;'>Comments</td>
        </tr>
        <tr id='AWB9CA3f9qJ'>
            <td id='s:AWB9CA3f9qJ;AWB9CA4Yr7k' style='vertical-align: top;'>name
                <br /></td>
            <td id='s:AWB9CA3f9qJ;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA7pxIe'>
            <td id='s:AWB9CA7pxIe;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine1
                <br /></td>
            <td id='s:AWB9CA7pxIe;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA9SSXQ'>
            <td id='s:AWB9CA9SSXQ;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine2
                <br /></td>
            <td id='s:AWB9CA9SSXQ;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CArDmcz'>
            <td id='s:AWB9CArDmcz;AWB9CA4Yr7k' style='vertical-align: top;'>addressLine3
                <br /></td>
            <td id='s:AWB9CArDmcz;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAT1CBr'>
            <td id='s:AWB9CAT1CBr;AWB9CA4Yr7k' style='vertical-align: top;'>city
                <br /></td>
            <td id='s:AWB9CAT1CBr;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAqqxwG'>
            <td id='s:AWB9CAqqxwG;AWB9CA4Yr7k' style='vertical-align: top;'>districtOrCounty
                <br /></td>
            <td id='s:AWB9CAqqxwG;AWB9CAuiRTh' style='vertical-align: top;'>Optional parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAfUYR3'>
            <td id='s:AWB9CAfUYR3;AWB9CA4Yr7k' style='vertical-align: top;'>stateOrRegion
                <br /></td>
            <td id='s:AWB9CAfUYR3;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAGjfSS'>
            <td id='s:AWB9CAGjfSS;AWB9CA4Yr7k' style='vertical-align: top;'>postalCode
                <br /></td>
            <td id='s:AWB9CAGjfSS;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CA6qpAO'>
            <td id='s:AWB9CA6qpAO;AWB9CA4Yr7k' style='vertical-align: top;'>countryCode
                <br /></td>
            <td id='s:AWB9CA6qpAO;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>
        <tr id='AWB9CAeMlPw'>
            <td id='s:AWB9CAeMlPw;AWB9CA4Yr7k' style='vertical-align: top;'>phoneNumber
                <br /></td>
            <td id='s:AWB9CAeMlPw;AWB9CAuiRTh' style='vertical-align: top;'>Required parameter
                <br /></td>
        </tr>      
    </tbody>
</table>       
    </div>
</div>

### Input standardization

Amazon Pay standardizes `addressDetails` using the following transformations:

* Leading and trailing whitespace are trimmed from all inputs
* `postalCode` and `countryCode` are uppercased
* `name` and `addressLine1` are truncated if they exceed max length (50 and 60 characters respectively)

Additionally, the following transformations are applied at the region level:

* US
    * A dash is inserted into 9-digit US `postalCode` (for example, 98104 - 3442)
* JP
    * `postalCode` is converted to single-byte format if multi-byte input exceeds 6 characters
    * `addressLine1`, `addressLine2`, `addressLine3` are converted to single-byte format if multi-byte input exceeds 20 characters
    * `name` is converted to single-byte format if multi-byte input exceeds 16 characters
    * `phoneNumber` is always converted to single-byte format for multi-byte input


### Latin letters and special or multi-byte characters

**Latin letters and special characters:** 

Latin and special characters must be URL encoded (UTF-8) for all addressDetails fields except for countryCode. 

For example, to set City as "東京" (Tokyo) you should use "%E6%9D%B1%E4%BA%AC".

**Multi-byte characters:**

Multi-byte characters must be URL encoded (UTF-8) for all `addressDetails` fields.

For example, to set Name as "０１２３４５６７８" you should use "%EF%BC%90%EF%BC%91%EF%BC%92%EF%BC%93%EF%BC%94%EF%BC%95%EF%BC%96%EF%BC%97%EF%BC%98".

Note:  In JP, `postalCode` will be automatically converted to single byte format if the value provided exceeds 6 characters.













