eIDAS certificate
Endpoint: !PlaceOrder
https://secure.trust-provider.com/products/!PlaceOrder
For GET requests, submit parameters in the query string.
For POST requests, submit parameters in application/x-www-form-urlencoded format.
Request parameters
The following table displays the required, optional, and conditional parameters.
| Parameter | Requirement | Type | Max.Length | Description |
|---|---|---|---|---|
Reseller details |
||||
|
required |
string |
64 chars |
The Reseller brand name. |
|
required |
char |
Specifies who charges the end-customer for the order. The allowed values are:
|
|
|
optional |
string |
255 chars |
A URL the browser will be redirected to if an error occurs. |
|
optional |
string |
255 chars |
A URL the browser will be redirected to if the order is placed successfully. |
|
optional |
string |
64 chars |
The region of the world the order is being placed from. If omitted, the value defaults to |
|
optional |
char |
Specifies whether the customer placing the order is new or already in the system. The allowed values are:
This parameter is only relevant when |
|
|
optional |
string |
A comma-separated list of product codes. This is used by the Ordering URLs page, to allow you and your customers to place orders interactively, without the need to 'integrate' this API endpoint into your website. |
|
|
optional |
string |
64 chars |
Specifies values related to offers and provided in cases of special pricing or when extra products are added. The allowed values are:
|
Company address details |
||||
Many products do not require an address to be specified.
In cases where it is required, a state or province name may be omitted if |
||||
For returning customers, any address details supplied here will replace any details supplied on previous occasions. |
||||
|
optional |
string |
64 chars |
The organization name. |
|
optional |
string |
64 chars |
The organizational unit name. |
|
optional |
string |
40 chars |
The organization post office box. |
|
optional |
string |
128 chars |
The street address where the organization operates. |
|
optional |
string |
128 chars |
The second part of the company’s street address (if necessary). |
|
optional |
string |
128 chars |
The third part of the company’s street address (if necessary). |
|
optional |
string |
128 chars |
The city in which the organization operates. |
|
optional |
string |
128 chars |
The state or province in which the organization operates. |
|
optional |
string |
40 chars |
The company’s postal code. |
|
optional |
string |
2 chars |
The ISO 3166 two-character code for the country where the organization operates. If omitted, the value defaults to |
Other company details |
||||
|
optional |
string |
20 chars |
A unique nine-digit identifier for businesses, provided by the company Dun & Bradstreet. |
|
optional |
string |
64 chars |
The company registration number. |
|
optional |
string |
128 chars |
(QWAC Legal only) The jurisdiction of the city in which the organization operates. |
|
optional |
string |
128 chars |
(QWAC Legal only) The jurisdiction of the state or province in which the organization operates. |
|
optional |
string |
2 chars |
(QWAC Legal only) The ISO 3166 two-character code for the jurisdiction of the country in which the company operates. |
|
optional |
string |
10 chars |
(QWAC Legal only) The date of incorporation ( |
|
optional |
string |
64 chars |
(QWAC Legal only) An optional name under which the organization operates that is different from its legal name. This is a so-called DBA (doing business as) name for the company (if any). |
|
optional |
char |
1 char |
The legal classification of the organization. The allowed values are:
|
|
optional |
string |
100 chars |
The organization identifier, or the PSD2 Authorization Identifier recognized by the National Competent Authority (NCA). This parameter is required for:
For more information, see |
User personal details |
||||
|
optional |
string |
64 chars |
The customer’s title (for example, Mr, Mrs, Dr, etc). |
|
conditional |
string |
128 chars |
The customer’s full name. If |
|
conditional |
string |
64 chars |
The customer’s first name. If |
|
conditional |
string |
64 chars |
The customer’s last name. If |
|
required |
string |
255 chars |
The customer’s email address. If
|
|
optional |
string |
32 chars |
The customer’s telephone number. |
|
optional |
string |
32 chars |
The customer’s fax number. |
User login details |
||||
|
required |
string |
64 chars |
Your account username. This value is case sensitive. |
|
required |
string |
128 chars |
Your account password. This value is case sensitive. |
Shipping details |
||||
|
optional |
string |
64 chars |
Specifies the organization name required for shipping. |
|
optional |
string |
64 chars |
Specifies the organizational unit name required for shipping. |
|
optional |
string |
128 chars |
Specifies the street address required for shipping. |
|
optional |
string |
128 chars |
Specifies the second part of the street address required for shipping. |
|
optional |
string |
128 chars |
Specifies the third part of the street address required for shipping. |
|
optional |
string |
128 chars |
Specifies the city required for shipping. |
|
optional |
string |
128 chars |
Specifies the state or province required for shipping. |
|
optional |
string |
40 chars |
Specifies the postal code required for shipping. |
|
optional |
string |
2 chars |
Specifies the country required for shipping. This parameter must be an ISO 3166 two-character country code. |
|
optional |
string |
64 chars |
The customer’s title (for example, Mr, Mrs, Dr, etc.) to be specified as a contact person in the courier. |
|
optional |
string |
64 chars |
The customer’s first name to be specified as a contact person in the courier shipping document. |
|
optional |
string |
64 chars |
The customer’s last name to be specified as a contact person in the courier shipping document. |
|
optional |
string |
255 chars |
The customer’s email address who should be specified as a contact person in the courier shipping document. |
|
optional |
string |
32 chars |
The customer’s telephone number to be specified as a contact person in the courier shipping document. |
|
The parameters for shipping details are only relevant for token-based certificates. If no parameters for shipping address are provided, the shipping address defaults to the organization address with the applicant representative specified as the contact person. Though the shipping‑related parameters are optional, the absence of any parameter marked as 'required for shipping' will trigger an email to the applicant representative requesting the missing shipping details. |
An account can contain multiple email templates for the certificate orders and/or provisioning of missing shipping details. Contact Support when needed.
When configured, the following parameters can be included in the request to identify the email template to be used.
| Parameter | Requirement | Type | Max.Length | Description |
|---|---|---|---|---|
|
optional |
string |
2 chars |
Specifies the two-character code of the language for emails. An account can contain multiple email templates in different languages for emails. Contact Support for the email templates. There may be exactly one of the following values specified:
Any of the following parameters prevail over the
|
|
optional |
integer |
The shipping details email templates.
|
|
|
optional |
integer |
Specifies the Subscriber Agreement email template ID to be used for the order.
|
Various parameters are required that define the product(s) being purchased. These vary considerably depending on the product(s).
The following table outlines a sample of the types of x_parameters.
|
The The first 'item number' is |
You may prepend an underscore to any of the x_parameters.
This will be necessary if you need to reference such parameters in Javascript, because Javascript variables may not begin with a digit.
| Parameter | Requirement | Type | Max.Length | Description | ||
|---|---|---|---|---|---|---|
|
conditional |
integer |
A product ID. Some products require this parameter to be specified instead of |
|||
|
conditional |
integer |
A product pricing parameter. Some products require this parameter to be specified instead of |
|||
|
optional |
integer |
Specifies the visibility of the product in the control panel. The allowed values are:
|
|||
|
conditional |
integer |
The number of days. Its necessity is determined by the specific product. |
|||
|
required |
integer |
Indicates a quantity that affects the pricing. This parameter is named depending on the product. |
|||
|
required |
integer |
Indicates another quantity that affects the pricing. This parameter is named depending on the product. |
|||
|
optional |
string |
32 chars |
The selected method for Domain Control Validation. The allowed values are:
If omitted, the value defaults to For more information, see Domain Control Validation.
|
||
|
optional |
integer |
Specifies the web server software that will be used to host the certificate. The allowed values are:
This parameter does not directly affect the certificate content. Please use |
|||
|
optional |
char |
1 char |
(non-QWAC eIDAS only) Specifies whether you wish to get a certificate installed on a token. The allowed values are:
|
||
|
required |
string |
32767 chars |
The Base64-encoded certificate signing request (CSR), with or without For more information, see Certificate Signing Request. |
||
|
optional |
string |
100 chars |
The semantics information for attributes stored in the subject field related to natural person. Required for eIDAS Citizen, Employee and QWAC Natural Qualified Certificate Profiles.
For more information, see |
||
|
optional |
string |
100 chars |
An abbreviated unique identifier of the National Competent Authority (NCA). Required for PSD2 Qualified Certificate Profiles. This parameter must contain information using the following structure in the presented order:
For more information, see |
||
|
optional |
char |
100 char |
The name of National Competent Authority in English that registered the payment service provider. Required for PSD2 Qualified Certificate Profiles. If omitted, the value is defined automatically based on the For more information, see |
||
|
optional |
char |
1 char |
Specifies a role of the payment service provider. Required for PSD2 Qualified Certificate Profiles. The allowed values are:
At least one PSD role should be set to |
||
|
optional |
char |
1 char |
Specifies a role of the payment service provider. Required for PSD2 Qualified Certificate Profiles. The allowed values are:
|
||
|
optional |
char |
1 char |
Specifies a role of the payment service provider. Required for PSD2 Qualified Certificate Profiles. The allowed values are:
|
||
|
optional |
char |
1 char |
Specifies a role of the payment service provider. Required for PSD2 Qualified Certificate Profiles. The allowed values are:
|
Product-specific parameters
eIDAS Natural Persons certificate parameters
The following table outlines the product-specific parameters for eIDAS certificates issued to Natural Persons.
QSCD in the certificate type name indicates that the private key and the related certificate must reside on a QSCD. For example, a certified and approved token designed for generating Qualified Electronic Signatures.
| Product Name/Payment Description | Product-Specific Parameters |
|---|---|
Citizen Qualified Certificate |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Citizen Qualified Certificate QSCD |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Employee Qualified Certificate |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Employee Qualified Certificate QSCD |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Natural |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Natural Multi-Domain |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
eIDAS Legal Persons certificate parameters
The following table outlines the product-specific parameters for eIDAS certificates issued to Legal Persons.
QSCD in the certificate type name indicates that the private key and the related certificate must reside on a QSCD. For example, a certified and approved token designed for generating Qualified Electronic Signatures.
| Product Name | Product-Specific Parameters |
|---|---|
Seal Qualified Certificate |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Seal Qualified Certificate QSCD |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Seal for PSD2 |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
Seal for PSD2 QSCD |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Legal |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Legal Multi-Domain |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Legal for PSD2 |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
QWAC Legal for PSD2 Multi-Domain |
|
90-day |
|
1-year |
|
2-year |
|
3-year |
|
4-year |
|
5-year |
|
The token-based eIDAS certificate customers must supply the following shipping parameters: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
While ordering eToken-based eIDAS certificate you must also specify eToken and eToken shipping. The corresponding codes are indicated below. |
|
eToken |
|
eToken Cost |
|
Shipping Cost |
|
Standard Shipping |
|
Expedited Shipping |
|
International Shipping |
|
Sample request
curl --location 'https://secure.trust-provider.com/products/!PlaceOrder' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'loginName=login_name' \
--data-urlencode 'loginPassword=login_password' \
--data-urlencode 'reseller=Y' \
--data-urlencode 'ap=reseller_brand_name' \
--data-urlencode 'isReturningCustomer=N' \
--data-urlencode '1_PPP=6581' \
--data-urlencode 'foreName=William' \
--data-urlencode 'Surname=Jones' \
--data-urlencode 'Title=Dr.' \
--data-urlencode '[email protected]' \
--data-urlencode 'organizationName=OrgName 1234567' \
--data-urlencode 'streetAddress1=71 Evans Overpass Apt. 444' \
--data-urlencode 'localityName=Los Angeles' \
--data-urlencode 'stateOrProvinceName=California' \
--data-urlencode 'postalCode=90002' \
--data-urlencode 'countryName=US' \
--data-urlencode '1_csr=-----BEGIN CERTIFICATE REQUEST-----
MIIE6TCCAtECAQAwYTEaMBgGA1UEAwwRcXdlcnR5LnZwcy1xYS5jb20xCzAJBgNV
BAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEUMBIGA1UE
...
XjZfWxUWfKXMEtwrKj4ylMIpN7VX9DUt3QW56TNB6+c1LpIbhOkY0ndgy71RhFer
l3cKv6jEltTVovBq4O/AjOV+vTlgevlNNb5OLexX0pmiRwMjkX7xAHSIO9/EdRs3
THEhI6mJrzOjbWLIZA==
-----END CERTIFICATE REQUEST-----' \
--data-urlencode '[email protected]' \
--data-urlencode 'joiCountryName=US' \
--data-urlencode 'joistateOrProvinceName=California' \
--data-urlencode '1_webserverSoftwareID=-1' \
--data-urlencode '1_organizationIdentifier=PSDHU-CBH-12345ABC' \
--data-urlencode '1_ncaIdentifier=HU-CBH' \
--data-urlencode '1_ncaName=Central Bank of Hungary' \
--data-urlencode '1_semanticsIdentifier=VATBE-0876866142' \
--data-urlencode '1_PAYMENTSERVICEROLE=Y' \
--data-urlencode 'dateofIncorporation=2022-01-30' \
--data-urlencode 'businessCategory=d'
Response
The type of response depends on whether the call was successful and on whether the successURL and errorURL parameters were supplied in the request.
successURL and errorURL are intended to be used only when PlaceOrder is called by a browser.
When PlaceOrder is called from a back-end server, these parameters are irrelevant.
Unspecified successURL or errorURL
If the call is successful without successURL or fails without an errorURL, the MIME type of the response will be application/x-www-form-urlencoded, because the format of the response will be the same URL-encoded format as the request.
For example, name1=value1&name2=value2.
Specified successURL or errorURL
If the call is successful and a successURL was supplied, or if an error occurs and an errorURL was supplied, then the browser will be redirected to the successURL or errorURL, whichever is applicable.
The preceding parameters listed for unspecified successURL or errorURL will be passed as GET parameters in the 'query string' of the URL.
This query string can be parsed by a JavaScript code.
Response parameters
Various parameters may appear in the response:
| Parameter | Requirement | Type | Max.Length | Description |
|---|---|---|---|---|
|
required |
integer |
A numeric code that identifies the type of error and is always present in the response. For more information, see Error codes. |
|
|
optional |
string |
128 chars |
A newly assigned order number if the order was placed successfully. |
|
optional |
string |
255 chars |
The explanation of error if an error occurred. |
|
optional |
string |
255 chars |
The name of the request parameter that caused the error if applicable. |
Integration example of calling PlaceOrder using an HTML
Here is an example of how to order one-year Citizen Qualified eIDAS ecertificate by calling PlaceOrder from an HTML <form>:
<html>
<head>
<title>!PlaceOrder example: Ordering a one-year Citizen Qualified eIDAS certificate</title>
</head>
<body>
<form method=”post” name=”form1” action=”https://secure.trust-provider.com/products/!PlaceOrder”>
<input type=”hidden” name=”ap” value=”myresellerbrand”>
<input type=”hidden” name=”reseller” value=”y”>
<input type=”hidden” name=”errorURL” value=”http://www.mydomain.com/error_page.html”>
<input type=”hidden” name=”successURL” value=”http://www.mydomain.com/success_page.html”>
Email Address: <input type=”text” name=”emailAddress”>
<br>Name: <input type=”text” name=”name”>
<br>Company: <input type=”text” name=”organizationName”>
<input type=”hidden” name=”1_PPP” value=”6501”>
<br>MAC Address: <input type=”text” name=”1_MACAddress”>
<input type=”submit” value=”Place Order”>
</form>
</body>
</html>
Authorizing orders
When an order has been placed successfully with reseller=Y, you will need to authorize it before it is processed by Sectigo.
You can authorize an order from within your Reseller account options on the Sectigo Management System, or by using the AutoAuthorize API endpont.
Sectigo will deduct funds from your account when you authorize an order unless there is no charge.
We recommend that you authorize an order only after you have actually received payment from your customer.
For those products that are free, you may want to avoid having to authorize each order.
You can achieve this by using reseller=N when you call PlaceOrder.
Placing orders via ordering URLs
The PlaceOrder has been designed so that it can be integrated 'invisibly' with your own website (no webpages from secure.trust-provider.com need to be displayed to the applicant).
However, we recognize that some Resellers will not want to go to the trouble of 'integrating an API' purely to achieve this 'invisibility'.
Those Resellers can resell the same products via their Reseller 'Ordering URLs'.
For those products available through this API endpoint that require a loginName and loginPassword, we recommend that only the end-customers should place orders using these Ordering URLs, because only the end-customers should be in possession of their login credentials.
For all other products, you the Reseller may use these 'Ordering URLs' to place orders on behalf of your customers.
Integration examples of calling PlaceOrder via a URL
An example, expressed as URLs, of how to call PlaceOrder from a browser for an order for a free one-year Seal Qualified Certificate QSCD:
https://secure.trust-provider.com/products/!PlaceOrder?ap=myresellerbrand&reseller=y&[email protected]&name=Fred+Bloggs&1_PPP=6551&loginName=fredbloggs&loginPassword=loginpassword
An example, expressed as URLs, of how to call PlaceOrder from a browser for an order for a Sectigo HackerGuardian Daily Scanning Service licence with recurring monthly payments:
https://secure.trust-provider.com/products/!PlaceOrder?ap=myresellerbrand&reseller=y&[email protected]&1_PPP=3411&loginName=fredbloggs&loginPassword=somethinghardtoguess
Error codes
The following table outlines error responses returned by the PlaceOrder API endpoint for Resellers.
Each error response consists of an errorCode and an errorMessage indicating why the request failed.
| Error Code | Error Message | Description |
|---|---|---|
|
|
The request must use HTTPS protocol. |
|
|
The provided argument is not recognized. |
|
|
A required argument is missing from the request. |
|
|
The argument value does not meet validation requirements. |
|
|
The key size in the CSR is not supported. |
|
|
An unknown error occurred. |
|
|
Authentication has failed due to one of the specified reasons. Verify your login credentials or check account restrictions. |
|
|
Certain required details for validation are missing from the account. |
|
|
The order does not contain all items. |
|
|
The provided public key is not on the whitelist. |
|
|
The offer allows only one free license per account. |
|
|
The order is limited to one main license. |
|
|
The current license is not eligible for renewal at this time. |
|
|
The additional IP address pack cannot be requested for a trial license. |
|
|
To renew access to the PCI portal, you must purchase enough IP addresses to cover the existing setup. |
|
|
The number of IP addresses provided does not correspond to the selected product. |
|
|
The required company name is missing. |
|
|
The specified PlanID for the product could not be found. |
|
|
The provided email address is not valid. |
|
|
The specified argument is not applicable for the current order. |
|
|
The user does not have permission for the specified context. |
|
|
The session has expired. |
|
|
The HTTP(S) CSR Hash DCV methods cannot be used to validate a wildcard domain. |
|
|
You are not permitted to purchase the specified addon. |