/api/v2/server-side-api/purchase/set/transaction/ Définir une transaction
Crée une nouvelle transaction pour un utilisateur final de votre application dans Adapty et fournit un niveau d'accès. La transaction créée par cette méthode apparaîtra dans vos analyses et dans le fil d'événements, et sera envoyée à toutes les intégrations.
Mise à jour d'un abonnement existant : Pour mettre à jour billing_issue_detected_at ou renew_status_changed_at sans générer de nouvel événement subscription_renewed, réutilisez le store_transaction_id existant (sous le même store_original_transaction_id). La soumission d'un nouveau store_transaction_id est traitée comme une nouvelle transaction et déclenche un événement subscription_renewed.
Header parameters
L'identifiant unique du client dans votre système. adapty-customer-user-id ou adapty-profile-id est requis.
L'identifiant unique du profil dans votre système. Meilleure option si vous travaillez avec des profils anonymes. adapty-customer-user-id ou adapty-profile-id est requis.
Request body
Option 1 — object
Données de transaction pour un achat unique
Type d'achat
One of: "one_time_purchase"
Store où l'achat a été effectué. Les valeurs courantes sont app_store, play_store, stripe, paddle, ou tout identifiant de store personnalisé
Environnement où l'achat a été effectué
One of: "Production", "Sandbox"
Identifiant du produit dans le store
Identifiant de transaction dans le store. Maximum 50 caractères. Les identifiants de transaction PayPal et de certains stores personnalisés peuvent dépasser cette limite — tronquez ou hachez la valeur avant de la soumettre, sinon la requête échoue.
Identifiant de transaction originale dans le store
Si l'achat est partagé en famille
Code pays
Code devise
Valeur du prix
Quand l'achat a été effectué
Identifiant de variante pour les tests A/B
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Quand l'achat a été remboursé
Raison de l'annulation
One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"
Option 2 — object
Données de transaction pour un achat par abonnement
Type d'achat
One of: "subscription"
Store où l'achat a été effectué. Les valeurs courantes sont app_store, play_store, stripe, paddle, ou tout identifiant de store personnalisé
Environnement où l'achat a été effectué
One of: "Production", "Sandbox"
Identifiant du produit dans le store
Identifiant de transaction dans le store. Maximum 50 caractères. Les identifiants de transaction PayPal et de certains stores personnalisés peuvent dépasser cette limite — tronquez ou hachez la valeur avant de la soumettre, sinon la requête échoue.
Identifiant de transaction originale dans le store
Si l'achat est partagé en famille
Code pays
Code devise
Valeur du prix
Quand l'achat a été effectué
Identifiant de variante pour les tests A/B
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Quand l'achat a été remboursé
Raison de l'annulation
One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"
Quand l'abonnement a été acheté initialement
Quand l'abonnement expire
Si l'abonnement sera renouvelé
Quand le statut de renouvellement a été modifié
Quand un problème de facturation a été détecté
Quand le délai de grâce expire
Responses
Transaction enregistrée avec succès
Schema
L'identifiant interne de votre application
Identifiant de profil Adapty
L'identifiant de votre utilisateur dans votre système
Valeur décimale représentant le chiffre d'affaires total en USD généré par le profil
Paramètre interne
Temps de réponse en millisecondes, nécessaire pour résoudre une condition de concurrence
Maximum de 30 attributs personnalisés autorisés pour le profil
La clé doit être une chaîne de caractères d'au plus 30 caractères. Seuls les lettres, chiffres, tirets, points et underscores sont autorisés
La valeur de l'attribut doit comporter au plus 50 caractères. Seules les chaînes de caractères et les décimaux sont autorisés comme valeurs
Tableau d'objets de niveau d'accès. Tableau vide si le client n'a aucun niveau d'accès
Identifiant du niveau d'accès
Store où le niveau d'accès a été acheté
Identifiant du produit dans le store
Identifiant du plan de base dans le store
Identifiant de transaction dans le store
Identifiant de transaction originale dans le store
Détails de l'offre, si une offre promotionnelle ou de lancement a été appliquée
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Quand le niveau d'accès commence
Quand le niveau d'accès a été acheté
Quand le niveau d'accès a été acheté initialement
Quand le niveau d'accès expire
Quand le renouvellement a été annulé
Quand un problème de facturation a été détecté
Si le niveau d'accès est en délai de grâce
Raison de l'annulation
Tableau d'objets d'abonnement. Tableau vide si le client n'a aucun abonnement
Store où l'abonnement a été acheté
Identifiant du produit dans le store
Identifiant du plan de base dans le store
Identifiant de transaction dans le store
Identifiant de transaction originale dans le store
Détails de l'offre, si une offre promotionnelle ou de lancement a été appliquée
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Environnement (Sandbox, Production)
Quand l'abonnement a été acheté
Quand l'abonnement a été acheté initialement
Quand l'abonnement expire
Quand le renouvellement a été annulé
Quand un problème de facturation a été détecté
Si l'abonnement est en délai de grâce
Raison de l'annulation
Tableau d'objets hors abonnement. Tableau vide si le client n'a aucun achat
Identifiant unique de l'achat
Store où l'achat a été effectué
Identifiant du produit dans le store
Identifiant du plan de base dans le store
Identifiant de transaction dans le store
Identifiant de transaction originale dans le store
Quand l'achat a été effectué
Environnement (Sandbox, Production)
Si cet achat est un remboursement
Si cet achat est un consommable
Requête incorrecte
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Non autorisé
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Profil introuvable
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Erreur interne du serveur