各決済をより鮮明に
端末、ネットワーク、決済の文脈をつなげ、寄与したシグナルをスコアと並べて確認。
推測に頼らない決済リスク管理
スクリプトを1つ追加するだけ。何を拒否していたか、いくらの損失だったか、その理由まで、現在の決済代行会社の横で確認できます。シャドーモードで開始し、準備が整うまで何も変わりません。
npm i @riskcogs/js
インストール例 · 連携メモを参照
スクロールして確認 · コンソール画面は例示です
例:シャドーモードが312件の決済を検知し、回避できた損失は18,420ユーロ(シミュレーション)。インスペクターがスコア0.86の理由を説明します。カードテスティングのルールを適用するか決める前に、その根拠を確認してください。数値は例示であり、顧客の実績ではありません。
まず根拠から。準備ができたらルールを変更。
スクリプトを導入し、決済ごとにサーバー側のイベントを送信します。現在の決済代行会社と不正対策はそのままです。
rc.track('payment', {
id: 'pay_9d6e12', amount: '89.00'
});RiskCogsはシャドーモードですべての決済をスコアリングします。ブロックもチェックアウトの変更もありません。
risk_score: 0.86シャドーaction: observe_only何がブロックされていたか、いくらの損失だったかを確認。結果に納得したらルールを1つずつ適用に切り替えます。
312件の決済€18,420根拠から確信へ
決済フローはそのまま。RiskCogsがシグナルを見える化し、次に何をするかはあなたが決めます。
インタラクティブな図解 · 実際の判定なし
pay_7f2a910.93カードテスティング · 2分で14回pay_8b4c830.886アカウントで使われた端末pay_9d6e120.86BINの国 ≠ IPの国pay_a1f8400.12信頼できるリピーター判定はすべてシミュレーションです。決済代行会社の管理はそのままです。
€89.00 · Visaデビット · たった今
拒否対象でした。実際の処理は行っていません。
ルールの準備ができたかはあなたが判断。
card.attempts_2m > 10回避できた損失は例示であり、結果を約束するものではありません。
あなたのルール。あなたのしきい値。あなたの判断。
個々の手がかりは、つながりが見えて初めて役立ちます。まず観察し、対応が必要なものを判断しましょう。
端末、ネットワーク、決済の文脈をつなげ、寄与したシグナルをスコアと並べて確認。
決済から該当ルールと根拠へ。元の文脈を失わずにたどれます。
端末とブラウザのシグナルで繰り返しの行動をつなげます。リプレイは同意がある場合のみ。
適用する前にシャドーモードでルールを観察。スコアは確認のための根拠であり、判定そのものではありません。
1つのスコアに根拠を添えて。各決済判断の背後にあるシグナルを確認できます。
€89.00 · Visaデビット · たった今
拒否対象でした。実際の処理は行っていません。
各ルールは、有効にする前に自社トラフィックでの精度を表示します。
評価例 · 過去7日間| 名前 | 条件 | モード | ヒット 7日 | 精度 |
|---|---|---|---|---|
| カードテスティング | card.attempts_2m > 10 | シャドー | 142 | 99.3% |
| 共有端末 | device.accounts_7d > 6 | シャドー | 96 | 98.0% |
| 国の不一致 | bin.country != ip.country | シャドー | 74 | 94.6% |
| 信頼できる顧客 | customer.successful > 3 | 適用 | 1,284 | 99.8% |
| 既知のブロック端末 | device.id in blocklist | 適用 | 38 | 100.0% |
導入から最初のスコア付き決済まで。
npm i @riskcogs/js
# Add a browser signal
# Send a server-side eventすでに使っている言語でそのまま。
const result = await riskcogs.score({
payment_id: 'pay_9d6e12',
amount: '89.00', currency: 'EUR'
});確定した結果でループを閉じる。
{
"payment_id": "pay_9d6e12",
"outcome": "chargeback"
}カード不要。データはいつでも削除できます。