この記事について
誤ってポイントを変換してしまった場合や、注文がキャンセルになった場合に、クーポンを無効化してポイントを戻す必要があります。クーポンの管理機能と取り消しの仕組みを解説します。
クーポン管理の全体像
管理が必要なシーン
| シーン | 必要な対応 |
|---|---|
| 顧客が間違えて変換 | クーポン取り消し、ポイント返還 |
| 注文キャンセル(未使用) | クーポン取り消し、ポイント返還 |
| 注文キャンセル(使用済み) | ポイント返還のみ(クーポンは使用済み) |
| 不正利用の疑い | クーポン無効化、調査 |
| 期限切れ確認 | 一覧表示、リマインダー送信 |
管理者が見れる情報
管理画面の機能: 検索(顧客ID/クーポンコード)、フィルター(すべて/未使用/使用済み)
| コード | 顧客 | 金額 | 状態 | 操作 |
|---|---|---|---|---|
| 70934-AB12CD | 山田太郎 | ¥500 | 未使用 | [取消] |
| 70934-XY34ZW | 山田太郎 | ¥1000 | 使用済 | - |
| 12345-CD56EF | 鈴木花子 | ¥300 | 期限切 | - |
取り消し機能
取り消しフローの全体像
管理者が取り消し対象のクーポンを選択
クーポンが未使用であることを確認(使用済みは取り消し不可)
Shopify Admin APIでクーポンを削除/無効化
POS APIで減算したポイントを戻す
顧客のクーポン情報をステータス更新
取り消し完了とポイント返還をメール通知
詳細フロー図
管理画面から対象クーポンを選択
未使用 → 続行 / 使用済み → エラー「すでに使用されています」
DELETE /admin/discount_codes/[id] → 以降、このコードは使用不可に
POST /customers/[id]/points/add → 減算した分を加算して残高を復元
status: "active" → "cancelled", cancelled_at を記録
「クーポンが取り消されました」「500ポイントが返還されました」
全ての操作を監査用に記録
取り消しの条件
取り消し可能な条件
| 条件 | 取り消し | 理由 |
|---|---|---|
| 未使用・有効期限内 | 可能 | まだ使われていない |
| 使用済み | 不可 | すでに割引が適用されている |
| 期限切れ | 不可 | すでに無効化されている |
| すでに取り消し済み | 不可 | 二重処理の防止 |
使用済みクーポンの扱い
シナリオ: 注文がキャンセルになった
| タイミング | 状況 | 対応 |
|---|---|---|
| 注文時 | クーポン使用 → Shopify側で「使用済み」、500円割引が適用 | この時点で取り消しは不可 |
| 注文キャンセル時 | クーポン取り消し → できない(使用済み) | ポイント返還 → 別途手動で対応 |
対応方法:
- 管理者がPOSでポイントを手動付与
- 付与理由: 「注文キャンセルによる返還」
- 履歴に記録
補足: 自動化も可能だが、不正防止のため注文キャンセル時のポイント返還は手動確認を推奨
ポイント返還の仕組み
返還処理の詳細
取り消し時の情報: クーポンコード: 70934-AB12CD-500, 使用ポイント: 500pt, 顧客ID: 12345
| POS API呼び出し項目 | 値 |
|---|---|
| エンドポイント | 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: "間違えて変換したとのこと"
この仕組みがもたらす効果
運営側にとって
- 誤操作やキャンセルに柔軟に対応可能
- 全ての操作が記録され監査に対応
- 権限管理で不正を防止
顧客にとって
- 間違えても取り消しが可能で安心
- ポイントが確実に返還される
- 通知でステータスを把握できる