/api/v2/server-side-api/purchase/paddle/token/validate/ Valider un achat Paddle
Valide un achat à l'aide du jeton Paddle fourni en utilisant les identifiants Paddle configurés dans les paramètres de votre application dans l'Adapty Dashboard. Si l'achat est valide, l'historique des transactions est importé depuis Paddle vers le profil Adapty associé au customer_user_id spécifié. Si aucun profil avec ce customer_user_id n'existait auparavant, il sera créé.
Request body
L'identifiant de votre utilisateur dans votre système
Token d'un objet Paddle représentant un achat unique. Peut être soit un identifiant de transaction (txn_...) soit un identifiant d'abonnement (sub_...)
Responses
Achat validé avec succès
Schema
L'identifiant interne de votre application
Identifiant de profil Adapty
L'identifiant de votre utilisateur dans votre système
Une valeur flottante représentant le chiffre d'affaires total en USD généré sur le profil
Paramètre interne
Temps de réponse en millisecondes, nécessaire pour résoudre une condition de concurrence
Un maximum de 30 attributs personnalisés peuvent être définis sur le profil
La clé doit être une chaîne de caractères ne dépassant pas 30 caractères. Seuls les lettres, chiffres, tirets, points et underscores sont autorisés
La valeur de l'attribut ne doit pas dépasser 50 caractères. Seules les chaînes de caractères et les nombres flottants sont autorisés comme valeurs
Tableau d'objets 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 la transaction dans le store
Identifiant de la transaction d'origine dans le store
Détails de l'offre, si une offre promotionnelle ou une offre 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
Date de début du niveau d'accès
Date d'achat du niveau d'accès
Date d'achat initiale du niveau d'accès
Date d'expiration du niveau d'accès
Date d'annulation du renouvellement
Date de détection du problème de facturation
Indique si le niveau d'accès est en délai de grâce
Raison de l'annulation
Tableau d'objets abonnement. Tableau vide si le client n'a aucun abonnement
Store où l'abonnement a été acheté
ID du produit dans le store
ID du plan de base dans le store
ID de transaction dans le store
ID de transaction d'origine dans le store
Détails de l'offre, si une offre promotionnelle ou une offre 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)
Date d'achat de l'abonnement
Date d'achat initial de l'abonnement
Date d'expiration de l'abonnement
Date d'annulation du renouvellement
Date de détection du problème de facturation
Indique si l'abonnement est en délai de grâce
Raison de l'annulation
Tableau d'objets achat unique. Tableau vide si le client n'a effectué aucun achat
Identifiant unique de l'achat
Store où l'achat a été effectué
ID du produit dans le store
ID du plan de base dans le store
ID de la transaction dans le store
ID de la transaction d'origine dans le store
Date et heure de l'achat
Environnement (Sandbox, Production)
Indique s'il s'agit d'un remboursement
Indique s'il s'agit d'un achat consommable
Example
{
"data": {
"app_id": "14c3d623-2f3a-455a-aa86-ef83dff6913b",
"profile_id": "3286abd3-48b0-4e9c-a5f6-ac0a006804a6",
"customer_user_id": "Jane.doe@example.com",
"total_revenue_usd": 0,
"segment_hash": "8f45947bad31ab0c",
"timestamp": 1736436751469,
"custom_attributes": [
{
"key": "favourite_sport",
"value": "yoga"
}
],
"access_levels": [],
"subscriptions": [
{
"purchase_id": "5a7ab471-2299-45f7-ad69-1d395c1256e3",
"store": "app_store",
"store_product_id": "1year.premium",
"store_base_plan_id": null,
"store_transaction_id": "30002109551456",
"store_original_transaction_id": "30002109551456",
"purchased_at": "2022-10-12T09:42:50+00:00",
"environment": "Production",
"is_refund": false,
"is_consumable": false
}
],
"non_subscriptions": []
}
} Requête incorrecte
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Example
{
"errors": [
"No products found"
],
"error_code": "no_products_found",
"status_code": 400
} Non autorisé
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Example
{
"errors": [
"Invalid API key"
],
"error_code": "unauthorized",
"status_code": 401
} Erreur interne du serveur
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP