---
title: "Implementar paywalls web en Flutter SDK"
description: "Configura un paywall web para cobrar sin las comisiones ni las revisiones de la App Store."
---

:::important
Antes de empezar, asegúrate de haber [configurado tu paywall web en el dashboard](web-paywall) y de tener instalada la versión 3.6.1 o posterior del SDK de Adapty.
:::

Si estás trabajando con un paywall que has desarrollado tú mismo, necesitas gestionar los paywalls web mediante el método del SDK. El método `.openWebPaywall`:
1. Genera una URL única que permite a Adapty vincular el paywall concreto mostrado a un usuario determinado con la página web a la que es redirigido.
2. Detecta cuándo los usuarios vuelven a la app y luego solicita `.getProfile` a intervalos cortos para determinar si los derechos de acceso del perfil se han actualizado.

De esta forma, si el pago se ha completado correctamente y los derechos de acceso se han actualizado, la suscripción se activa en la app casi de inmediato.

```dart showLineNumbers title="Flutter"
try {
  await Adapty().openWebPaywall(product: <YOUR_PRODUCT>);
  // The web paywall will be opened
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}
```

:::note
Existen dos versiones del método `openWebPaywall`:
1. `openWebPaywall(product)`, que genera URLs por paywall y añade también los datos del producto a las URLs.
2. `openWebPaywall(paywall)`, que genera URLs por paywall sin añadir los datos del producto a las URLs. Úsalo cuando los productos de tu paywall en Adapty sean diferentes a los del paywall web.
:::

#### Gestionar errores \{#handle-errors\}

| Error                                   | Descripción                                                     | Acción recomendada                                                                    |
|-----------------------------------------|-----------------------------------------------------------------|---------------------------------------------------------------------------------------|
| AdaptyError.paywallWithoutPurchaseUrl   | El paywall no tiene configurada una URL de compra web           | Comprueba si el paywall se ha configurado correctamente en el Adapty Dashboard        |
| AdaptyError.productWithoutPurchaseUrl   | El producto no tiene una URL de compra web                      | Verifica la configuración del producto en el Adapty Dashboard                         |
| AdaptyError.failedOpeningWebPaywallUrl  | No se pudo abrir la URL en el navegador                         | Revisa la configuración del dispositivo o proporciona un método de compra alternativo |
| AdaptyError.failedDecodingWebPaywallUrl | No se pudieron codificar correctamente los parámetros en la URL | Verifica que los parámetros de la URL sean válidos y estén correctamente formateados  |

## Abrir paywalls web en un navegador in-app \{#open-web-paywalls-in-an-in-app-browser\}

:::important
La apertura de paywalls web en un navegador in-app está disponible a partir de la versión 3.15 del SDK de Adapty.
:::

Por defecto, los paywalls web se abren en el navegador externo.

Para ofrecer una experiencia de usuario fluida, puedes abrir los paywalls web en un navegador in-app. Esto muestra la página de compra web dentro de tu aplicación, permitiendo a los usuarios completar las transacciones sin cambiar de app.

Para habilitarlo, establece el parámetro `in` en `.inAppBrowser`:

```dart showLineNumbers
try {
  await Adapty().openWebPaywall(
    product: <YOUR_PRODUCT>,
    openIn: AdaptyWebPresentation.inAppBrowser,
  );
  // The web paywall will be opened in the in-app browser
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}

```