Sincronizar transacciones de stores personalizados

Si vendes suscripciones o compras in-app a través de stores personalizadas como Amazon Appstore, Microsoft Store o tu propia plataforma de pago, puedes sincronizar esas transacciones con Adapty para gestionar automáticamente los niveles de acceso y hacer seguimiento de los ingresos en tu analítica.

En esta guía aprenderás a conectar las compras de stores personalizadas con Adapty usando el SDK y la API.

Ejemplo de uso

Supongamos que distribuyes tu app en Amazon Appstore, o que tienes tu propia tienda web para ventas directas. Cuando un usuario completa una compra en estas plataformas, quieres:

  • Concederle acceso automáticamente a las funciones premium de tu app móvil
  • Registrar la transacción en los análisis de Adapty junto con los ingresos de App Store y Google Play
  • Activar integraciones y webhooks igual que con cualquier otra suscripción

Eso es exactamente lo que esta integración te permite conseguir.

Paso 1. Identifica a los usuarios

Adapty usa customer_user_id para identificar usuarios entre plataformas.

Necesitas crear este ID una sola vez y pasárselo tanto al SDK como a tu backend web. Cuando tus usuarios se registren por primera vez desde la app, puedes pasar su customer user ID durante la activación del SDK, o si ya activaste el SDK de Adapty antes del registro, usa el método identify para crear un nuevo perfil y asignarle un customer user ID.

Si identificas nuevos usuarios después de la activación del SDK, el SDK creará primero un perfil anónimo (no puede funcionar sin uno). Cuando llames a identify con un customer user ID, se creará un nuevo perfil.

Este comportamiento es normal y no afectará a la precisión de los análisis. Lee más aquí.

Paso 2. Crea productos en una store personalizada en el Adapty Dashboard

Para que Adapty relacione las transacciones de la store personalizada con tus productos, debes añadir los productos y configurar los detalles de la store personalizada para cada uno.

  1. Ve a Products desde el menú lateral del Adapty Dashboard y haz clic en Create product. O haz clic en un producto existente para editarlo.
  2. Asegúrate de haber seleccionado el nivel de acceso que quieres conceder a los usuarios que compren el producto.
  3. Haz clic en + y selecciona Add a custom store.
  4. Haz clic en Create new custom store.
add-custom-store.webp
  1. Dale un nombre a tu store (por ejemplo, “Amazon Appstore”, “Microsoft Store” o “Web Store”) y un ID. Haz clic en Create custom store.
new-store.webp
  1. Luego, haz clic en Save changes para vincular el producto al store personalizado.
  2. Introduce el Store product ID del producto para asociarlo con algún producto de ese store. Después, haz clic en Save.
store-product-id.webp

Paso 3. Sincroniza las transacciones mediante la API

Cuando se completa una compra en tu store personalizado, debes sincronizarla con Adapty mediante la API de servidor.

Esta llamada a la API:

  • Registra la transacción en Adapty
  • Otorga el nivel de acceso correspondiente al usuario
  • Activa las integraciones y webhooks que hayas configurado
  • Hace que la transacción aparezca en tus analíticas

Consulta la referencia completa del método aquí.

curl --request POST \
  --url https://api.adapty.io/api/v2/server-side-api/purchase/set/transaction/ \
  --header 'Accept: application/json' \
  --header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
  --header 'Content-Type: application/json' \
  --header 'adapty-customer-user-id: YOUR_CUSTOMER_USER_ID' \
  --data '{
  "purchase_type": "PRODUCT_PERIOD",
  "store": "YOUR_CUSTOM_STORE",
  "environment": "production",
  "store_product_id": "YOUR_STORE_PRODUCT_ID",
  "store_transaction_id": "STORE_TRANSACTION_ID",
  "store_original_transaction_id": "ORIGINAL_TRANSACTION_ID",
  "price": {
    "country": "COUNTRY_CODE",
    "currency": "CURRENCY_CODE",
    "value": "YOUR_PRICE"
  },
  "purchased_at": "2024-01-15T10:30:00Z"
}'

Parámetros importantes:

  • store: El ID de tu store personalizado del Paso 2
  • store_product_id: El ID de producto del store del Paso 2
  • store_transaction_id: Un identificador único para esta transacción
  • purchased_at: Marca de tiempo en formato ISO 8601 de cuándo se realizó la compra
  • price: El importe pagado por el usuario

Paso 4. Verificar el acceso en la app

Una vez sincronizada la transacción, el perfil del usuario se actualizará automáticamente con el nuevo nivel de acceso.

Cuando el usuario abra tu app, obtén su perfil para comprobar el estado de su suscripción y desbloquear las funciones premium.