billing について
Hostinger Billing API の利用方法をまとめたスキルです。サービスカタログの確認、支払い方法とサブスクリプションの管理、リソース別 API での注文を行う開発者向けに、API と請求手順を整理しています。
主な機能
- 01サービスカタログの閲覧と絞り込み
- 02支払い方法の一覧、既定設定、削除
- 03サブスクリプションの確認と自動更新の切り替え
- 04リソース別 API によるドメインと VPS の注文
- 05API エラーと価格の扱いに関するガイド
活用シーン
- 01選択肢の提示前にカタログ価格を確認
- 02API による支払い方法の管理
- 03サブスクリプションの確認と更新設定の変更
- 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 リファレンス
カタログ
| Method | Endpoint | Description |
|---|---|---|
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を使用します。
支払い方法
| Method | Endpoint | Description |
|---|---|---|
GET | /api/billing/v1/payment-methods | 支払い方法を一覧表示します |
POST | /api/billing/v1/payment-methods/{id} | デフォルトの支払い方法を設定します |
DELETE | /api/billing/v1/payment-methods/{id} | 支払い方法を削除します |
サブスクリプション
| Method | Endpoint | Description |
|---|---|---|
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 で注文のステータスを確認してください
- 別の支払い方法をお試しください