---
title: "Triển khai web paywall trong Kotlin Multiplatform SDK"
description: "Thiết lập web paywall để nhận thanh toán mà không phải chịu phí và kiểm duyệt của cửa hàng."
---

:::important
Trước khi bắt đầu, hãy đảm bảo bạn đã [cấu hình web paywall trong dashboard](web-paywall) và cài đặt Adapty SDK phiên bản 3.15 trở lên.
:::

## Mở web paywall \{#open-web-paywalls\}

Nếu bạn đang làm việc với paywall tự phát triển, bạn cần xử lý web paywall bằng phương thức SDK. Phương thức `openWebPaywall`:
1. Tạo ra một URL duy nhất cho phép Adapty liên kết paywall cụ thể được hiển thị cho từng người dùng với trang web mà họ được chuyển hướng đến.
2. Theo dõi khi người dùng quay lại ứng dụng và sau đó gọi `getProfile` theo các khoảng thời gian ngắn để xác định xem quyền truy cập của hồ sơ người dùng có được cập nhật hay không.

Theo cách này, nếu thanh toán thành công và quyền truy cập được cập nhật, gói đăng ký sẽ được kích hoạt trong ứng dụng gần như ngay lập tức.

:::note
Sau khi người dùng quay lại ứng dụng, hãy làm mới giao diện để phản ánh các cập nhật hồ sơ người dùng. Adapty sẽ nhận và xử lý các sự kiện cập nhật hồ sơ người dùng.
:::

```kotlin showLineNumbers

viewModelScope.launch {
    Adapty.openWebPaywall(product = product).onSuccess {
        // the web paywall was opened successfully
    }.onError { error ->
        // handle the error
    }
}
```

:::note
Có hai phiên bản của phương thức `openWebPaywall`:
1. `openWebPaywall(product = product)` tạo URL theo paywall và cũng thêm dữ liệu sản phẩm vào URL.
2. `openWebPaywall(paywall = paywall)` tạo URL theo paywall mà không thêm dữ liệu sản phẩm vào URL. Sử dụng phương thức này khi các sản phẩm trong Adapty paywall của bạn khác với những sản phẩm trong web paywall.
:::

## Mở web paywall trong trình duyệt trong ứng dụng \{#open-web-paywalls-in-an-in-app-browser\}

Theo mặc định, web paywall mở trong trình duyệt bên ngoài.

Để mang lại trải nghiệm người dùng liền mạch, bạn có thể mở web paywall trong trình duyệt trong ứng dụng. Điều này hiển thị trang mua hàng web ngay trong ứng dụng của bạn, cho phép người dùng hoàn tất giao dịch mà không cần chuyển sang ứng dụng khác.

Để bật tính năng này, hãy đặt tham số `openIn` thành `AdaptyWebPresentation.IN_APP_BROWSER`:

```kotlin showLineNumbers

viewModelScope.launch {
    Adapty.openWebPaywall(
        product = product,
        openIn = AdaptyWebPresentation.IN_APP_BROWSER // default – EXTERNAL_BROWSER
    ).onSuccess {
        // the web paywall was opened successfully
    }.onError { error ->
        // handle the error
    }
}
```