Synchroniser les transactions depuis des stores personnalisés

Si vous vendez des abonnements ou des achats intégrés via des stores personnalisés comme Amazon Appstore, Microsoft Store, ou votre propre plateforme de paiement, vous pouvez synchroniser ces transactions avec Adapty pour gérer automatiquement les niveaux d’accès et suivre vos revenus dans vos analytics.

Dans ce guide, vous apprendrez à connecter les achats de stores personnalisés avec Adapty via le SDK et l’API.

Exemple d’utilisation

Supposons que vous distribuiez votre application sur Amazon Appstore, ou que vous ayez créé votre propre boutique en ligne pour les achats directs. Lorsqu’un utilisateur finalise un achat sur ces plateformes, vous souhaitez :

  • Lui accorder automatiquement l’accès aux fonctionnalités premium dans votre application mobile
  • Suivre la transaction dans les analyses Adapty aux côtés de vos revenus App Store et Google Play
  • Déclencher les intégrations et webhooks comme pour n’importe quel autre abonnement

C’est exactement ce que cette intégration vous permet d’accomplir.

Étape 1. Identifier les utilisateurs

Adapty utilise le customer_user_id pour identifier les utilisateurs sur toutes les plateformes.

Vous devez créer cet identifiant une seule fois et le transmettre à la fois à votre SDK mobile et à votre backend web. Lorsque vos utilisateurs s’inscrivent pour la première fois depuis l’application, vous pouvez passer leur customer user ID lors de l’activation du SDK, ou si vous avez activé le SDK Adapty avant l’étape d’inscription, utilisez la méthode identify pour créer un nouveau profil et lui attribuer un customer user ID.

Important

Si vous identifiez de nouveaux utilisateurs après l’activation du SDK, celui-ci crée d’abord un profil anonyme (il ne peut pas fonctionner sans). Lorsque vous appelez identify avec un customer user ID, un nouveau profil est créé.

Ce comportement est normal et n’affecte pas la précision des analyses. En savoir plus ici.

Étape 2. Créer des produits dans un store personnalisé dans l’Adapty Dashboard

Pour qu’Adapty associe les transactions d’un store personnalisé à vos produits, vous devez ajouter des produits et configurer les détails du store personnalisé pour ceux-ci.

  1. Accédez à Products depuis le menu de gauche dans l’Adapty Dashboard et cliquez sur Create product. Ou cliquez sur un produit existant pour le modifier.
  2. Assurez-vous d’avoir sélectionné le niveau d’accès que vous souhaitez accorder aux utilisateurs qui achètent le produit.
  3. Cliquez sur + et sélectionnez Add a custom store.
  4. Cliquez sur Create new custom store.
add-custom-store.webp
  1. Donnez un nom à votre store (par exemple, « Amazon Appstore », « Microsoft Store » ou « Web Store ») ainsi qu’un ID. Cliquez sur Create custom store.
new-store.webp
  1. Cliquez ensuite sur Save changes pour lier le produit au store personnalisé.
  2. Saisissez le Store product ID du produit afin de le faire correspondre à un produit dans ce store. Cliquez ensuite sur Save.
store-product-id.webp

Étape 3. Synchroniser les transactions via l’API

Quand un achat est effectué dans votre store personnalisé, vous devez le synchroniser avec Adapty via l’API côté serveur.

Cet appel API va :

  • Enregistrer la transaction dans Adapty
  • Accorder le niveau d’accès correspondant à l’utilisateur
  • Déclencher les intégrations et webhooks que vous avez configurés
  • Faire apparaître la transaction dans vos analyses

Consultez la référence complète de la méthode ici.

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"
}'
Important

Paramètres importants :

  • store : L’ID de votre store personnalisé issu de l’étape 2
  • store_product_id : L’ID du produit dans le store issu de l’étape 2
  • store_transaction_id : Un identifiant unique pour cette transaction
  • purchased_at : Horodatage ISO 8601 indiquant quand l’achat a eu lieu
  • price : Le montant payé par l’utilisateur

Étape 4. Vérifier l’accès dans l’application

Une fois la transaction synchronisée, le profil de l’utilisateur sera automatiquement mis à jour avec le nouveau niveau d’accès.

Lorsque l’utilisateur ouvre votre application mobile, récupérez son profil pour vérifier son statut d’abonnement et déverrouiller les fonctionnalités premium.