mcpField
B
billing

billing

github.com/hostingerその他2656 回インストール19 週間前に更新
リポジトリ

billing について

Hostinger Billing API の利用方法をまとめたスキルです。サービスカタログの確認、支払い方法とサブスクリプションの管理、リソース別 API での注文を行う開発者向けに、API と請求手順を整理しています。

主な機能

  1. 01サービスカタログの閲覧と絞り込み
  2. 02支払い方法の一覧、既定設定、削除
  3. 03サブスクリプションの確認と自動更新の切り替え
  4. 04リソース別 API によるドメインと VPS の注文
  5. 05API エラーと価格の扱いに関するガイド

活用シーン

  1. 01選択肢の提示前にカタログ価格を確認
  2. 02API による支払い方法の管理
  3. 03サブスクリプションの確認と更新設定の変更
  4. 04リソース別 API によるドメインや VPS の注文

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hostinger/hostinger-agent-skills --skill billing

インストール後、Claude Code で/billingを入力して読み込まれたか確認します。

詳細

Hostinger Billing

Billing API では、Hostinger のサービスカタログの閲覧、支払い方法の管理、サブスクリプションの制御をプログラムから行えます。注文はリソース固有のエンドポイント(ドメインや VPS など)から行い、汎用の Billing 注文エンドポイントは使用しません。

目次

基本概念

カタログ

カタログには、利用可能な製品と価格が含まれています。価格はセント(整数)で表示されます。たとえば、1799 は $17.99 を意味します。注文を行う前にカタログを参照して、利用可能なサービスとその item_id の値を確認してください。

注文

注文は、カタログの item_id の値と支払い方法を指定し、リソース固有のエンドポイント(例:POST /api/domains/v1/portfolio、POST /api/vps/v1/virtual-machines)から行います。汎用の Billing 注文エンドポイントは廃止されました。API 経由で作成した注文は、デフォルトで自動更新が有効になります。一部の credit_card による支払いでは、追加の確認が必要になる場合があります。

支払い方法

支払い方法は、hPanel から追加する必要があります。API では、既存の支払い方法の一覧表示、デフォルトへの設定、削除を行えます。

サブスクリプション

サブスクリプションは、有効なサービスプランを表します。サブスクリプションの一覧表示や、自動更新の有効化・無効化を行えます。

一般的なパターン

カタログの閲覧と注文

CLI(curl):

# Get available catalog items
curl -X GET "https://developers.hostinger.com/api/billing/v1/catalog" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json"

# Filter catalog by category
curl -X GET "https://developers.hostinger.com/api/billing/v1/catalog?category=vps" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Python SDK:

from hostinger_api import Hostinger

client = Hostinger(api_token="YOUR_API_TOKEN")

# List catalog items
catalog = client.billing.catalog.get_catalog_item_list()
for item in catalog:
    print(f"{item.name}: {item.price / 100:.2f} USD")

TypeScript SDK:

import { Hostinger } from "hostinger-api-sdk";

const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });

const catalog = await client.billing.catalog.list();
for (const item of catalog) {
  console.log(`${item.name}: ${(item.price / 100).toFixed(2)} USD`);
}

PHP SDK:

use Hostinger\Api\HostingerApi;

$client = new HostingerApi('YOUR_API_TOKEN');

$catalog = $client->billing->catalog->list();
foreach ($catalog as $item) {
    echo $item->name . ': ' . number_format($item->price / 100, 2) . " USD\n";
}
支払い方法の管理
# List payment methods
curl -X GET "https://developers.hostinger.com/api/billing/v1/payment-methods" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Set default payment method
curl -X POST "https://developers.hostinger.com/api/billing/v1/payment-methods/517244" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Delete a payment method
curl -X DELETE "https://developers.hostinger.com/api/billing/v1/payment-methods/517244" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"
サブスクリプションの管理
# List all subscriptions
curl -X GET "https://developers.hostinger.com/api/billing/v1/subscriptions" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Disable auto-renewal for a subscription
curl -X DELETE "https://developers.hostinger.com/api/billing/v1/subscriptions/12345/auto-renewal/disable" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Enable auto-renewal for a subscription
curl -X PATCH "https://developers.hostinger.com/api/billing/v1/subscriptions/12345/auto-renewal/enable" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

API リファレンス

カタログ
MethodEndpointDescription
GET/api/billing/v1/catalogカタログ項目を取得します(category と name で絞り込み可能)
注文

削除済み: 汎用の POST /api/billing/v1/orders エンドポイントは、API から削除されました。代わりに、リソース固有のエンドポイントから注文してください。ドメインの場合は POST /api/domains/v1/portfolio、VPS の場合は POST /api/vps/v1/virtual-machines を使用します。

支払い方法
MethodEndpointDescription
GET/api/billing/v1/payment-methods支払い方法を一覧表示します
POST/api/billing/v1/payment-methods/{id}デフォルトの支払い方法を設定します
DELETE/api/billing/v1/payment-methods/{id}支払い方法を削除します
サブスクリプション
MethodEndpointDescription
GET/api/billing/v1/subscriptionsすべてのサブスクリプションを一覧表示します
DELETE/api/billing/v1/subscriptions/{id}/auto-renewal/disable自動更新を無効にします
PATCH/api/billing/v1/subscriptions/{id}/auto-renewal/enable自動更新を有効にします

ベストプラクティス

価格
  • ユーザーに表示する前に、必ずカタログから価格を取得してください。価格はセント単位です
  • 表示する際は 100 で割り、適切な形式に整えてください
注文
  • 汎用の /api/billing/v1/orders エンドポイントは API から削除されました
  • ドメインの購入には POST /api/domains/v1/portfolio を使用してください
  • VPS の購入には POST /api/vps/v1/virtual-machines を使用してください
  • 確認の遅延を避けるため、クレジットカード以外の支払い方法を推奨します
支払い方法
  • 新しい支払い方法は API ではなく、hPanel から追加する必要があります
  • 注文時に支払い方法が指定されていない場合は、デフォルトの支払い方法が自動的に使用されます
  • アカウントを整理しておくため、使用していない支払い方法を削除してください
サブスクリプション
  • 予期しないサービス中断を避けるため、サブスクリプションを監視してください
  • 解約する場合は、有効期限より十分前に自動更新を無効にしてください

トラブルシューティング

401 Unauthorized
  • API トークンが有効で、期限切れになっていないことを確認してください
  • トークンの権限が、所有ユーザーの権限と一致していることを確認してください
  • Authorization: Bearer <token> ヘッダーの形式を確認してください
422 Unprocessable Content
  • 注文リクエストの item_id が無効です。カタログと照合してください
  • payment_method_id が無効です。先に支払い方法を一覧表示してください
429 Too Many Requests
  • レート制限を超過しました。しばらく待ってから再試行してください
  • 違反を繰り返すと、IP が一時的にブロックされる場合があります
注文が処理されない場合
  • credit_card による支払いには、追加の確認が必要な場合があります
  • hPanel で注文のステータスを確認してください
  • 別の支払い方法をお試しください

参考資料

コメント