Wire Pay
ログイン
デモモード — 外部APIは呼び出さず、ダミーで決済を生成します。

管理画面マニュアルテストデータ

各機能の使い方と、加盟店へ送信する通知パラメータの仕様です。表示言語に合わせて切り替わります。

第 6 章 / 全 27 章

顧客管理と個人情報保護

顧客管理 は加盟店ごとの顧客マスタ(Customer)と保存されたカード情報(PaymentToken)を扱う画面です。あわせて、管理画面全体での 個人情報のマスク表示・解除の記録・保持期間による匿名化 の仕組みを説明します。

顧客マスタ

項目説明
ユーザーID加盟店側の顧客ID(取引の「ユーザーID」)。加盟店 × ユーザーID で 1 件
氏名 / メール / 電話取引作成時の値で自動作成・更新されます(電話は API / 加盟店側の登録用)
保存されたカード取引時のカード(ブランド・下 4 桁・有効期限・不正検知用ハッシュ)。カード番号そのものは保存しません
取引履歴顧客に紐づく取引(Payment.customerRef)
匿名化保持期間経過またはマスターの手動操作で個人情報を消去した状態
  • 取引は POST /api/payments / 決済リンク / 定期課金 / 公開 API のいずれで作られても、加盟店IDとユーザーIDから顧客に紐づきます
  • 既存の取引は seed 時(および npm run db:link-customers)の 冪等なバックフィル で顧客に紐づけます
  • 横断検索(Ctrl+K)は顧客(ユーザーID・氏名・メール)も対象です

マスク表示

管理画面(PSP 側)では個人情報を次の形で表示します。

種類表示
氏名姓のみ(山田 **)
メール先頭 2 文字 + ***@ドメイン(ta***@example.com)
電話下 4 桁のみ(***-****-5678)
接続元 IP第 4 オクテットをマスク(203.0.113.***)
  • 対象: 取引一覧 / 詳細、定期課金、未消込入金、メール送信ログ、横断検索、顧客一覧、操作ログの変更前後(保存時点でマスク)
  • マスク解除(admin / cs): 詳細画面の「マスク解除」で実値を表示します。1 回ごとに操作ログ pii.unmask(対象・項目)が記録されます
  • CSV 出力: 全体設定「CSV の個人情報」が「マスク」なら全ロールでマスク値、「フル」なら admin / accounting のみ実値を出力します
  • 加盟店管理画面 では自社の顧客データはマスクせずに表示します(加盟店自身のデータのため)

保持期間と匿名化

  • 全体設定の 個人情報の保持期間(か月、既定 24) を最終取引から過ぎた顧客は、日次 cron(/api/cron/anonymize、JST 4:00)が匿名化します: 氏名・メール・電話を消去、紐づく取引の氏名・メール・接続元 IP・カード識別情報を消去、保存されたカードトークンを削除。金額・ステータスなど帳簿情報は残ります
  • 顧客に紐づかない古い取引(加盟店やユーザーIDの無いもの)も同じ基準で個人情報を消去します
  • 実行結果は 匿名化バッチ(顧客管理 → 匿名化バッチタブ)と操作ログ pii.anonymize_batch、通知センター(pii.anonymized、admin)に記録されます
  • 操作ログの保持期間(年、既定 7) を過ぎた操作ログは同じ cron が削除し、audit_log.prune として記録します
  • 手動匿名化(admin): 顧客詳細の「匿名化する」から理由を入力して実行します。操作ログ pii.anonymize に理由が残ります。元に戻せません。匿名化された顧客が再び取引すると、新しいデータで保持期間が再開します

権限

操作ロール
顧客の閲覧(マスク)全員
マスク解除admin / cs
手動匿名化admin
保持期間・CSV 設定admin(全体設定)