Примечание. Эта статья относится только к публикации приложений в GitHub Marketplace. Дополнительные сведения о публикации GitHub Actions в GitHub Marketplaceсм. в разделе "Публикация действий в GitHub Marketplace".
Дополнительные сведения об обновлении и понижении уровня, связанном с выставлением счетов, см. в разделе "Использование API GitHub Marketplace в приложении".
Шаг 1. Событие изменения плана ценообразования
GitHub отправляет веб-перехватчик marketplace_purchase
с действием changed
в приложение, когда клиент вносит такие изменения в свой заказ GitHub Marketplace:
- Повышение уровня до более дорогого плана или понижения до более дешевого тарифного плана.
- Добавляет или удаляет рабочие места из существующего плана.
- Вносит изменения в цикл выставления счетов.
GitHub отправит веб-перехватчик, когда изменение вступит в силу. Например, когда клиент понижает уровень тарифного плана, GitHub отправляет веб-перехватчик в конце цикла выставления счетов клиента. GitHub отправляет веб-перехватчик в приложение сразу, если клиент повышает уровень плана, чтобы сразу разрешить ему доступ к новой службе. Если клиент переходит с месячного на годовой цикл выставления счетов, это считается повышением уровня. Дополнительные сведения о действиях, которые считаются обновлением или понижением, см. в разделе "Клиенты для выставления счетов".
Ознакомьтесь с effective_date
, marketplace_purchase
и previous_marketplace_purchase
в веб-перехватчике marketplace_purchase
, чтобы обновить дату начала действия плана и внести изменения в цикл выставления счетов и тарифный план клиента. Пример полезных marketplace_purchase
данных события см. в разделе "События веб-перехватчика для API GitHub Marketplace".
Если для вашего приложения предлагаются бесплатные пробные версии, вы получите веб-перехватчик marketplace_purchase
с помощью действия changed
после истечения срока действия бесплатной пробной версии. Если срок действия бесплатной пробной версии клиента истекает, переведите клиент с бесплатной пробной версии на платный план.
Шаг 2. Обновление учетных записей клиентов
Вам потребуется обновить сведения об учетной записи клиента, чтобы отразить цикл выставления счетов и изменения в плане ценообразования, внесенные клиентом в свой заказ GitHub Marketplace. Отображение повышения уровня для тарифного плана seat_count
(для тарифных планов с оплатой по числу единиц) и цикла выставления счетов на веб-сайте приложения Marketplace или в пользовательском интерфейсе приложения при получении веб-перехватчика действия changed
.
Когда клиент понижает уровень тарифного плана, рекомендуется проверить, не превысил ли клиент лимиты для плана, и взаимодействовать с клиентом напрямую в пользовательском интерфейсе или связаться с ним по телефону или по электронной почте.
Чтобы мотивировать пользователей повысить уровень, вы можете настроить отображение URL-адреса обновления в пользовательском интерфейсе приложения. Дополнительные сведения см. в разделе Сведения об URL-адресах обновления.
Примечание. Мы рекомендуем регулярно выполнять синхронизацию с помощью GET /marketplace_listing/plans/:id/accounts
, чтобы убедиться, что приложение использует правильный план, информацию о цикле выставления счетов и количество единиц (для тарифных планов с оплатой по числу единиц) для каждой учетной записи.
Ошибка платежа при повышении уровня
В случае, если клиент обновляет свой план и платеж завершается сбоем, GitHub отменяет подписку GitHub Marketplace в предыдущее состояние. GitHub также отправляет клиенту сообщение электронной почты, чтобы сообщить о сбое и позволить им повторно приобрести покупку. Вы получите веб-перехватчик с действием changed
, которое запрашивает возврат к предыдущему плану.
Сведения об URL-адресах обновления
Вы можете перенаправить пользователей из пользовательского интерфейса приложения, чтобы повысить уровень в GitHub с помощью URL-адреса обновления:
https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
Например, если вы заметили, что клиент использует тарифный план, рассчитанный на 5 пользователей, и ему требуется перейти на план на 10 пользователей, можно отобразить в пользовательском интерфейсе приложения кнопку с текстом "Действия для повышения уровня" или баннер со ссылкой на URL-адрес обновления. URL-адрес обновления перенаправляет клиента на страницу, где можно подтвердить повышение уровня тарифного плана.
Используйте LISTING_PLAN_NUMBER
для тарифного плана, который клиент хочет приобрести. При создании новых тарифных планов они получают LISTING_PLAN_NUMBER
, который является уникальным для каждого плана в листинге, а также LISTING_PLAN_ID
, который также является уникальным для каждого плана в GitHub Marketplace. Эти цифры можно найти при перечислении планов, которые идентифицируют тарифные планы в вашем листинге. Используйте и конечную LISTING_PLAN_ID
точку "GET /marketplace_listing/plans/{plan_id}/accounts
" для получения .CUSTOMER_ACCOUNT_ID
Примечание. Если ваш клиент повышает уровень с учетом дополнительных единиц (например, рабочих мест), вы по-прежнему можете перевести его на страницу, где он может приобрести нужный план, но мы не поддерживаем параметры unit_count
в настоящее время.