クーポン管理と取り消し機能

発行したクーポンの管理方法と、取り消し・ポイント返還の仕組み

クーポン管理取り消し返還運用
読了時間: 9分

この記事について

誤ってポイントを変換してしまった場合や、注文がキャンセルになった場合に、クーポンを無効化してポイントを戻す必要があります。クーポンの管理機能と取り消しの仕組みを解説します。

クーポン管理の全体像

管理が必要なシーン

顧客が間違えて変換
必要な対応クーポン取り消し、ポイント返還
注文キャンセル(未使用)
必要な対応クーポン取り消し、ポイント返還
注文キャンセル(使用済み)
必要な対応ポイント返還のみ(クーポンは使用済み)
不正利用の疑い
必要な対応クーポン無効化、調査
期限切れ確認
必要な対応一覧表示、リマインダー送信

管理者が見れる情報

管理画面の機能: 検索(顧客ID/クーポンコード)、フィルター(すべて/未使用/使用済み)

70934-AB12CD
顧客山田太郎
金額¥500
状態未使用
操作[取消]
70934-XY34ZW
顧客山田太郎
金額¥1000
状態使用済
操作-
12345-CD56EF
顧客鈴木花子
金額¥300
状態期限切
操作-

取り消し機能

取り消しフローの全体像

取り消し対象選択

管理者が取り消し対象のクーポンを選択

状態確認

クーポンが未使用であることを確認(使用済みは取り消し不可)

Shopifyで無効化

Shopify Admin APIでクーポンを削除/無効化

POSでポイント返還

POS APIで減算したポイントを戻す

メタフィールド更新

顧客のクーポン情報をステータス更新

顧客通知

取り消し完了とポイント返還をメール通知

詳細フロー図

取り消し処理の詳細
管理者が取り消しを実行

管理画面から対象クーポンを選択

状態チェック

未使用 → 続行 / 使用済み → エラー「すでに使用されています」

Shopifyでクーポン無効化

DELETE /admin/discount_codes/[id] → 以降、このコードは使用不可に

POSにポイントを戻す

POST /customers/[id]/points/add → 減算した分を加算して残高を復元

メタフィールド更新

status: "active" → "cancelled", cancelled_at を記録

顧客にメール通知

「クーポンが取り消されました」「500ポイントが返還されました」

処理完了のログ記録

全ての操作を監査用に記録

取り消しの条件

取り消し可能な条件

未使用・有効期限内
取り消し可能
理由まだ使われていない
使用済み
取り消し不可
理由すでに割引が適用されている
期限切れ
取り消し不可
理由すでに無効化されている
すでに取り消し済み
取り消し不可
理由二重処理の防止

使用済みクーポンの扱い

シナリオ: 注文がキャンセルになった

注文時
状況クーポン使用 → Shopify側で「使用済み」、500円割引が適用
対応この時点で取り消しは不可
注文キャンセル時
状況クーポン取り消し → できない(使用済み)
対応ポイント返還 → 別途手動で対応

対応方法:

  • 管理者がPOSでポイントを手動付与
  • 付与理由: 「注文キャンセルによる返還」
  • 履歴に記録

補足: 自動化も可能だが、不正防止のため注文キャンセル時のポイント返還は手動確認を推奨

ポイント返還の仕組み

返還処理の詳細

取り消し時の情報: クーポンコード: 70934-AB12CD-500, 使用ポイント: 500pt, 顧客ID: 12345

エンドポイント
POST /customers/12345/points/add
amount
500
reason
クーポン取り消しによる返還
reference
CANCEL-70934-AB12CD-500
変換前残高
ポイント1250pt
変換後残高
ポイント750pt
返還後残高
ポイント1250pt ← 元に戻る

返還の追跡性

顧客12345のポイント履歴:

1/15 10:00
増減-500pt
理由クーポン変換(AB12CD)
1/20 15:00
増減+500pt
理由取り消し返還(AB12CD) ← 紐付け可能

ポイント: 参照コードで変換と返還を紐付け可能、監査時に整合性を確認できる

顧客への通知

取り消し通知メールの内容

件名: クーポンが取り消されました

宛先
詳細山田 太郎 様
取り消しクーポンコード
詳細70934-AB12CD-500
金額
詳細500円引き
発行日
詳細2024年1月15日
返還ポイント
詳細500pt
現在の残高
詳細1,250pt

フッター: ご不明な点がございましたら、お気軽にお問い合わせください。

運用上の注意点

取り消し権限の管理

一般スタッフ
権限閲覧のみ
理由誤操作防止
店長
権限取り消し可能
理由店舗対応で必要
EC管理者
権限取り消し可能
理由オンライン対応で必要
システム管理者
権限すべて
理由緊急対応用

取り消し理由の記録

取り消し時に入力する項目:

取り消し理由
内容顧客からの依頼 / 注文キャンセル / 誤発行の訂正 / その他
必須必須
詳細メモ
内容自由記述
必須任意
担当者名
内容自動記録
必須自動

記録例: cancelled_by: "山田花子", cancelled_at: "2024-01-20T15:00:00Z", reason: "顧客からの依頼", note: "間違えて変換したとのこと"

この仕組みがもたらす効果

運営側にとって

  • 誤操作やキャンセルに柔軟に対応可能
  • 全ての操作が記録され監査に対応
  • 権限管理で不正を防止

顧客にとって

  • 間違えても取り消しが可能で安心
  • ポイントが確実に返還される
  • 通知でステータスを把握できる

関連記事