第26章 Billing

開発者アカウントがいずれかの有料サービスにサブスクライブしている場合には、請求プロセスによりそのアカウントに対して請求書が作成されます。設定された支払いゲートウェイを使用して、請求書に対する課金が行われます。

26.1. 請求書の一覧表示

Audience > Billing > Earning by month セクションに、期限を迎えた請求書および受領済みの支払いの概要が表示されます。その月に発行した請求書のステータスごとに、すべての請求書の合計値が計算されます。

Total
キャンセル分を除くすべての請求書
In process
未確定、確定済み、および支払い待ちの請求書
Overdue
回収不能および課金に失敗した請求書
Paid
支払い済みの請求書

特定の月をクリックすると、その月の請求書をすべて一覧表示することができます。

Audience > Billing > Invoices の順に移動して、請求書のリストを表示することもできます。ここでは、ID (平易な ID)、アカウント名、月、およびステータスで請求書を絞り込むことができます。

特定開発者アカウントの請求書は、アカウントの詳細ページ (Audience > Accounts > Listing > [selected account]) に表示されるパンくずリストの X Invoices から表示することもできます。ここで、X はそのアカウントの請求書数です。

26.2. 請求書ビュー

請求書リストで請求書の平易な ID をクリックすると、その請求書の詳細が表示されます。

26.2.1. 請求書の詳細

タイトルには、請求書の月および年、ならびに請求書が手動または自動請求プロセスで作成されたかが表示されます (例: Invoice for February 2018 (manually created))。

その下の Details ブロックには、請求書の平易な ID、請求書のステータス、請求書の確定/発行日、ならびに支払い期限および支払い日が表示されます。PDF ファイルがすでに生成されている場合には、PDF ファイルをダウンロードするためのリンクも表示されます。

Issued by および Issued to ブロックには、それぞれ API プロバイダーおよび開発者アカウントの名前および住所が表示されます。

その下は 費用項目 が含まれるブロックで、計算された VAT/消費税、合計費用、および「Text to show if VAT/Sales Tax is 0%」のテキスト (設定されている場合) が表示されます。

請求書の Transactions ブロックには、支払いのステータス、そのタイムスタンプ、参照番号、支払いゲートウェイからのメッセージ、および金額など、クレジットカードによる支払いの試みがすべてリストとして表示されます。参照番号を使用して、支払いゲートウェイの管理コンソールで支払いを探すことができます。

26.2.2. 請求書の編集

請求書が未確定または確定済みのステータスの場合には、請求書の詳細の一部を編集することができます。

請求書ビューの右上隅にある Edit のリンクをクリックすると、平易な ID および請求期間を変更することができます。

請求書の費用項目を追加および削除することもできます (合計、VAT/消費税、VAT/消費税込合計などの計算された費用項目を除く)。新たな費用項目を追加するには、Add をクリックして Name、Quantity (費用には影響を与えない)、Description、および Cost を入力します。

請求書ビュー最下部にあるリンクからは、請求書に対するアクションを実行することができます。請求書の現在のステータスに応じて、異なるアクションを実行することができます (例: PDF ファイルの生成、請求書の発行、請求書のキャンセル、PDF ファイルの再生成、課金、支払い済みの識別)。これらのアクション (PDF 関連を除く) により、請求書のステータスが変わります。

26.3. 請求書のステータス

請求書のステータスは、以下のいずれかです。

Open
請求書は作成されたが、自動計算はまだ完了していない。
Finalized
現在の請求期間の課金項目がすべて請求書に反映されている。
Pending
請求書は開発者に発行され、支払い待ちである。
Unpaid
請求額に対する課金に失敗したが、自動リトライ待ちである。
Paid
請求額に対する課金が正常に行われている。
Failed
請求額に対する課金に失敗し、これ以上自動リトライは行われない。
Cancelled
管理者によってキャンセルされている。

26.4. 自動請求プロセス

3scale では、請求プロセスは毎日実施されます。請求書を生成し、請求フローに従ってステータスを変更し、設定された支払いゲートウェイを使用して課金処理を実施します。

前払いモードと後払いモードでは、請求フローにわずかな違いがあります。3scale における請求は暦月に基づいているため、月の初日に特別なイベントが発生します。

26.4.1. 各月の初日

後払い

  • 月の変動費を請求する (費用は未確定請求書の費用項目に含まれます)。
  • 月の未確定請求書を確定する。
  • 月の固定費を請求する (当月用に新たな請求書を Open のステータスで作成します)。

前払い

  • 固定費を請求する ( 月)。
  • 変動費を請求する ( 月)。

月の初めに確定した請求書に関する通知が API 管理者に送信されるので、管理者は請求書を確認して必要な調整を行うことができます。

上記の処理に加えて、日々行われるすべての操作も、月の初日に発生します。

26.4.2. 毎日

  • トライアル期間が終了した契約およびまだ請求されていない新規契約を請求する (当月用に新たな請求書を Open のステータスで作成します)。
  • (前払い モードのみ) すべての未確定請求書を確定する (ステータスが Finalized に変わります)。
  • 請求書を発行する (ステータスが Pending に変わります)。

    • 通常、請求書は確定してから 2 - 3 日後に発行されます。請求書の「Issued On」の日付はその日に設定され、「Due On」の日付 (請求書に対する課金が行われる日) は Issued On の 2 日後に設定されます。
    • 請求書が開発者に発行されると、開発者はメール通知を受け取り、発行された請求書をデベロッパーポータルで確認することができます。
  • 請求書に対する課金を行う。

    • Due On の日付がその日またはそれ以前で、ステータスが Unpaid および Pending の請求書に対する課金が行われます。
    • 支払いが完了しなかった場合には、請求書のステータスは Unpaid に変わります。3 日後に課金がリトライされます。リトライに 3 回失敗すると、請求書のステータスは Failed に変わり、それ以上課金はリトライされなくなります。
  • クレジットカードの有効期限切れに関する通知を行う。

    • 間もなくクレジットカードの有効期限が切れる開発者アカウントに、メール通知が送信されます。

26.4.3. 自動および手動の請求書生成

自動請求プロセスによって生成された請求書のヘッダーには、(automatically created) のラベルが付きます。たとえば、Invoice for January 2019 (automatically created) というラベルが付きます。

手動で生成した請求書は、請求書の詳細ページで (manually created) と識別されます。

自動請求プロセスでは、当月 open のステータスにある既存の請求書を使用して、費用項目を追加する場合があります。ただし、その対象となるのは自動的に作成された請求書だけです。手動で作成した請求書は、自動請求プロセスにより更新されることはありません。

26.4.4. 期中のアップグレード

アプリケーション (またはアカウント/サービスサブスクリプション) が月の途中でアップグレードされた場合には、月額費用は残り日数に応じて日割り計算されます。アプリケーションプランで設定された制限はあん分されません。

アプリケーションが無料プランから有料プランにアップグレードされた場合には、次回の請求時に、日割り計算された月額費用を含む新しい請求書が生成されます。

アプリケーションが有料プランからより高額な有料プランにアップグレードされた場合には、さまざまな要素を加味して請求書が発行されます。

  • 請求のモード: 前払い後払い
  • いつプランが変更されたか

26.4.4.1. 前払い請求モード

  1. アプリケーションプランが 請求日 (請求日は 8am UTC に始まります) に 変更された場合には (つまり、アプリケーションプランに対する請求がまだ行われていない)、古いプランの固定費が請求書に記載され「払い戻し」の費用項目でディスカウントされます。新しいプランの固定費も請求書に追加されます。

    例: 顧客が月の初日にプラン A ($200) にサインアップし、同じ日に プラン B ($300) にアップグレードした。この場合には、以下の費用項目が含まれる 1 通の請求書が生成されます。

    説明費用

    固定費 (「プラン A」)

    200

    払い戻し (「プラン A」)

    -200

    アプリケーションのアップグレード (「プラン A」から「プラン B」へ)

    300

    Total

    300

    顧客が月の途中でサインアップした場合には、固定費の 200 および 払い戻しの 200 は日割り計算される点に注意してください。

  2. アプリケーションの 請求書がすでに発行された後に アプリケーションプランが変更された場合。

    • アップグレード の場合には、開発者には 2 通の請求書が発行されます。1 つは当初請求用で、もう 1 つはアップグレード用です。

      例: 顧客が月の初日にプラン A ($200) にサインアップした後に、月の途中でプラン B ($300) にアップグレードした。この場合には、以下のような請求書が生成されます。

      説明費用

      固定費 (「プラン A」)

      200

      Total

      200

      説明費用

      払い戻し (「プラン A」)

      -100

      アプリケーションのアップグレード (「プラン A」から「プラン B」へ)

      150

      Total

      50

      請求期間の途中でアップグレードが行われたので、2 通目の請求書では、払い戻された費用 ($100) および新たな費用 ($150) は日割り計算されます。

    • アプリケーションの ダウングレード (より低額なプランへの変更) に伴う払い戻しは、現在サポートされていません。

26.4.4.2. 後払い請求モード

後払い請求モードでは、払い戻し および アプリケーションのアップグレード に関する費用項目が含まれる 1 通の請求書が発行されます。

重要: この動作は、以下の変更と共に 2018 年 4 月 20 日 に導入されました。

  • アプリケーションが作成と同じ日にアップグレードされた場合に、当初請求額 (元のアプリケーションプラン用) が請求書に追加されない、というバグが修正されました。
  • 従来は、アプリケーションのアップグレード時には、新旧プランの差額に関する 1 つの費用項目しか追加されませんでした。たとえば、上記 前払い請求モード セクションで説明したシナリオ 2 では ($200 のプラン A から $300 のプラン B へのアップグレード)、2 番目に生成される請求書は以下のようになりました。
説明費用

アプリケーションのアップグレード (「プラン A」から「プラン B」へ)

50

Total

50

ここで、$50 は月の残りを考慮して日割り計算した新旧プランの差額です ($150 - $100)。

2018 年 4 月 20 日 以降は、合計費用は以前と同じままですが、請求書の計算がより明確に反映され、払い戻しと課金が別々に追加されるようになりました。

26.5. アカウントごとの請求/課金の有効化/無効化

自動請求プロセスでは、有料サービスにサブスクライブしているすべての開発者アカウントの請求書が生成されます。

請求はグローバルに有効または無効にすることができます。請求についての詳細は、「請求設定の定義」を参照してください。ただし、開発者アカウントごとに、請求および課金の両方を有効または無効にすることもできます。これらの操作を行うには、Audience > Accounts > Listing の順に移動し、Group/Org. 列で変更を行う開発者アカウントをクリックし、続いて該当するボタン (Enable/Disable) をクリックします。

  • Monthly billing is enabled/disabled
  • Monthly charging is enabled/disabled

課金を無効にして請求を有効にした場合には、開発者には請求書は発行されますが、課金は行われません。これは、課金を別個に処理する場合 (送金など) に便利です。

両方を無効にすると、開発者には請求書は発行されず、課金も行われません。

請求を無効にして課金を有効にした場合には、開発者には新たな請求書は発行されませんが、支払いの済んでいない請求書 (Pending および Failed) は引き続き課金されます。

この Billing Status ブロックで、アカウントでクレジットカード情報が設定されているかどうかを確認することもできます。クレジットカード情報が設定されている場合には、カードの有効期限の月および年が表示されます。クレジットカード情報の有無により、サインアップおよびプラン変更時のデベロッパーポータルのフローが異なる場合があります (詳細については、「クレジットカードに関する作業フロー」を参照してください)。

26.6. トライアル期間が設定されたプラン

有料プランにトライアル期間を設定し (日数単位)、指定した日数だけ課金を遅らせることができます。

アプリケーションのトライアル期間のステータスは、アプリケーションリスト ([Your_product_name] > Applications > Listing) の State 列 (「live – trial expires in N days」と表示) およびアプリケーションの詳細ページの Trial days left フイールドに表示されます。

トライアル期間中、アプリケーションではすべての機能およびプランで定義した使用制限を使用することができます (制約はありません)。

一度トライアル期間を設定したら、トライアルをキャンセルしたり期間を延長したりすることはできません。別のプランにアップグレードしても、トライアル日数のカウンターはリセットされません。

トライアル期間が終了する 10 日前に、間もなくトライアル期間が終了することを知らせるメール通知が開発者アカウントに送信されます。この電子メールのテンプレートは、Audience > Messages > Email Templates の順に移動し、「Application trial period expired for buyer」(アプリケーションプラン用) および「Service trial period expired for buyer」(トライアル期間が設定されたサービスプラン用) で設定することができます。開発者は、現在のプランをそのまま使用するか、別のプランに切り替えるか、またはサブスクリプションをキャンセルする場合には API プロバイダーに連絡する必要があります。

トライアル期間が終了すると、次回自動請求が実行される時に (「自動請求プロセス」を参照) 開発者に課金が行われます。この課金は、現在アプリケーションまたはサービスに設定されているプランに規定された費用に基づきます。トライアル期間が終了した後もアプリケーションがブロックまたは一時中断 されることはなく、引き続き機能する点に注意してください。

技術的には無料プランにトライアル期間を設定することはできますが、機能の有用性が失われるため推奨されません。

26.7. VAT レート/消費税

付加価値税 (VAT) は、欧州連合内で販売される商品およびサービスに適用される税です。他の国には、消費税などの類似の税があります。API サービスの使用に対して顧客に課金する API プロバイダーは、既存の規則に準拠するために、通常は税金を請求してそれを請求書に反映する必要があります。

3scale の請求では、設定により VAT を自動的に請求書に含めることができます。

26.7.1. VAT rate フィールドの設定

VAT レートは、請求書の合計費用に適用される数値です (パーセント単位)。VAT レートを設定するには、管理ポータルの Dashboard から以下の手順に従います。

  1. Audience > Accounts > Fields Definitions の順に移動します。
  2. Account セクションで Create をクリックします。
  3. [new field] のドロップダウンリストで vat_rate を選択します。
  4. Label の値を設定します。
  5. チェックボックスを設定して、開発者に対してフィールドを Required (必須) とするか、Read only (読み取り専用) とするか、または Hidden (非表示) とするかを定義します。

    注記:「Choices」フィールドに入力することができるのは文字列だけです。したがって、このフィールドを使用することはできません。

  6. Create をクリックします。

26.7.2. VAT code フィールドの設定

VAT コードは、VAT の識別番号です。VAT コードを設定するには、管理ポータルの Dashboard から以下の手順に従います。

  1. Audience > Accounts > Fields Definitions の順に移動します。
  2. Account セクションで Create をクリックします。
  3. [new field] のドロップダウンリストで vat_code を選択します。
  4. Label の値を設定します。
  5. チェックボックスを設定して、開発者に対してフィールドを Required (必須) とするか、Read only (読み取り専用) とするか、または Hidden (非表示) とするかを定義します。
  6. Create をクリックします。

26.7.3. アカウントの VAT 値の設定

VAT code および VAT rate フィールドを追加したら、開発者アカウントの Edit フォームで対応する値を設定することができます。フィールド定義で選択したチェックボックスに応じて、開発者はデベロッパーポータルでフィールドを表示したり編集したりすることもできます。

VAT コードには任意の文字列を使用することができます。

VAT レートは数値でなければなりません。整数または小数のいずれかを設定可能で (例: 21、23.5)、VAT として含まれる費用のパーセンテージを表します。

26.7.4. VAT が含まれる請求書

ゼロではない VAT レートが設定された開発者アカウントに対して請求書が生成されると、請求書には以下の費用項目が含まれます。

_Total cost (without <VAT rate>)_ +
_<VAT rate> Amount_ +
_Total cost (<VAT rate> <VAT rate value>% included)_

<VAT rate> は、VAT rate フィールドで設定した Label の値に置き換えられます。<VAT rate value> は、請求書が発行されるアカウントに設定した値です。

VAT コードは、VAT コードのフィールド定義で Label として指定したラベルと共に、請求書の PDF バージョンに追加されます。値は、開発者アカウントの詳細で設定された値に対応します。

フィールド vat_rate および vat_code は、3scale Account Management API からでも読み取りおよび書き込みが可能です。

26.8. デベロッパーポータルビュー

開発者は、デベロッパーポータルでクレジットカード情報を管理し、請求書を表示することができます。

開発者がデベロッパーポータルで請求に関する要素を確認できるためには、Finance スイッチ (Audience > Developer Portal > Feature Visibility) が Visible のステータスでなければなりません。

ログインしているユーザーは、Settings > Credit Card Details でクレジットカード情報を更新することができます。設定されている支払いゲートウェイによってフォームが異なる場合や、初めに請求先住所を入力しなければならない場合があります。

注記

クレジットカード情報は、3scale のデータベースには保管されません。これらの情報は、支払いゲートウェイによって管理されます。3scale データベースには、支払いゲートウェイから提供されたクレジットカード番号の最後の 4 桁、有効期限、および参照のみが保存されます。

デベロッパーポータルでは、開発者は 1 つのクレジットカードしか使用することができません。

クレジットカード情報をデベロッパーポータルから削除することはできません。開発者アカウントのユーザーがクレジットカード情報の削除を希望する場合には、API プロバイダーにクレジットカード情報をシステムから削除するよう要求する必要があります。

請求書を表示するには、Settings > Invoices の順に移動します。そこで各請求書の詳細を表示するか、請求書の PDF ファイルをダウンロードすることができます。

26.9. クレジットカードに関する作業フロー

26.9.1. 有料プランへのサインアップ

開発者が有料プランにサインアップすると、アプリケーションのクレデンシャルを表示するために、クレジットカード情報の入力が要求されます。開発者が初めてデベロッパーポータルにログインすると、Credit Card Details のページにリダイレクトされます。開発者アカウントの他のページにアクセスを試みても、再び Credit Card Details のページにリダイレクトされます。

Liquid タグを使用してすべてのメニュー項目を非表示にすることができます。ただし、該当するデベロッパーポータルテンプレートをカスタマイズして、Credit Card Details タブを除外することができます。

current_account Liquid drop はメソッド requires_credit_card_now? を公開します。このメソッドは、クレジットカード情報が登録されていないが必要な場合 (管理ポータルで Billing が設定されている場合のみ) には true を返し、それ以外の場合には false を返します。

submenu および users_menu パートのメニュー項目およびその他のユーザーインターフェース要素を、非表示にすることができます。そのためには、それらを以下の条件でラップします。

{% unless current_account.requires_credit_card_now? %}
...
{%  endunless %}

26.9.2. 無料プランから有料プランへのアップグレード

既存アプリケーションのプラン変更については、複数のオプションを設定することができます (例: 開発者が直接プランを変更する、開発者がプランの変更を要求する等)。アプリケーションを無料プランから有料プランにアップグレードする場合には、アップグレードの前に開発者がクレジットカード情報を入力していることが重要です。カード情報の入力方法は、[Your_product_name] > Integration > SettingsAPPLICATION PLAN CHANGING セクションで、以下のオプションにより設定することができます。

開発者がクレジットカードを所有している場合には、直接プランを変更します。それ以外の場合には、
・プラン変更の要求だけをする
・有料プラン用にクレジットカード情報の入力を要求する

開発者が変更を要求することだけを許可する場合には、最初のオプションを選択してください。この場合、クレジットカード情報が入力された後に手動でアップグレードを実行します。

有料プランにアップグレードするにはクレジットカード情報を入力する必要があることを開発者に通知する場合には、2 番目のオプションを選択してください。プラン変更のウィジェットで開発者に「You cannot change plan until you enter your Credit Card details」というメッセージが表示され、クレジットカード情報のフォームがポイントされます。

26.10. 「請求先住所」フィールド

開発者がデベロッパーポータルの Credit Card Details のページで請求先住所を入力する際、この住所は「法人」アカウント住所とは別に保管されます。

デフォルトでは、請求書の Issued to フィールドには法人住所が表示されます。ただし、開発者が法人住所を設定しておらず、請求先住所しか設定していない場合には、請求書には後者が使用されます。この場合、組織名は住所の一部と見なされます。

デフォルトでは、請求先住所は管理ポータルまたはプロダクト API では表示されません。ただし、以下の手順により追加することができます。

  1. Audience > Accounts > Fields Definitions の順に移動します。
  2. Account ブロックで Create をクリックします。
  3. ドロップダウンリストから「billing_address」を選択し、ラベルを追加して Read only のチェックボックスを選択し、Create をクリックします。

これで、Account Management API および Webhook の Accounts の XML モデルに、<billing_address> フィールドが表示されるようになります。対応する請求先住所が、管理ポータルの Account および Edit account のページで読み取り専用として表示されます。

開発者は、デベロッパーポータルの Credit Card Details セクションで、請求先住所を変更することができます。管理者は管理ポータルで請求先住所を変更することはできませんが、以下のフィールドを使用して (「追加フィールド」として)、Account Management API の Account Edit エンドポイントにより変更することができます。

billing_address_name
billing_address_address1
billing_address_address2
billing_address_country
billing_address_city
billing_address_state
billing_address_zip
billing_address_phone