クーポン割引計算機
クーポンには率引きと定額引きがありますが、実際のお支払い額はすぐに分からないことがあります。この計算機は両方に対応し、元の価格、節約額、最終価格を小数点以下2桁で表示します。定額クーポンによる負の価格も防ぐため、お買い物の比較、キャンペーンの確認、決済テスト、ご購入前の予算作成にお役立ていただけます。
無料で実行
クーポン形式を選び、元の価格をご入力ください
まず、クーポン適用前の価格をご入力ください。通貨記号を付けず、0以上かつ小数点以下2桁以内の金額を指定します。たとえば15%引きならpercent、$10引きならfixedをお選びください。率引きは購入価格に応じて割引額が変わりますが、定額引きは対象となる購入から常に同じ金額を差し引くため、この区別が重要です。店舗がクーポン対象の小計に明示的に含めていない限り、税金、送料、会員クレジット、別のキャンペーンは計算に含めないでください。商品限定クーポンは、配送後の注文総額ではなく商品小計に適用します。正確な入力により、レシートやカート表示と比較しやすくなります。キャンペーンのテスト用に0も指定できますが、負数、不正な金額、未対応の種類は推測せずにエラーとして扱います。
率引きと定額引きの節約額をご確認ください
率引きクーポンでは、元の価格に割引率を掛け、節約額を四捨五入して1セント単位にします。そのため、$79.99の15%引きでは、元の金額から差し引く前にセント単位の節約額が確定します。割引率は小数点以下2桁まで入力でき、0から100の範囲で指定してください。定額クーポンでは、入力額そのものが希望する節約額なので、掛け算は行いません。入力額が元の価格を上回る場合、適用される節約額は元の価格までに制限され、最終価格は$0.00になります。これは通常の割引クーポンが現金や負の残高を生まず、対象価格だけを下げる動作に相当します。出力には指定したクーポン額と実際の節約額が残るため、$30の商品に対する$50のクーポンと、実際に使える$30を区別できます。
お買い物や自動確認に計算結果をご活用ください
savingsは対象となる元の価格から差し引かれた金額、final_priceはクーポン適用後に残る金額です。金額の結果はすべて小数点以下2桁で表示されるため、表示、保存、自動テストでの比較を簡単に行えます。計算には2進浮動小数点ではなく整数のセントを使用し、単純な小数計算で不正確な長い端数が生じる問題を避けています。この安定性は、ECの品質保証、家計管理、販促キャンペーンの確認、カスタマーサービスでの説明に有用です。結果は、1つの対象価格に1つのクーポンを直接適用した場合に限ります。併用順序、最低購入額、対象外商品、税金、送料、アカウントごとの有効性は判定しません。これらは販売店の規約に従います。実際の決済を確認する際は、対象小計をここで計算し、表示された節約額と比較して、差があれば店舗条件をご確認ください。API呼び出しは$0.002で、ブラウザーでも同じ決定論的計算をご利用いただけます。
活用例
複数のクーポンを比較
同じ対象価格で率引きと定額引きを計算し、どちらの節約額が大きいかをご確認いただけます。
店舗キャンペーンを事前確認
クーポンの告知や画像を公開する前に、想定される節約額と表示価格をご確認いただけます。
決済計算をテスト
EC品質検査で、率引きと定額引きの決定論的な期待値を作成できます。
よくある質問
どのクーポン形式に対応していますか?
率引きにはpercent、定額の値引きにはfixedをご指定ください。
最終価格が負になることはありますか?
ありません。定額の節約額は元の価格までに制限され、最低価格は$0.00です。
率引きの節約額はどのように丸めますか?
整数演算を使い、最も近い1セントへ四捨五入します。
税金や送料も含まれますか?
含まれません。販売店の条件で対象となる正確な価格または小計をご入力ください。
API計算の料金はいくらですか?
APIによる1回の計算は$0.002です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/coupon-savings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":"79.99","discount_type":"percent","discount_value":"15"}'const res = await fetch("https://api.kit.forhosting.com/life/coupon-savings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": "79.99",
"discount_type": "percent",
"discount_value": "15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/coupon-savings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": "79.99",
"discount_type": "percent",
"discount_value": "15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/coupon-savings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":"79.99","discount_type":"percent","discount_value":"15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":"79.99","discount_type":"percent","discount_value":"15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/coupon-savings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"price": "79.99",
"discount_type": "percent",
"discount_value": "15"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.coupon_savings",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |