支払いを理解する
顧客は、アプリケーションの購入時に月次あるいは年次の支払いサイクルを選択できます。 顧客が行う支払いサイクルとプランの選択に対するすべての変更は、marketplace_purchase
イベントを発生させます。 marketplace_purchase
webhookのペイロードを参照すれば、顧客がどの支払いサイクルを選択したのか、そして次の支払日がいつ始まるのか(effective_date
)を知ることができます。 webhookのペイロードに関する情報については、「GitHub Marketplace APIのwebhookイベント」を参照してください。
アプリケーションのUIにおける支払いサービスの提供
アプリケーションのWebサイトからは、顧客が以下のアクションを行えなければなりません。
- 顧客は、個人とOrganizationのアカウントで別々にGitHub Marketplaceのプランを変更したり、キャンセルしたりできなければなりません。
- GitHub Marketplaceから購入した有料プランをキャンセルした顧客は、そのアプリケーションに無料プランがあれば自動的にダウングレードされなければなりません。 顧客がGitHub Marketplaceのサブスクリプションをキャンセルした場合、GitHubは自動的にアプリケーションをアンインストールしないので、顧客は無料の機能を使い続けられることが期待できます。 顧客は以前のプランを再度有効にできるようにすることが強く推奨されます。
- アップグレードURLを
https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
という形式で提供する場合、顧客がアプリケーションのユーザインターフェースからアップグレードできるようにするべきです。 - シート(ユニット単位の価格プラン)もしくは無制限のコラボレーターを提供するプランを購入した場合、どのユーザがアプリケーションにアクセスできるかを、顧客がアプリケーションのWebサイトから変更できるようにするべきです。
- 以下の変更は、顧客が自分のアカウントで、アプリケーションのWebサイトの支払い、プロフィール、もしくはアカウント設定のセクションにおいてすぐに見ることができるようになっているべきです。
- 現在のプランと価格。
- 購入された新しいプラン。
- アップグレード、ダウングレード、キャンセル、無料トライアルの残り日数。
- 支払いサイクルの変更(月または年単位)。
- 定額及びユニット単位のプランの利用状況と残りのリソース。 たとえば、価格プランがユニット単位であれば、アプリケーションのサイトは使用されたユニットと使用可能なユニットを表示すべきです。
アップグレード、ダウングレード、キャンセルのための支払いサービス
明確で一貫性のある支払いプロセスを保つために、アップグレード、ダウングレード、キャンセルについて以下のガイドラインに従ってください。 GitHub Marketplaceの購入イベントに関する詳細な指示については、「アプリケーションでのGitHub Marketplace APIの利用」を参照してください。
marketplace_purchase
webhookのeffective_date
キーを使えば、プランの変更がいつ生じるのかを確認し、定期的にプランのアカウントのリストを同期できます。
アップグレード
顧客が価格プランをアップグレードしたり、月次から年次へ支払いサイクルを変更したりした場合、その変更をすぐに有効にしなければなりません。 新しいプランに対して日割引を適用し、支払いサイクルを変更しなければなりません。
顧客がプランをアップグレードし、支払いに失敗した場合、GitHubはその顧客のGitHub Marketplaceサブスクリプションを以前の状態に戻します。 また、GitHubはその顧客に対して失敗を知らせ、購入を再度試みることができるよう、メールを送信します。 あなたは、以前のプランに戻すようリクエストするchanged
アクション付きのwebhookを受け取ります。
アプリケーションでのアップグレード及びダウングレードワークフローの構築に関する情報については、「プラン変更の処理」を参照してください。
ダウングレードとキャンセル
ダウングレードは、顧客がFreeプランから有料プランに移行し、現在のプランよりも低コストなプランを選択するか、支払いサイクルを年次から月次に変更した場合に生じます。 ダウングレードもしくはキャンセルが生じた場合、返金は必要ありません。 その代わりに、現在のプランは現在の支払いサイクルの最終日まで有効です。 顧客の次の支払いサイクルの開始時点で、新しいプランが有効になると、marketplace_purchase
イベントが送信されます。
顧客がプランをキャンセルした場合、以下を行わなければなりません。
-
Freeプランがある場合には、自動的にFreeプランにダウングレードします。
顧客がGitHub Marketplaceのサブスクリプションをキャンセルした場合、GitHubは自動的にアプリケーションをアンインストールしないので、顧客は無料の機能を使い続けられることが期待できます。
-
顧客が後でプランを継続したくなった場合には、GitHubを通じてプランをアップグレードできるようにします。
アプリケーションでのキャンセルのワークフローの構築に関する情報については、「プランのキャンセルの処理」を参照してください。