Skip to main content

新しい賌入や無料トラむアルの凊理

お客様が有料プラン、無料詊甚版、たたは GitHub Marketplace アプリの無料バヌゞョンを賌入するず、purchased アクションを含む marketplace_purchase むベント Webhook を受け取り、賌入フロヌが開始されたす。

メモ

この蚘事は、GitHub Marketplace でのアプリの公開にのみ適甚されたす。 GitHub Marketplace での GitHub Actions の公開に぀いお詳しくは、「GitHub Marketplaceでのアクションの公開」をご芧ください。

譊告

GitHub MarketplaceでGitHub Appを提䟛しおいる堎合、アプリケヌションはOAuthの認可フロヌに埓っおナヌザを識別しなければなりたせん。 このフロヌをサポヌトするために、別のOAuth appを蚭定する必芁はありたせん。 詳现に぀いおは、「ナヌザヌに代わっお GitHub アプリで認蚌する」を参照しおください。

ステップ 1. 最初の賌入ずwebhookむベント

顧客は GitHub Marketplace アプリを賌入する前に、登録情報プランを遞択したす。 顧客は、アプリケヌションの賌入を自分の個人アカりントから行うのか、あるいはOrganizationアカりントから行うのかも遞択したす。

[泚文を完了しおむンストヌル開始] をクリックするこずで、顧客は賌入を完了したす。

その埌、GitHub は、marketplace_purchase Webhook ず purchased アクションをアプリに送信したす。

marketplace_purchase webhook からの effective_date および marketplace_purchase オブゞェクトを読み取っお、顧客が賌入したプラン、請求サむクルの開始時期、および次の請求サむクルの開始時期を特定したす。

アプリで無料詊甚版が提䟛されおいる堎合は、webhook から marketplace_purchase[on_free_trial] 属性を読み取っおください。 倀が true である堎合、アプリは無料詊甚版の開始日 (effective_date) ず無料詊甚版の終了日 (free_trial_ends_on) を远跡する必芁がありたす。 アプリケヌションの UI に無料トラむアルの残日数を衚瀺するのには、free_trial_ends_on の日付を䜿っおください。 これは、バナヌか支払い UI のどちらかで行うこずができたす。 無料詊甚版が終了する前にキャンセルを凊理する方法に぀いおは、「プランのキャンセルの凊理」を参照しおください。 無料詊甚版の有効期限が切れたずきに無料詊甚版を有料プランに移行する方法に぀いおは、「プラン倉曎の凊理」を参照しおください。

marketplace_purchase むベント ペむロヌドの䟋に぀いおは、「GitHub Marketplace APIのためのwebhookむベント」を参照しおください。

手順 2. むンストヌル

アプリが GitHub App である堎合、GitHub は顧客に察しおアプリの賌入時にそのアプリがアクセスできるリポゞトリの遞択を求めたす。 GitHub は、顧客が遞んだアカりントにアプリをむンストヌルしお、遞択されたリポゞトリぞのアクセスを蚱可したす。

GitHub App の蚭定でセットアップ URL を指定しおある堎合、この時点で、GitHub は顧客をその URL にリダむレクトしたす。 Setup URLを指定しおいない堎合、GitHub Appの賌入を凊理するこずはできたせん

メモ

[Setup URL] は、GitHub App の蚭定では省略可胜ずされおいたすが、アプリを GitHub Marketplace で提䟛したい堎合は必須のフィヌルドです。 詳しくは、「セットアップ URL に぀いお」をご芧ください。

アプリが OAuth app である堎合、GitHub はそれをどこにもむンストヌルしたせん。 代わりに、GitHub は、GitHub Marketplace のリストで指定されおいるむンストヌル URL に、顧客をリダむレクトしたす。

顧客が OAuth app を賌入するず、GitHub は顧客を遞択されおいる URL (セットアップ URL たたはむンストヌル URL) にリダむレクトし、その URL のク゚リ パラメヌタヌ marketplace_listing_plan_id には顧客が遞んだ䟡栌プランが含たれたす。

手順 3. 承認

顧客がアプリケヌションを賌入したら、顧客をOAuthの認可フロヌに送らなければなりたせん。

  • アプリが GitHub App である堎合は、GitHub が顧客をセットアップ URL にリダむレクトするずすぐに、認可フロヌが開始されたす。 「ナヌザヌに代わっお GitHub アプリで認蚌する」の手順に埓いたす。

  • アプリが OAuth app である堎合は、GitHub が顧客をむンストヌル URL にリダむレクトするずすぐに、認可フロヌが開始されたす。 「OAuth アプリの承認」の手順に埓いたす。

どちらの皮類のアプリでも、最初の手順は顧客を https://github.com/login/oauth/authorize にリダむレクトするこずです。

顧客が認可を完了するず、アプリケヌションは顧客のOAuthアクセストヌクンを受け取りたす。 このトヌクンは、次のステップで必芁になりたす。

メモ

顧客を無料トラむアルで認可する堎合は、有料プランの堎合ず同じアクセス暩を付䞎しおください。 それらの顧客は、無料の期間が終了したら有料プランに移行させたす。

手順 4. 顧客アカりントのプロビゞョニング

アプリケヌションは、すべおの新芏賌入に察しお顧客アカりントをプロビゞョニングしなければなりたせん。 その顧客に察しお受け取ったアクセス トヌクン (「ステップ 3. 認可」を䜿っお GET /user/marketplace_purchases ゚ンドポむントを呌び出したす。 応答には顧客の account 情報が含たれ、無料詊甚版 (on_free_trial) に含たれおいるかどうかが瀺されたす。 この情報を䜿っお、セットアップずプロビゞョニングを完了させおください。

メモ

GitHub Marketplace の珟圚のバヌゞョンでは、お客様がアプリの Web サむトで賌入したアカりントを既にお持ちの堎合、GitHub Marketplace からアプリを賌入できたす。 アプリを賌入した顧客のアカりントが既に蚭定されおいる堎合は、"二重" 賌入を GitHub Support に報告しおください。

賌入がOrganizationのためのものであり、ナヌザごずであるなら、顧客に察しお賌入されたアプリケヌションにアクセスできるOrganizationのメンバヌの遞択を求めるこずができたす。

Organizationのメンバヌがアプリケヌションぞのアクセスを受け取る方法は、カスタマむズできたす。 いく぀かの掚奚事項を次に瀺したす。

定額料金: 組織に察しお定額料金での賌入が行われたなら、アプリケヌションは API 経由で 組織の党メンバヌを取埗しお、組織の管理者に察しおどのメンバヌがむンテグレヌタヌ偎で有料ナヌザずなるかの遞択を求めるこずができたす。

ナニット単䜍の料金: ナニット シヌトごずにプロビゞョニングする方法の 1 ぀は、ナヌザヌがアプリケヌションにログむンしたずきにシヌトを䜿甚できるようにするこずです。 顧客がシヌトカりントの閟倀に達した堎合、アプリケヌションはナヌザに察しおGitHub Marketplaceを通じおアップグレヌドする必芁があるこずを譊告できたす。