How You Interpret Error Codes
When a customer attempts to log in using pass-through authentication, there are a number of factors that can cause login failure, including an invalid user name or password, a duplicate email address in the database, and problems with the PTA string.
To help you debug login errors or provide informational messages, customers can be redirected to a custom page displaying an error code and session information when an error occurs.
The URL of the page where customers are redirected is specified
in the PTA_ERROR_URL configuration setting. To display an error code,
the URL must be appended with the %error_code%
variable.
Session information can be provided in the form of a base64-encoded
string if the %session%
variable is also appended.
Session information displays only if login tracking cookies are disabled
on the customer’s computer.
%error_code%
and %session%
variables to the end of
the URL specified in PTA_EXTERNAL_LOGIN_URL. See How You Define the External Login Page.For example, assume that you set the configuration setting value to:
http://your_site/my_login_error_page.php/%error_code%
If login fails because the password exceeds the 20-character limit, the URL that is returned is:
http://your_site/login/nextPage/home/error/15
The error code, 15 in this example, lets you know what caused the failure.
The table describes error codes found in the URL. These codes are the same whether the %error_code%
variable is used in the PTA_ERROR_URL or the PTA_EXTERNAL_LOGIN_URL
configuration setting.
Error Code | Description |
---|---|
1 |
The PTA string parameter was not found. This parameter contains all of the encoded PTA information in the URL, so it must be present to log in. |
2 |
PTA information after pre_pta_decode hook was not in the correct format. A string or an array was expected, but something else was received. |
3 |
PTA string could not be Base 64 decoded. There was an error within the string that caused the decoding process to fail. |
4 |
One of the PTA string parameters was not well formed. For example, it did not contain “p_” or was missing an “=” separator between the key and value. |
5 |
The p_userid string was passed in, but it did not have a value. This pair is required for login. |
6 |
The value of the p_li_passwd pair was incorrect. This error applies only if no value is set for the PTA_ENCRYPTION_METHOD configuration setting. |
7 |
The specified credentials were invalid. |
8 |
Login failed because PTA is not enabled for the interface. |
9 |
Data decryption failed. |
10 |
Login failed because PTA_ENCRYPTION_METHOD does not contain a valid value. |
11 |
Login failed because the PTA_ENCRYPTION_PADDING configuration setting does not contain a valid value. |
12 |
Login failed because the PTA_ENCRYPTION_KEYGEN configuration setting does not contain a valid value. |
13 |
Login failed because the PTA_IGNORE_CONTACT_PASSWORD configuration setting is enabled, but no encryption scheme has been set in PTA_ENCRYPTION_METHOD. |
14 |
Login failed because the format of the data after the pre_pta_convert hook was not an array. |
15 |
Login failed because the password exceeded the 20-character maximum length. |
16 |
Login failed because the PTA token expired and is no longer valid. A new token must be generated to authenticate the customer. |
17 |
Login failed because two or more email addresses have the same value. |