---
title: Initiating Merchant Registration for Hosted Service Providers
url: amazon-pay-registration/hostedregistration.html
---

<strong>Note:</strong> We recommend that you initiate the hosted registration workflow via the current window, and
<strong>not</strong> a popup or new window.

The registration URL where you will send merchants to initiate registration with Amazon Pay is:

<table>
	<tr>
		<td>
			<strong>Payment</strong>
		</td>
		<td>
			<strong>Region URL</strong>
		</td>
	</tr>
	<tr>
		<td>
			European payment region
		</td>
		<td>
			<strong>https://payments-eu.amazon.com/register</strong>
		</td>
	</tr>
	<tr>
		<td>
			North American payment region
		</td>
		<td>
			<strong>https://payments.amazon.com/register</strong>
		</td>
	</tr>
</table>

The registration flow must be initiated via an HTTPS POST request to supply the registration experience
with some pre-filled information that you send through the POST fields, as shown in the following table:

<table>
	<tr>
		<td>
			<strong>Parameter</strong>
		</td>
		<td>
			<strong>Description and examples</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>spId</strong>
			<br>
			(required)
		</td>
		<td>
			Your ID, which is provided to you by your account representative (AR). The <strong>spId</strong> is used to
			identify the Ecommerce provider that the merchant’s account will be associated with.
			<br><br>
			Please work with your AR to obtain the <strong>spId</strong> for each of the regions in which you integrate
			Amazon Pay.
			<br><br>
			Example: <strong>AXXXXXXXXX</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantUniqueId
			</strong>
			<br>
			(optional)
		</td>
		<td>
			Your Ecommerce provider unique identifier for the merchant that is starting the registration/activation
			process. This is a pass-through value that will be returned back via the returnURL, and can be used to
			determine
			which merchant account the registration corresponds to.
			<br><br>
			The <strong>merchantUniqueId</strong> can be any value, with a maximum of 128 alphanumeric characters. The
			<strong>merchantUniqueId</strong>
			must be unique for each merchant.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				locale
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The value of <strong>locale</strong> is used to determine the language
			that Amazon Pay registration pages should be displayed in.
			<br><br>Allowed values (for European payment region): <strong>
				en_GB,
				de_DE, fr_FR, it_IT, es_ES
			</strong>
			<br><br>Allowed values (for UK payment region): <strong>en_GB</strong>
			<br><br>Allowed values (for North American payment region):
			<strong>en_US</strong>
			<br><br><strong>Note:</strong> Invalid or unsupported values will be ignored.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantCountry
			</strong>
			<br>
			(optional, not yet processed)
		</td>
		<td>
			The country of establishment (COE). The COE is the country
			where a merchant has established their business legally,
			and is associated with the merchant legal entity.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantLoginDomains[ ]
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The value of <strong>merchantLoginDomains</strong> is used to
			populate the secure checkout URLs (or the URL of pages on
			which a button appears) for the Login with Amazon
			application.
			<br><br>
			Multiple valid domains can be passed. (Please see the
			example in the code sample that follows).
			<br><br>
			A valid login domain is a combination of protocol, domain
			name, and port, it must use the <strong>HTTPS</strong> protocol, and it
			cannot be longer than 512 characters. If you are using a
			standard port (port 443) you only need to include the
			protocol and domain name (for example:
			<strong>https://www.example.com</strong>).
			<br><br>
			The values of this parameter are used to populate
			<strong>Allowed Javascript Origins</strong> on the Login with
			Amazon application.
			<br><br>
			<strong>Notes:</strong>
			<ul>
				<li>During buyer checkout, client validation will fail if
					<strong>merchantLoginDomains</strong> references a page outside
					of the root domain and port number.</li>
				<li>Do not include any text beyond the domain in the URL.
					For example, do not specify a URL similar to
					<strong>https://www.example.com/cart</strong>. Instead,
					specify a URL similar to
					<strong>https://www.example.com</strong>.
				</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				ld
			</strong>
			<br>
			(Optional)
		</td>
		<td>
			If Amazon Pay shares a Lead Code ( <strong>ld</strong> ), it must be sent via this parameter. For example, if one is appended as a redirect URL query parameter you must use that value. The ld code is generated dynamically based on the source of registration and passed on to solution providers. If no ld code is provided, you can disregard this requirement.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantLoginRedirectURLs[ ]
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The value of <strong>merchantLoginRedirectURLs</strong> includes
			the protocol, domain, path, and query string. The protocol
			used in the URL must be <strong>HTTPS</strong>. Multiple redirect URLs can
			be passed. (Please see the <a href="faq.html">FAQ section</a> for more
			information).
			<br><br>
			The values of this parameter are used to populate<strong> Allowed
				Return URLs</strong> on the Login with Amazon application.
			<br><br>
			<strong>Note:</strong> Client validation will fail if the <strong>HTTPS</strong> protocol is not
			used, or if the URL is longer than 512 characters.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantPrivacyNoticeURL
			</strong>
			<br>
			(optional)
		</td>
		<td>
			<strong>merchantPrivacyNoticeURL</strong> is the URL address of
			the merchant’s privacy policy. A link to the merchant’s
			privacy policy is displayed on the consent screen the first
			time that a customer signs in to the merchant’s website.
			The URL can use either the <strong>HTTP</strong> or <strong>HTTPS</strong> protocol.
			<br><br>
			<strong>Note:</strong> Client validation will fail if the URL is longer than 512
			characters.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantStoreDescription
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The value of <strong>merchantStoreDescription</strong> is used to
			fill the Application/Business Description on the Login with
			Amazon application.
			<br><br>
			Example: <strong>Bob’s Online Store</strong>
			<br><br>
			<strong>Note:</strong> Client validation will fail if this parameter is longer
			than 2048 characters.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				returnURL
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The returnURL value is the HTTPS endpoint where the
			merchant will be sent (via POST) after the registration
			workflow is complete.
			<br><br>
			Example: <strong>https://ecommerceprovider.com/services/amazon?param1=abc</strong>
			<br><br>
			If this parameter is not provided, the merchant will either
			be redirected back to your site using the return URL that
			was provided to your account representative, or depending
			on the registration workflow that applies to you, will be
			prompted to end the registration workflow or be redirected
			to Seller Central.
			<br><br>
			<strong>Note:</strong> The URL must use the HTTPS protocol, and cannot be
			longer than 512 characters.
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantSandboxIPNURL
			</strong>
			<br>
			(optional, not yet processed)
		</td>
		<td>
			The value of <strong>merchantSandboxIPNURL</strong> will be used to
			set the Merchant URL IPN for Sandbox on the account.
			<br><br>
			This Sandbox URL can use either the <strong>HTTP</strong> or <strong>HTTPS</strong>
			protocol, but can be no longer than 150 characters.
			<br><br>
			Example: <strong>https://www.example.com/merchantSandboxIPN</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				spSandboxIPNURL
			</strong>
			<br>
			(optional, not yet processed)
		</td>
		<td>
			The value of <strong>spSandboxIPNURL</strong> will be used to set the
			Ecommerce Provider URL IPN for Sandbox on the account.
			<br><br>
			This Sandbox URL can use either the <strong>HTTP</strong> or <strong>HTTPS</strong>
			protocol, but can be no longer than 150 characters.
			<br><br>
			Example: <strong>https://www.ecommerceprovider.com/spSandboxIPN</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				merchantProductionIPNURL
			</strong>
			<br>
			(optional, not yet processed)
		</td>
		<td>
			The value of <strong>merchantProductionIPNURL</strong> will be
			used to set the Merchant URL IPN for Production on the
			account.
			<br><br>
			This Production URL <strong>must</strong> use the <strong>HTTPS</strong> protocol, and
			cannot be longer than 150 characters.
			<br><br>
			Example: <strong>https://www.example.com/merchantProductionIPN</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				spProductionIPNURL
			</strong>
			<br>
			(optional, not yet processed)
		</td>
		<td>
			The value of spProductionIPNURL will be used to set
			the Ecommerce Provider URL IPN for Production on the
			account.
			<br><br>
			This Production URL <strong>must</strong> use the <strong>HTTPS</strong> protocol, and
			cannot be longer than 150 characters.
			<br><br>
			Example: <strong>https://www.ecommerceprovider.com/spProductionIPN</strong>
		</td>
	</tr>
	<tr>
		<td>
			<strong>
				source
			</strong>
			<br>
			(optional)
		</td>
		<td>
			The value of <strong>source</strong> is used to identify the origin of the
			registration request.
			<br><br>
			The values supported are:
			<ul>
				<li>
					<strong>SPPL</strong> – used when coming from the configuration
					section of the platform admin panel
				</li>
				<li>
					<strong>SPPW</strong> – used when coming from a non-Amazon
					website
				</li>
				<li>
					<strong>SPPD</strong> – used when coming from platform
					documentation
				</li>
				<li>
					<strong>SPEM</strong> – used when coming from platform-sent emails
				</li>
				<li>
					<strong>SPYT</strong> – used when coming from YouTube
				</li>
				<li>
					<strong>SPOT</strong> – any other source
				</li>
			</ul>
		</td>
	</tr>
	</table>

The following sample shows the call, which will initiate the redirect to the registration flow.
<pre>
<code>
&lt;form method="POST" action="https://payments.amazon.com/register "&gt;
	&lt;input type="hidden" value="en_US" name="locale"&gt;
	&lt;input type="hidden" value="AXXXXXXXYZ" name="spId"&gt;
	&lt;input type="hidden" value="42425266" name="merchantUniqueId"&gt;
	&lt;input type="hidden" value="https://www.url1.com" name="merchantLoginDomains[]"&gt;
	&lt;input type="hidden" value="https://www.url2.com" name="merchantLoginDomains[]"&gt;
	&lt;input type="hidden" value="https://www.url3.com" name="merchantLoginDomains[]"&gt;
	&lt;input type="hidden" value=" https://checkout.example.com/1/callbackname" 
	name="merchantLoginRedirectURLs[]"&gt;
	&lt;input type="hidden" value=" https://www.example.com/login.php?parameter=1" 
	name="merchantLoginRedirectURLs[]" /&gt;
	&lt;input type="hidden" value="https://www.url3.com/privacy" name="merchantPrivacyNoticeURL"&gt;
	&lt;input type="hidden" value="Store Description" name="merchantStoreDescription"&gt;
	&lt;input type="hidden" value="SPPL" name="source"&gt;
	&lt;input type="hidden" value="https://ecommerceprovider.com/services/amazon" name="returnURL"&gt;
	&lt;input type="hidden" value="APUS_ECOMMERCEPROVIDER_XXXXX" name="ld"&gt;
	&lt;input type="hidden" value="https://www.example.com/merchantSandboxIPN" 
	name="merchantSandboxIPNURL"&gt;
	&lt;input type="hidden" value="https://www.ecommerceprovider.com/spSandboxIPN" 
	name="spSandboxIPNURL"&gt;
	&lt;input type="hidden" value="https://www.example.com/merchantProductionIPN" 
	name="merchantProductionIPNURL"&gt;
	&lt;input type="hidden" value="https://www.ecommerceprovider.com/spProductionIPN" 
	name="spProductionIPNURL"&gt;
	&lt;input type="submit" value="Submit"&gt;
&lt;/form&gt;
</code>
</pre>