Obtenir des informations d’abonnement

Pour obtenir des informations sur l’activité liée aux abonnements, procédez comme suit :

Configuration via des appels API

Côté client de votre application, implémentez l’obtention d’informations sur les abonnements de l’utilisateur au moyen d’une requête HTTP GET.

L’API Xsolla utilise l’authentification d’accès HTTP. La requête doit contenir un en-tête Authorization: Bearer <client_user_jwt>, où <client_user_jwt> est un jeton unique encodé conformément à la norme Base64. Pour l’obtenir :

Note
Pour appeler les API de Xsolla, vous pouvez utiliser les méthodes SDK prêtes à l’emploi pour les moteurs de jeu et les plateformes :

Spécifiez projectId, l’ID de projet, comme paramètre de chemin. Ce paramètre se trouve dans le Compte éditeur à côté du nom du projet.

Spécifiez comme paramètres de requête :

  • limit — limite du nombre d’éléments sur la page (15 éléments sont affichés par défaut) ;
  • offset — numéro de l’élément à partir duquel la liste est générée (le décompte commence à 0) ;
  • locale — langue de l’interface (anglais par défaut). Accepte des valeurs selon la norme ISO 639-1.

Copy
Full screen
Small screen
curl -X 'GET' \
  'https://subscriptions.xsolla.com/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer client_user_jwt'
Copy
Full screen
Small screen
{
  "items": [
    {
      "id": 11111111,
      "plan_id": 11111,
      "plan_external_id": "TestChangePlanBase",
      "plan_name": "package_recurrent_name_66053",
      "plan_description": "package_recurrent_description_66053",
      "product_id": null,
      "product_external_id": null,
      "product_name": null,
      "product_description": null,
      "status": "active",
      "date_create": "2021-03-11T13:50:11+03:00",
      "date_next_charge": "2031-04-11T13:51:02+03:00",
      "date_last_charge": "2021-03-11T13:51:02+03:00",
      "charge": {
        "amount": "0.2500",
        "currency": "USD"
      },
      "period": {
        "value": 1,
        "unit": "day"
      }
    }
  ],
  "has_more": true
}

Configurer des webhooks

La solution Subscriptions prend en charge les webhooks pour les événements suivants :

Note
Pour annuler un abonnement, le dernier paiement doit être annulé. Si l’utilisateur a renouvelé son abonnement manuellement et a payé pour plusieurs périodes, il doit annuler tous les paiements.
  • Remboursement :
    • Remboursement (le paiement a été annulé dans le Compte éditeur) ;
    • Abonnement mis à jour (le paiement a été annulé, mais l'abonnement est toujours actif, ce qui est possible si l'utilisateur a accidentellement payé l'abonnement deux fois et n'a annulé que le dernier paiement) ;
    • Abonnement annulé (le paiement a été annulé dans le Compte éditeur ou tous les paiements ont été annulés pour toutes les périodes de validité).
Note
Vous trouverez plus d’informations sur les webhooks dans notre documentation API.
Pour configurer les webhooks :
  1. Dans le Compte éditeur, accédez à Project settings > Webhooks.
  2. Réglez la bascule dans le bloc Webhooks sur On.

  1. Spécifiez l'URL de votre webhook. Cliquez sur Save settings.

  1. Testez les webhooks dans le Compte éditeur.
  2. Testez l'achat d'un abonnement.
  3. Testez le renouvellement d'un abonnement.
  4. Testez l'annulation d'un abonnement.

Tester les webhooks dans le Compte éditeur

  1. Dans le Compte éditeur, accédez à la section Project settings > Webhooks, puis à l'onglet Subscriptions.
  1. Indiquez les valeurs de votre projet (ID utilisateur, ID de facture) à envoyer dans la requête à l'URL spécifiée. En l'absence de valeurs réelles, saisissez des valeurs arbitraires. Remplissez les champs suivants du formulaire :
Note
Dans le Compte éditeur, vous ne pouvez tester que les webhooks Validation utilisateur et Paiement. Pour tester d’autres types de webhooks, accédez aux sections :
  1. Cliquez sur Test.
  2. Vérifiez que vous avez reçu un message de réussite du test. Si votre test est réussi, votre serveur renverra un code d'état HTTP 204. En cas d'échec, le serveur renverra un code d'état HTTP 400 ou 500 ainsi qu'une description de l'erreur.

Tester l'achat d'un abonnement

Lorsque vous testez un paiement, les webhooks Validation utilisateur, Paiement et Created Subscription sont envoyés à l’URL que vous avez spécifiée à l’étape de configuration des webhooks. Pour tester le processus de paiement, vous pouvez :
Note
Tester des abonnements avec période d’essai n’est possible que pour des paiements réels, car il n’est pas possible d’associer un compte de facturation à un abonnement en mode bac à sable.

Mode bac à sable

  1. Obtenez un jeton pour le mode bac à sable. Passez la valeur 0 au paramètre Trial period (trial_days).
  2. Choisissez le groupe de modes de paiement Carte de crédit/débit.
  3. Entrez les informations de la carte bancaire de test. Entrez des valeurs aléatoires dans les autres champs. Pour générer une erreur, spécifier des informations incorrectes (numéro de carte, date d'expiration ou CVV).
Note
Dans le mode bac à sable, vous ne pouvez utiliser que des cartes bancaires de test. Les devises suivantes sont disponibles : USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.
  1. Recevez les webhooks Validation utilisateur, Paiement et Abonnement mis à jour à l'URL que vous avez spécifiée à l'étape de configuration des webhooks.

Paiement réel

Pour tester le paiement d’un abonnement avec période d’essai, vous devez utiliser un paiement réel :
  1. Complétez le test des webhooks dans le Compte éditeur et activez le module Subscriptions.
  2. Signez le contrat de licence.
Note
La signature du contrat de licence active la vente d’abonnements réels.
  1. Obtenez un jeton pour les paiements réels.
Avis
Supprimez le paramètre “mode”:“sandbox” de la requête de jeton avant de commencer à recevoir des paiements réels.
  1. Ouvrez l'interface de paiement avec le lien suivant : https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN, où ACCESS_TOKEN est le jeton obtenu à l'étape précédente.
  2. Choisissez le groupe de méthodes de paiement Carte de crédit/débit.
  3. Entrez les informations d'une carte bancaire valide.
Note
Les cartes bancaires de test ne conviennent qu’au mode bac à sable. Il est recommandé d’utiliser les cartes Visa ou MasterCard pour tester les paiements réels.
  1. Recevez les webhooks Validation utilisateur, Paiement et Abonnement mis à jour à l'URL du webhook spécifiée à l'étape de configuration des webhooks.
  2. Initiez un remboursement. Pour ce faire, accédez à la section Support > Transaction search dans le Compte éditeur.
  3. Sélectionnez la transaction de test et cliquez sur le bouton de menu More (•••). Dans le menu contextuel, cliquez sur Refund (la transaction doit avoir le statut Complete). Cela enverra les webhooks Abonnement annulé et Remboursement.

Tester le renouvellement d'un abonnement

Avis
Disponible uniquement pour les abonnements sans période d’essai.
Pour tester le renouvellement d’un abonnement :
  1. Obtenez un jeton pour le mode bac à sable. Passez la valeur 0 au paramètre Trial period (trial_days).
  2. Payez l’abonnement en utilisant n’importe quel mode de paiement.
  3. Rouvrez l’interface de paiement en mode bac à sable.
  4. Payez à nouveau pour renouveler votre abonnement en utilisant n’importe quel mode de paiement.
  5. Recevez les webhooks Validation utilisateur, Paiement et Abonnement mis à jour sur l’URL du webhook que vous avez spécifiée à l’étape de configuration des webhooks.

Tester l'annulation d'un abonnement

Pour tester l’annulation d’un abonnement, utilisez :

Recherche par abonnement

  1. Dans le Compte éditeur, accédez à la section Support > Subscribers.
  2. Trouvez l'abonnement que vous souhaitez annuler.
  3. Ouvrez le menu d'état de l'abonnement et sélectionnez :
    1. Cancel and refund pour recevoir les webhooks Abonnement annulé et Remboursement ;
    2. Cancel without refund pour recevoir le webhook Abonnement annulé.

Recherche par transactions récentes

  1. Dans le Compte éditeur, accédez à Support > Transaction search.
  2. Trouvez les dernières transactions annulées.
  3. Cliquez sur l'icône More (•••). Dans le menu contextuel, cliquez sur Refund pour recevoir les webhooks Abonnement annulé et Remboursement.
Note
Si l’abonnement a été payé plusieurs fois, tous les paiements doivent être annulés.

Via appels API

Utilisez l’appel API Mettre à jour un abonnement pour changer le statut de l’abonnement en Canceled et recevoir le webhook Abonnement annulé.

Ouvrir l'interface de paiement en mode bac à sable

Pour ouvrir l’interface de paiement en mode bac à sable, obtenez un jeton dans le mode sandbox. Le jeton requis peut être obtenu :

Dans le Compte éditeur

  1. Testez les webhooks dans le Compte éditeur. Pour tester un abonnement sans période d'essai, spécifiez la valeur 0 dans le champ Trial period. Après avoir reçu un message de confirmation de réussite du test, un lien contenant le jeton requis apparaît sous le titre Sandbox URL.
  1. Suivez le lien Sandbox URL.

Via appel API

  1. Passez le paramètre "settings":{"mode":"sandbox"} à la méthode Créer un jeton. Pour tester un abonnement sans période d'essai, passez le paramètre "purchase": {"subscription":{"trial_days": 0}}.
  2. Utilisez le lien suivant : https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN, où ACCESS_TOKEN est le jeton obtenu à l'étape précédente.
Cet article vous a été utile ?
Merci !
Que pouvons-nous améliorer ? Message
Nous sommes désolés de l'apprendre
Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.
Dernière mise à jour: 31 Juillet 2024

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.

Signaler un problème
Nous améliorons continuellement notre contenu grâce à vos commentaires.
Indiquez votre adresse e-mail pour un suivi
Merci pour votre commentaire !