---
title: "Реализация веб-пейволов в Unity SDK"
description: "Настройте веб-пейвол, чтобы принимать платежи без комиссий и проверок App Store."
---

:::important
Прежде чем начать, убедитесь, что вы [настроили веб-пейвол в дашборде](web-paywall) и установили Adapty SDK версии 3.14 или выше.
:::

## Открытие веб-пейволов \{#open-web-paywalls\}

Если вы работаете с пейволом, разработанным самостоятельно, для работы с веб-пейволами необходимо использовать метод SDK. Метод `Adapty.OpenWebPaywall`:
1. Генерирует уникальный URL, позволяющий Adapty связать конкретный показанный пейвол с конкретным пользователем и веб-страницей, на которую он перенаправляется.
2. Отслеживает возвращение пользователя в приложение, а затем с короткими интервалами вызывает `Adapty.GetProfile`, чтобы определить, обновились ли права доступа профиля.
Таким образом, если платёж прошёл успешно и права доступа обновились, подписка активируется в приложении почти мгновенно.

```csharp showLineNumbers title="Unity"
Adapty.OpenWebPaywall(
    product,
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);
```
:::note
Существует две версии метода `OpenWebPaywall`:
1. `OpenWebPaywall(product)` — генерирует URL по пейволу и добавляет данные о продукте к URL.
2. `OpenWebPaywall(paywall)` — генерирует URL по пейволу без добавления данных о продукте к URL. Используйте её, когда продукты в пейволе Adapty отличаются от продуктов в веб-пейволе.
:::

#### Обработка ошибок \{#handle-errors\}
| Код ошибки | Описание                                            | Рекомендуемые действия                                                        |
|-----------|--------------------------------------------------------|---------------------------------------------------------------------------|
| `AdaptyErrorCode.WrongParam`   | У пейвола или продукта не настроен URL для веб-покупки, либо не удалось открыть URL в браузере | Проверьте сообщение об ошибке для получения подробностей. Убедитесь в правильности настройки пейвола/продукта в дашборде Adapty или проверьте настройки устройства. |
| `AdaptyErrorCode.DecodingFailed` | Не удалось корректно закодировать параметры в URL        | Убедитесь, что параметры URL корректны и правильно отформатированы                    |
:::note
Проверьте свойство `Message` ошибки, чтобы узнать подробности о причине сбоя: `WrongParam` может указывать на несколько разных проблем (отсутствующий URL покупки, ошибка открытия браузера и т. д.).
:::
## Открытие веб-пейволов во встроенном браузере \{#open-web-paywalls-in-an-in-app-browser\}

:::important
Открытие веб-пейволов во встроенном браузере поддерживается начиная с Adapty SDK v3.15.
:::

По умолчанию веб-пейволы открываются во внешнем браузере, что уводит пользователей из вашего приложения.

Для более комфортного пользовательского опыта можно открывать веб-пейволы во встроенном браузере. Это позволяет отображать страницу покупки прямо внутри приложения, так что пользователи завершают транзакцию, не переключаясь между приложениями.

Чтобы включить эту возможность, передайте `AdaptyWebPresentation.InAppBrowser` в метод `OpenWebPaywall`:
```csharp showLineNumbers title="Unity"
Adapty.OpenWebPaywall(
    product,
    AdaptyWebPresentation.InAppBrowser, // default — ExternalBrowser
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);
```