> For the complete documentation index, see [llms.txt](https://docs.ecommerce.seb.ee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ecommerce.seb.ee/getting-started/faq.md).

# FAQ

Use this page to answer common questions about payment processing, integration, and operations.

### Getting started

<details>

<summary>What do I need before I can process payments?</summary>

Before you can start accepting payments, complete the following steps:

1. Sign a Merchant Agreement with SEB.
2. Access the Merchant Portal. Once your agreement is active, SEB will grant you access to the Merchant Portal.
3. Log in to the Merchant Portal. After your first login, you will see your merchant agreement details and a Sandbox shop, which is ready for testing.
4. Generate OAuth 2.0 credentials for your Sandbox shop.
5. Choose your integration method, such as:
   * Payment Gateway API
   * Hosted Checkout
   * Web Plugins
   * Mobile SDK
6. Configure a **Webhook (also referred to as callback notifications)** to receive payment notifications.
7. Test your integration in Sandbox and verify that all required payment operations work correctly.
8. Switch your shop to Live mode when you are ready to start accepting real customer payments.
9. Generate a new set of OAuth 2.0 credentials for your Live shop and update your integration to use the Live credentials.

{% hint style="info" %}
Your Sandbox and Live shops use different OAuth 2.0 credentials. Be sure to generate and use the appropriate credentials for the shop mode you are integrating with.
{% endhint %}

</details>

<details>

<summary>What is the AI Assistant and how can it help me?</summary>

The AI Assistant is your built-in documentation companion, designed to help you find answers quickly without manually browsing the documentation.

You can ask questions in natural language, such as:

* *How do I integrate the Payment Gateway API?*
* *How do I generate OAuth 2.0 credentials?*
* *How do I configure webhooks?*
* *How do I process a refund?*
* *Where can I find test card numbers?*

The AI Assistant searches the Merchant Documentation and provides relevant answers, links to related documentation pages, and guidance to help you complete your integration more efficiently.

{% hint style="info" %}
The AI Assistant provides guidance based on the available Merchant Documentation. For account-specific questions, operational issues, or assistance that requires access to your merchant account, please contact your acquirer or the support team.
{% endhint %}

</details>

<details>

<summary>How does the AI Assistant work?</summary>

The AI Assistant helps you quickly find information within the Merchant Documentation using natural language.

Instead of manually searching through pages, simply ask your question—for example:

* *How do I integrate the Payment Gateway API?*
* *How do I configure webhooks?*
* *How do I process a refund?*

The AI Assistant searches the Merchant Documentation, identifies the most relevant content, and generates an answer based on the available documentation. When applicable, it also provides links to the relevant documentation pages so you can explore the topic in more detail.

{% hint style="info" %}
The AI Assistant is designed to answer questions using the content of this documentation. It does not rely on general internet searches when responding to documentation-related questions. If the required information is not available in the documentation, or if your question relates to your specific merchant account or operational setup, please contact your acquirer or the support team.
{% endhint %}

</details>

<details>

<summary>How can I use the AI Assistant?</summary>

The AI Assistant is available in two locations to help you quickly find the information you need:

1. Merchant Documentation – Click the AI Assistant icon while browsing the documentation to ask questions about integration, APIs, payment methods, configuration, testing, and other topics.
2. Merchant Portal – After logging in to the Merchant Portal, you can access the AI Assistant directly from the Home Dashboard. This provides a faster way to get answers without leaving the portal.

Simply type your question in natural language, for example:

* *How do I generate OAuth 2.0 credentials?*
* *How do I integrate using the Payment Gateway API?*
* *How do I configure webhooks?*
* *How do I process a refund?*
* *Where can I find test card details?*

The AI Assistant searches the Merchant Documentation and provides answers based on the available documentation, together with links to the relevant pages for additional details.

{% hint style="info" icon="wpbeginner" %}
Whether you are working in the Merchant Documentation or the Merchant Portal, the AI Assistant gives you access to the same knowledge base, helping you find information quickly throughout your integration journey.
{% endhint %}

</details>

<details>

<summary>Which payment methods and currencies do you support?</summary>

The Payment Gateway supports a wide range of payment methods, including:

* Payment Cards (Visa, Mastercard, and other supported card schemes)
* Digital Wallets (Apple Pay, Google Pay, PayPal, and Click to Pay)
* Open Banking Payments (Payment Initiation Services)

The payment methods available to your shop depend on your Merchant Agreement with SEB and the services enabled for your account.

The Payment Gateway supports transactions in multiple currencies. The currencies available for your shop are defined in your Merchant Agreement and can be managed through the Merchant Portal by submitting a request for approval to SEB.

{% hint style="info" %}
Supported payment methods and acceptance currencies may vary depending on your agreement with SEB, your business profile, and the country in which you operate.
{% endhint %}

</details>

<details>

<summary>How do I access the sandbox environment?</summary>

The Sandbox is available to all merchants after they have signed a Merchant Agreement with SEB.

To access the Sandbox:

1. Sign a Merchant Agreement with SEB.
2. Receive your Merchant Portal credentials from SEB.
3. Log in to the Merchant Portal.
4. Your shop is created in Sandbox mode by default.
5. Generate your OAuth 2.0 Client ID and Client Secret from Settings → Shop Settings → Technical Information.
6. Integrate your application using the Sandbox credentials and begin testing.

The Sandbox allows you to test your integration, payment flows, webhooks, and supported payment methods before switching your shop to Live mode.

{% hint style="info" %}
Before accepting live customer payments, complete your testing and switch your shop to Live mode. Once your shop is in Live mode, generate a new set of OAuth 2.0 credentials for Production use.
{% endhint %}

</details>

<details>

<summary>Why doesn't my customer's bank appear?</summary>

Only banks supported by the SEB Ecommerce Payment Gateway are displayed. The list of supported banks may change over time. Merchants integrate once with the gateway and automatically benefit from newly supported banks as they become available.

</details>

<details>

<summary>Are we PCI-DSS compliant?</summary>

Yes. The SEB Ecommerce Payment Gateway is PCI DSS Level 1 compliant, the highest level of Payment Card Industry Data Security Standard (PCI DSS) certification for service providers.\
The Payment Gateway incorporates industry-standard security controls, including:

* PCI DSS compliant payment processing
* Secure transmission of payment data
* Tokenization for stored payment credentials
* EMV® 3-D Secure (3DS) authentication
* Strong encryption and access controls

{% hint style="info" %}
Merchants are responsible for their own PCI DSS obligations. Your compliance requirements depend on your integration method and how your business handles cardholder data. Using Hosted Checkout can significantly reduce your PCI DSS scope compared to collecting card data directly within your own application.
{% endhint %}

</details>

### Integration

<details>

<summary>How do I authenticate API requests?</summary>

The Payment Gateway uses **OAuth 2.0 Client Credentials** to authenticate API requests.

To authenticate your application:

1. Log in to the **Merchant Portal**.
2. Navigate to **Settings → Shop Settings → Technical Information**.
3. Generate your **Client ID** and **Client Secret**.
4. Use these credentials to obtain an **OAuth 2.0 access token** from the Authentication service.
5. Include the access token in the `Authorization` header of every API request:

```http
Authorization: Bearer <access_token>
```

6. When the access token expires, request a new one and continue using the refreshed token.

> **Note:** OAuth 2.0 credentials are generated separately for your shop when it is in **Sandbox** mode and when it is in **Live** mode. After switching your shop to **Live** mode, generate a new set of credentials before making Production API requests.

For detailed authentication examples, request parameters, and endpoint information, see the **Authentication (OAuth 2.0)** section of the Merchant API documentation.

</details>

<details>

<summary>Which e-commerce platforms and web plug-ins are supported?</summary>

The Payment Gateway provides web plug-ins for the following e-commerce platforms:

* Magento 2
* WooCommerce
* PrestaShop
* OpenCart
* Shoproller
* Mozello
* Voog
* WebShopper
* Eshoprent
* Verskis

The plug-ins support the core payment functionality, including:

* Payment initiation
* Hosted Checkout integration (where applicable)
* Transaction status handling
* Payment method configuration

</details>

<details>

<summary>How should I handle payment status updates?</summary>

The recommended approach is to use a **Webhook (also referred to as callback notifications)** for real-time payment status updates.

To enable Webhooks:

1. Configure a Callback URL in Merchant Portal → Shop Settings.
2. The gateway sends a notification whenever the payment status changes;
3. after receiving it, call the Get Payment Information API to retrieve the current payment details before updating your order.

Use the payment status – not the customer’s browser returning to your website – to decide the next action.

For card payments, fulfil the order when the payment reaches the Captured status; for Pay by Bank, when it reaches Settled.

For the full status lifecycle and recommended actions per status, see [Payment Statuses (Cards)](/payment-methods/cards/payment-statuses.md) and [Pay by Bank › Payment Statuses](/payment-methods/pay-by-bank/payment-statuses.md). For notification handling details, see Callback Notifications.

</details>

<details>

<summary>How do I test failure scenarios?</summary>

The Merchant Portal Sandbox Mode allows you to simulate both successful and unsuccessful payment scenarios without processing real transactions.

Simply switch your shop to Sandbox Mode and use the available test payment methods or test cards to simulate different payment outcomes, such as:

* Successful payments
* Declined payments
* Failed payments
* Cancelled payments
* Abandoned payments
* Authentication failures (where applicable)

{% hint style="info" %}
During testing, verify that your application correctly handles Webhooks and retrieves the latest payment status using the Get Payment Information API.
{% endhint %}

</details>

### Payments and operations

<details>

<summary>Which card schemes are supported?</summary>

We currently support the following card schemes:

* VISA (including Visa Electron)
* Mastercard (Credit and Debit)

The following card types are not supported at this time:

* Maestro
* American Express (Amex)
* UnionPay
* Diners Club etc.

</details>

<details>

<summary>Which digital wallets are supported?</summary>

The Payment Gateway supports the following digital wallets:

* Click to Pay
* PayPal
* Apple Pay
* Google Pay

Each wallet provides a fast and secure checkout experience, allowing customers to complete payments using their preferred digital payment method.

{% hint style="info" %}
The availability of specific digital wallets may depend on your merchant agreement with SEB, your business profile, and the country in which you operate. If you would like to enable one or more digital wallets for your shop, please contact SEB or submit a request through the Merchant Portal, where applicable.
{% endhint %}

</details>

<details>

<summary>Which banks are supported for Payment Initiation and Account Information Services?</summary>

The Payment Gateway supports Payment Initiation Services (PIS) and Account Information Services (AIS) through the following banks.

**Latvia**

* Swedbank
* SEB
* Citadele
* Luminor
* Revolut
* Signet Bank
* Magnetiq Bank
* N26

**Lithuania**

* Swedbank
* SEB
* Citadele
* Luminor
* Artea Bank
* Revolut
* URBO Bankas
* N26

**Estonia**

* Swedbank
* SEB
* Citadele
* LHV
* Coop Pank
* Luminor
* Revolut
* N26

{% hint style="info" %}
The list of supported banks may change as new banks are onboarded or existing integrations are updated. Please refer to the latest Merchant Documentation or contact SEB for the most up-to-date information.
{% endhint %}

</details>

<details>

<summary>What is a payment ID?</summary>

A Payment ID is a unique identifier generated by the Payment Gateway for every payment transaction.

The Payment ID is used to uniquely identify a payment throughout its lifecycle and is referenced in API requests, webhook notifications, transaction logs, and the Merchant Portal. Merchants can also use the Payment ID to search for and track a specific transaction.

</details>

<details>

<summary>Does the order reference need to be unique?</summary>

No. The order reference does not have to be unique.

The order reference is a merchant-defined identifier that helps you associate a payment with an order, invoice, or another business object in your own systems. The Payment Gateway stores and returns this value in API responses and notifications, allowing you to reconcile payments with your internal records.

{% hint style="info" %}
Although uniqueness is not required by the Payment Gateway, using a unique order reference for each customer order is considered a best practice, as it simplifies reconciliation, reporting, and troubleshooting.
{% endhint %}

</details>

<details>

<summary>Where can I find integration settings and test cards?</summary>

You can find your integration settings and Sandbox API credentials in the Merchant Portal under **Settings →** [**Shop Settings**](/guides/merchant-portal/manage-your-account/settings.md) **→ Technical Information**. Sandbox test cards and other test values are available in [**Test Data**](/guides/sandbox/test-data.md).

</details>

<details>

<summary>Which characters can I use in payment fields?</summary>

To ensure compatibility across supported payment methods, **Payment Description**, **Order Number**, and **Merchant Reference** support the following characters:

`a-z A-Z 0-9 / - ? : ( ) . , ' +` and **space**

**Payment Description** is limited to **140 characters**.

These rules apply regardless of the payment method selected by the customer. Characters outside the supported character set are not accepted.

The same validation applies wherever these fields are used in the **Merchant Portal** and applicable **Merchant API** requests, including **Payment Links** and **Payment Link templates**.

The character set is based on the **EPC Basic Latin character set used for SEPA payments**.

</details>

<details>

<summary>Which languages are supported by Hosted Checkout?</summary>

Hosted Checkout supports the following languages:

* English *(default fallback language)*
* Latvian
* Estonian
* Lithuanian

By default, Hosted Checkout automatically detects the customer’s preferred language based on their browser or device locale.

If the detected language is not supported, the checkout page is displayed in English. Merchants can also configure a different default language for their Hosted Checkout experience, if required.

</details>

<details>

<summary>When should I fulfil the customer's order?</summary>

Only after receiving a successful payment Webhook or confirming the status through the SEB Ecommerce Payment Gateway.

Do not rely solely on the customer returning to your website.

</details>

<details>

<summary>Can customers cancel a Pay by Bank payment?</summary>

Yes.

Customers may cancel the payment during the authentication process. In this case, the payment status is returned as Cancelled.

</details>

<details>

<summary>What happens if the customer closes the banking application during Pay By Bank process?</summary>

The payment may remain Pending, Cancelled, or Expired, depending on the selected bank and the stage of the payment process.

Always wait for the final payment notification before updating the order.

</details>

<details>

<summary>Does every bank provide the same payment experience under Pay By Bank process?</summary>

No. Authentication methods and customer journeys may differ between participating banks.

However, the merchant integration with the SEB Ecommerce Payment Gateway remains the same regardless of the selected bank.

</details>

<details>

<summary>How can I add a new currency?</summary>

You can request a new acceptance currency directly from the Merchant Portal.

1. Log in to the Merchant Portal.
2. Navigate to Settings → Shop Settings.
3. Click Edit Agreement.
4. Under Manage Shop Agreement, open Payment & Acceptance Currencies.
5. Select the currency (or currencies) you would like to add.
6. Click Submit for Approval.

Your request will be sent to SEB for review. Once SEB has processed your request, you will be notified of the outcome:

* Email notification – You will receive an email informing you whether your request has been approved or declined.
* Merchant Portal – You can track the status of all submitted requests in Mail → My Requests.

{% hint style="info" %}
New acceptance currencies become available only after approval by SEB.
{% endhint %}

You may also contact SEB directly to request the addition of a new acceptance currency or discuss your business requirements. However, submitting the request through the Merchant Portal is the recommended approach, as it provides a streamlined approval workflow and typically results in faster processing.

</details>

### Troubleshooting and support

<details>

<summary>What should I do when an API request fails?</summary>

If an API request fails, first review the HTTP status code and the error details returned in the API response. These will help you identify the cause of the failure.

Common troubleshooting steps include:

* Verify that your OAuth 2.0 access token is valid and has not expired.
* Confirm that you are using the correct Client ID, Client Secret, and API endpoints for your current shop mode (Sandbox or Live).
* Check that all required request parameters are present and correctly formatted.
* Review the returned error code and message for additional details.
* Ensure your application can safely retry temporary failures, where appropriate.

If the issue persists, contact SEB Support and provide:

* The Payment ID (if available)
* The request timestamp
* The API endpoint used
* The HTTP status code
* The error code and message returned by the API

{% hint style="info" %}
Refer to the API Error Codes section of the Merchant API documentation for a detailed explanation of each error and the recommended resolution.
{% endhint %}

</details>

<details>

<summary>What should I do when an API request fails?</summary>

If an API request fails, first review the HTTP status code and the error details returned in the API response. These will help you identify the cause of the failure.

Common troubleshooting steps include:

* Verify that your OAuth 2.0 access token is valid and has not expired.
* Confirm that you are using the correct Client ID, Client Secret, and API endpoints for your current shop mode (Sandbox or Live).
* Check that all required request parameters are present and correctly formatted.
* Review the returned error code and message for additional details.
* Ensure your application can safely retry temporary failures, where appropriate.

If the issue persists, contact SEB Support and provide:

* The Payment ID (if available)
* The request timestamp
* The API endpoint used
* The HTTP status code
* The error code and message returned by the API

{% hint style="info" %}
Refer to the API Error Codes section of the Merchant API documentation for a detailed explanation of each error and the recommended resolution.
{% endhint %}

</details>

<details>

<summary>Why am I not receiving webhook notifications?</summary>

If you are not receiving webhook notifications, check the following:

* Verify that a Callback URL is configured in Merchant Portal → Shop Settings.
* Confirm that your callback endpoint is publicly accessible and can receive HTTPS requests.
* Ensure that your application responds with a successful HTTP status code (for example, HTTP 200 OK) after processing the notification.
* Check that your firewall or network configuration is not blocking incoming requests from the Payment Gateway.
* Review your application logs for any errors while processing webhook requests.

If a webhook delivery fails, the Payment Gateway automatically retries the notification according to its retry policy. If all retry attempts fail, no further notifications will be sent for that event.

If the problem persists, contact SEB and provide the Payment ID, the approximate transaction time, and any relevant application logs or error messages.

</details>

<details>

<summary>Why is my OAuth 2.0 access token not working?</summary>

If your OAuth 2.0 access token is not working, check the following:

* Verify that your access token has not expired. If it has, request a new token.
* Ensure you are using the correct Client ID and Client Secret.
* Confirm that your application is using the correct credentials for the current shop mode (Sandbox or Live).
* Verify that you are sending the access token in the `Authorization` header.
* Check that you are calling the correct API endpoint for your current shop mode.
* Review the error message and HTTP status code returned by the API for additional details.

If the issue persists, generate a new set of OAuth 2.0 credentials in the Merchant Portal and try again. If you still cannot authenticate, contact SEB with the HTTP status code and the returned error message.

</details>

<details>

<summary>Why am I receiving a 401 Unauthorized or 403 Forbidden response?</summary>

A 401 Unauthorized or 403 Forbidden response usually indicates an authentication or authorization issue.

401 Unauthorized typically means:

* Your OAuth 2.0 access token is missing, invalid, or has expired.
* The `Authorization` header is missing or incorrectly formatted.
* Your Client ID or Client Secret is incorrect.

403 Forbidden typically means:

* Your application does not have permission to access the requested resource or operation.
* The requested feature or payment method is not enabled for your merchant account.
* You are using credentials for the wrong shop mode (Sandbox or Live).

If the problem persists, review the API error message and verify your credentials, access token, and shop configuration. If you are still unable to resolve the issue, contact SEB with the HTTP status code, error message, and Payment ID (if applicable).

</details>

<details>

<summary>What should I do if I lose access to my authenticator device?</summary>

If you lose access to your authenticator device, contact your SEB administrator. After verifying your identity, the administrator will reset your Multi-Factor Authentication (MFA), allowing you to register a new authenticator device.

</details>

<details>

<summary>How do I contact SEB Support?</summary>

</details>

<details>

<summary>Where can I find the latest release notes?</summary>

The latest release notes are available in the Merchant Documentation under [Release Notes](/getting-started/release-notes.md).

The Release Notes provide information about:

* New features
* Enhancements and improvements
* Bug fixes
* Supported API changes
* Updates to Hosted Checkout
* Updates to Web Plug-ins
* Updates to API SDKs and Mobile SDKs
* Other important product announcements

{% hint style="info" %}
We recommend reviewing the Release Notes before updating your integration or switching your shop to Live mode to stay informed about the latest functionality and changes.
{% endhint %}

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.ecommerce.seb.ee/getting-started/faq.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
