メインコンテンツへスキップ
クーポンは割引の内容を定義します。割引はパーセンテージ、または通貨ごとの固定額で指定し、サブスクリプションの何回分の請求期間に適用するかも決めます。クーポンはそれぞれ自身の code を持ち(作成時に指定するか、Pancake に生成させます)、購入者はチェックアウトでそれを入力できます。同じ割引に対してコードを追加で配布したい場合は、プロモーションコードを作成してください。クーポンと一緒に最大 20 個作成でき、後からいつでも追加できます。クーポンはチェックアウトセッションで ID(couponId)を指定して適用することもできます。クーポンの使用制限は有効期限と合計使用回数のみです。購入者の制限(購入者のメールアドレス、購入者ごとの回数、最低金額)はプロモーションコードに設定するため、クーポン自身のコードには制限がありません。 クーポンはストアに属し、1 つの環境にのみ存在します。test で作成したクーポンは prod には存在せず、その逆も同様です。

クーポンのステータス値

割引ルール

作成後に変更できるのは name のみです。割引内容を変えるには、新しいクーポンを作成し、古いクーポンを無効化してください。

コード形式

クーポンとプロモーションコードには同じルールが適用されます:

無効化

無効化は取り消せません。再有効化も削除もできません。クーポンを無効化すると、そのクーポンのプロモーションコードもすべて無効化され、それぞれのコードが解放されます。既存の注文には影響しません。サブスクリプションに適用済みの割引は、そのサブスクリプションの次回のプラン変更まで引き続き適用されます。

安全なリトライ

クーポンを作成するときは X-Idempotency-Key ヘッダー(SDK では idempotencyKey オプション)を送信し、リトライ時も同じキーを使ってください。キーなしでタイムアウト後にリトライしたとき 409 が返るのは、コード(code または promotionCodes[].code)を指定した場合だけです。最初のリクエストですでにクーポンが作成され、それらのコードが使用中になっているためです。コードを Pancake に生成させた場合、リトライするとクーポンがもう 1 つ作成されます。キーの要件はエラーを参照してください。

クーポンの取得

これらのエンドポイントは書き込み専用です。一覧と詳細は GraphQL で取得します。クーポンは coupons、couponsCount、coupon(id)、そのプロモーションコードは promotionCodes と promotionCodesCount を使用します。

エンドポイント

クーポンの作成

クーポンとそのコードを作成し、必要に応じてプロモーションコードも同時に作成します。

クーポンの更新

クーポン名を変更します。

クーポンの無効化

クーポンとそのすべてのプロモーションコードを完全に無効化します。