Remarque
Cet article s'applique uniquement à la publication d'applications dans GitHub Marketplace. Pour plus d’informations sur la publication de GitHub Actions dans GitHub Marketplace, consultez Publication d’actions dans GitHub Marketplace.
Pour plus d’informations sur le passage à un plan supérieur ou inférieur dans le cadre de la facturation, consultez « Utilisation de l’API place de marché GitHub dans votre application ».
Étape 1. Événement de changement de plan tarifaire
GitHub envoie le webhook marketplace_purchase avec l’action changed à votre application quand un client effectue un changement dans sa commande GitHub Marketplace :
- Passe à un forfait plus cher ou rétrograde à un forfait moins cher.
- Ajoute ou supprime des sièges dans leur plan existant.
- Change le cycle de facturation.
GitHub envoie le webhook lorsque la modification prend effet. Par exemple, lorsqu'un client rétrograde un plan, GitHub envoie le webhook à la fin du cycle de facturation du client. GitHub envoie un webhook à votre application immédiatement lorsqu’un client met à niveau son plan pour lui permettre d’accéder immédiatement au nouveau service. Si un client passe d’un cycle de facturation mensuel à un cycle de facturation annuel, c’est considéré comme un passage à un plan supérieur. Consultez « Facturer les clients » pour en savoir plus sur les actions qui sont considérées comme des passages à des plans inférieurs ou supérieurs.
Lisez effective_date, marketplace_purchase et previous_marketplace_purchase du webhook marketplace_purchase pour mettre à jour la date de début du plan, et modifier le cycle de facturation ainsi que le plan tarifaire du client. Consultez « Événements de webhook pour l’API GitHub Marketplace » pour obtenir un exemple de charge utile d’événement marketplace_purchase.
Si votre application propose des essais gratuits, vous recevrez le webhook marketplace_purchase avec l’action changed quand l’essai gratuit expire. Si l’essai gratuit du client expire, mettez à niveau le client vers la version payante du plan d’essai gratuit.
Étape 2. Mise à jour des comptes client
Vous devez mettre à jour les informations de compte du client pour refléter les changements de cycle de facturation et de plan tarifaire que le client a effectués dans sa commande GitHub Marketplace. Affichez les mises à niveau de plan tarifaire seat_count (pour les plans tarifaires unitaires) et de cycle de facturation sur le site web de votre application Marketplace ou dans l’interface utilisateur de votre application quand vous recevez le webhook de l’action changed.
Quand un client passe à un plan inférieur, nous vous recommandons de vérifier s’il a dépassé les limites de son plan et d’entrer en contact avec lui directement dans votre interface utilisateur, ou par téléphone ou e-mail.
Pour encourager les utilisateurs à passer à un plan supérieur, vous pouvez afficher une URL de mise à niveau dans l’interface utilisateur de votre application. Pour plus d’informations, consultez « À propos des URL de mise à niveau ».
Remarque
Nous vous recommandons d’effectuer une synchronisation régulière en utilisant GET /marketplace_listing/plans/:id/accounts pour que votre application ait pour chaque compte le plan, les informations de cycle de facturation et le nombre d’unités (pour le tarif unitaire) appropriés.
Paiements de mise à niveau ayant échoué
Si un client effectue une mise à niveau de son plan et que le paiement échoue, GitHub rétablit son abonnement GitHub Marketplace qui repasse à l’état précédent. GitHub envoie également un e-mail au client pour l’informer de l’échec et lui permettre de retenter son achat. Vous recevrez un webhook avec l’action changed vous demandant de revenir au plan précédent.
À propos des URL de mise à niveau
Vous pouvez rediriger les utilisateurs à partir de l'interface utilisateur de votre application pour effectuer une mise à niveau sur GitHub à l'aide d'une URL de mise à niveau :
https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
Par exemple, si vous remarquez qu’un client utilise un plan de 5 personnes et qu’il lui faut un plan de 10 personnes, vous pouvez afficher un bouton dans l’interface utilisateur de votre application qui indique « Voici comment passer à un plan supérieur » ou afficher une bannière avec un lien vers l’URL de mise à niveau. L’URL de mise à niveau dirige le client vers la page de confirmation de mise à niveau de votre plan de listing.
Utilisez le LISTING_PLAN_NUMBER pour le plan que le client souhaite acheter. Quand vous créez des plans tarifaires, ils reçoivent un LISTING_PLAN_NUMBER, numéro unique pour chaque plan dans votre listing, et un LISTING_PLAN_ID, ID unique pour chaque plan dans GitHub Marketplace. Vous pouvez trouver ces numéros lorsque vous utilisez Liste des plans, ce qui identifie les plans tarifaires de votre annonce. Utilisez le LISTING_PLAN_ID et le point de terminaison « GET /marketplace_listing/plans/{plan_id}/accounts » pour obtenir le CUSTOMER_ACCOUNT_ID.
Remarque
Si votre client effectue une mise à niveau vers des unités supplémentaires (comme des sièges), vous pouvez toujours l’orienter vers le plan approprié pour effectuer son achat, cependant nous ne sommes pas encore en mesure de prendre en charge les paramètres unit_count (espace réservé).