代金引換(COD)の受け取り拒否対策:Shopifyで悪質注文を決済前に防ぐ
代金引換(COD)は日本のECでは外せない支払い方ですが、リスクのすべてをストアが負う形式でもあります。受け取り拒否はその最たるものです。商品は手元に戻ってきても、往復の送料と代金引換手数料、梱包と検品の手間は戻りません。一度や二度なら配送コストの誤差の範囲で吸収できますが、それが繰り返されるとうまみのある攻撃になります。支払わずにストアに損失だけを積ませられるからです。大型モールには与信や購入履歴によるフィルタがありますが、個人ストアにはそれがないぶん狙われやすい。その前提で対策を考えておくべきです。
この記事では、代金引換の受け取り拒否対策を、チェックアウトで悪質注文を止めるアプリ「Validify Checkout Guard(バリディファイ・チェックアウトガード)」をつくった本人が整理します。不正注文対策の全体像は、不正注文対策ガイドで別途書いています。
受け取り拒否がストアに残すもの
まず、被害の内訳を正直に並べます。
ひとつめは、往復の送料と手数料です。商品は戻っても、配送料は行きも帰りも発生します。代金引換手数料も加わるので、1件あたりの金額は軽く見えません。
ふたつめは、梱包・検品の手戻りです。戻ってきた商品は開封の有無を確認し、再検品して、箱を替えて棚に戻す。この一連の作業は誰かの時間です。月に数件起きるだけでも、対応する側の負担として積み上がります。
みっつめは、商品そのものの劣化です。食品・消耗品・季節商品は、戻ってきても売り物にならないことがあります。賞味期限が近づいたり、シーズンが終わったりした在庫は値引き処分か廃棄です。
よっつめは、反復される悪質な注文です。1回で諦める相手は多くありません。別の名義、別の住所、別のメールアドレスで同じことを試してきます。注文履歴を見返すと、同じメールドメインや似た住所のパターンが見えることがあります。
どこで防ぐか:決済後キャンセルではなくチェックアウト
受け取り拒否への対応で最初に思いつくのは、発送前に見抜いてキャンセルすることです。しかし、注文ごとに住所と名前で怪しさを判断する目視には限界があり、判断を誤れば正当な顧客を傷つけます。
次に思いつくのは、注文が入ってからキャンセルすることですが、代金引換の場合はこれが通りません。代金引換は支払いが受け取り時なので、ストア側に「決済を取り消す」操作がなく、発送してはじめて結果が分かります。つまり、損失が確定する前に介入できる場所は、注文が確定する直前、チェックアウトの段階しかありません。
ここで有効なのは、条件に該当する相手には代金引換そのものを選べなくすることです。私がつくったチェックアウトガードは、Shopify FunctionsのCart & Checkout Validation APIの上にルールを差し込み、決済の前に評価します。ルールに引っかかった注文だけが止まり、それ以外のチェックアウトは素通りします(ブロックのみの動作)。また、アプリ側でエラーが起きてもチェックアウトそのものは止まらない設計(フェイルオープン)なので、対策の不調が通常の売り上げに波及することはありません。
基準は全36種類、演算子は18種類あります。代金引換の対策で主に使うのは、そのうちの配送方法と顧客の側のごく一部です。
ルール例:初回顧客の高額CODをブロック
最初に置くべきは、被害が大きい形にだけ狙いを絞ったルールです。典型的なのは「初めての顧客の高額な代金引換」です。次の3条件をANDで組み合わせます。
- 基準:配送方法名 + 演算子:含む + 値:代金引換
- 基準:注文回数 + 演算子:= + 値:0
- 基準:カート合計金額 + 演算子:より大きい + 値:30000
順に説明します。配送方法名は、ストアで設定した配送方法の名前と照合する基準です。「代金引換」を含む名前にしておけば、送料の種類で代金引換を分けている場合でも1つの条件で拾えます。
顧客の注文回数は、その顧客が過去に完了した注文の回数です。ゲスト購入は0回として扱われます。つまりこの条件は「初回、またはログインしていない相手」を指します。一度でも購入してくれた相手は、このルールにはかかりません。
カート合計金額は、被害の大きさを直接押さえるための条件です。3万円はあくまで例で、しきい値は往復送料と平均注文額から逆算して決めてください。高額な代金引換だけを止められれば、攻撃側のうまみは消え、小額の通常注文は影響を受けません。
他の組み合わせ
同じ基準の組み合わせで、いくつかの運用が作れます。
ゲストの代金引換を止める。 ログイン状態(会員またはゲスト)は基準として使えます。「ログイン状態 が ゲスト」かつ「配送方法名 が 代金引換 を含む」でブロックすれば、会員登録済みの顧客には代金引換を残したまま、顔の見えない相手だけ止められます。正直に書くと、アプリに会員登録を強制する機能はありません。案内できるのはブロックメッセージの中で「会員登録いただくか、クレジットカードをご利用ください」と次の一手を示すことまでです。
特定のメールドメインを絞る。 過去の受け取り拒否に使い捨てのメールドメインが散見されるなら、「メールドメイン が (ドメインのリスト)のいずれか」を代金引換の条件とANDで組み合わせられます。メールドメインは@以降を小文字化した値で比較されるので、大文字小文字の揺れを気にせず登録できます。
リピーターは許す。 まず正直に整理しておくと、もとのルールの「注文回数 が 0」は、2回目の購入にはすでにかかりません。1回買った相手は次の注文では注文回数が1に変わるからです。緩め方として意味があるのは、回数の条件を使った2つめのルールを足すことです。たとえば「注文回数 が 2 より小さい」かつ「カート合計金額 が 100000 より大きい」を置けば、初回は3万円超、2回目は10万円超でのみ止まり、3回目の購入以降は金額にかかわらず自由になります。もうひとつは顧客タグで、常連にタグを付けて「顧客タグ を含まない」側にだけルールを効かせる形です。ただし限界も書いておきます。注文回数でゲストは常に0回扱いなので、ログインせずに毎回ゲストで買ってくれる常連には、注文回数による緩和が効きません。緩和を効かせたい相手には会員登録を案内するか、顧客タグで個別に対応することになります。
B2Bに影響しない切り分け。 法人宛の注文で代金引換を使っている場合、「顧客タグ が b2b を含まない」を条件に加えれば、タグを付けた法人客にはルールがかかりません。個人向けの対策だけを精密に積みたいときに便利な切り分けです。
なお、高額 × 大量購入の形は受け取り拒否と隣り合わせです。こちらは購入数制限の設定方法で別途書いています。
ブロックメッセージで他の決済へ誘導する
ブロックで止めるだけでは、買う側には理由の分からないエラーで終わります。アプリでは、ブロックの理由を買物客向けのメッセージとして書けます。代金引換を止める場合は、次の一手を示すのがコツです。
「こちらの金額では代金引換をご利用いただけません。クレジットカードなど別のお支払い方法をお選びください」
金額の条件と並べて書けば、止められた相手の多くはその場で別の決済に流れます。これで受け取り拒否のリスクだけを取り除き、注文自体は逃しません。メッセージは500文字まで書け、日本語をはじめ36言語に対応しています。買物客の言語に合わせて表示され、日本語のメッセージを書いておけば日本の買物客にはそのまま日本語が表示されます。なお多言語化しているのはこの買物客向けメッセージの範囲で、設定画面そのものは英語です。
導入の案内
7日間の無料トライアルがあります。まずは「初回 × 高額 × 代金引換」の1ルールを置いて、トライアル期間中に過去の受け取り拒否の履歴と見比べるのがおすすめです。止まってしかるべき注文が止まっているか、通常の注文を止めていないか。この2点が揃えばしきい値は合っています。月額$5で、ルールはご自身のストアのShopifyデータの中に保存されます。設定で困ったら、日本語で24時間以内に、つくった本人が返します。アプリの詳細はこちらから確認できます。