無料
月額$0。クレジットカード不要。
- 無料KYCバンドル(ID検証 + パッシブ生体検知 + 顔照合 + デバイス&IP分析) — 毎月500回
- ブロックリスト登録ユーザー
- 重複検出
- すべてのセッションで200以上の不正信号
- Diditネットワーク全体でのKYCの再利用
- ケース管理プラットフォーム
- ワークフロービルダー
- 公開ドキュメント、サンドボックス、SDK、MCP(Model Context Protocol)サーバー
- コミュニティサポート




世界中の2,000以上の組織から信頼されています。

ほとんどのチェックアウトで摩擦が不要な理由
注文の90%は、信頼できるデバイスを使用する日常の購入者であり、スムーズに 通過すべきです。リスクが急増する10%の注文はスクリーニングされます。安価なケースでは$0.03のIP + デバイス、 高額なケースでは$0.10の生体認証ステップアップ。毎月500回の検証が 無料です。
ID、生体認証、顔照合、制裁、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェックを選択します。それらをダッシュボードのフローにドラッグするか、同じフローをAPIに投稿します。条件に基づいて分岐させたり、A/Bテストを実行したりできます。コードは不要です。
当社のWeb、iOS、Android、React Native、またはFlutter SDKを使用してネイティブに埋め込みます。ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこでもユーザーにリンクを送信するだけです。お使いのスタックに合ったものをお選びください。
Diditは、カメラ、照明キュー、モバイルハンドオフ、アクセシビリティをホストします。ユーザーがフロー中に、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。2秒以内に結果が出ます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングします。または、コンソールを開いてすべてのセッション、すべての信号を検査し、独自の方法でケースを管理します。
Didit · リスクトリガーポリシー
Didit · デバイス&IP分析
Didit · 生体認証
確認 · 1/1
確認のため静止してください
Didit · チャージバック証拠
注文-A4421 · 証拠パック
Didit · 再利用可能なKYC
初回通過
チェックアウト
Didit · Webhook · X-Signature-V2
{
"session_id": "order-A4421",
"vendor_data": "order-A4421",
"status": "Approved",
"ip_analysis": { "score": 11 },
"liveness": { "status": "Approved" }
}$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_buyer_screen",
"vendor_data": "order-A4421",
"metadata": { "cart_total_cents": 78500 }
}'status: Approvedを返すまで注文を保留します。ドキュメント →// X-Signature-V2 verified upstream
if (payload.status === "承認済み") {
shipOrder(payload.vendor_data);
} else if (payload.status === "拒否済み") {
cancelAndRefund(payload.vendor_data);
}X-Signature-V2を検証します。ドキュメント →You are integrating a Didit buyer-side fraud screen on a marketplace / e-commerce checkout. Goal: catch stolen-card use, account takeover, gift-card stack abuse, geo-mismatch friendly fraud, and bot scalping on high-value carts. Two stages — cheap signals first, biometric step-up only when signals aren't enough.
WHY THIS SHAPE
- Most checkouts don't need any friction. Day-to-day buyers on trusted devices from residential networks should sail through.
- A small percentage are high-value or high-risk — cart over a threshold, gift-card stack, payout to a new card, geo mismatch, new device, velocity anomaly. On those, run a screen.
- Two stages keep the cost and the friction proportional to the risk. Cheap IP + device check ($0.03) is decisive on the obvious cases. Biometric step-up ($0.10) only fires when the cheap signals are inconclusive AND the order is high-value.
- 500 verifications free every month. The screen runs inside the free tier for most teams while they tune the thresholds.
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
- A webhook endpoint with HMAC SHA-256 verification of the X-Signature-V2 header using your webhook secret.
- A Workflow Builder workflow with Device & IP Analysis and optionally Passive Liveness + Face Match 1:1 against the stored buyer portrait.
- A server-side cart-gate that defaults to BLOCK on the high-risk path and only unblocks on a verified webhook with status: Approved.
STEP 1 — Decide WHEN to screen (your code, not Didit's)
Run your usual checkout signals. Default triggers worth a screen:
- Cart total above your account-level tier (e.g. > $500)
- Gift-card stack of three or more cards in one order
- Shipping country that doesn't match the billing-card country
- First buy from a new device
- Velocity anomaly — N orders within window W from the same buyer
- Payout / refund destination changed mid-flow
Day-to-day reads from trusted-device + residential-network buyers do NOT need a screen.
STEP 2 — Open the screen session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with Device & IP Analysis + optional Passive Liveness + Face Match 1:1>",
"vendor_data": "<your order id, max 256 chars>",
"callback": "https://<your-app>/checkout/screen/callback",
"metadata": {
"cart_total_cents": 78500,
"currency": "EUR",
"trigger": "high_value_cart"
}
}
Response: 201 Created with a hosted session URL. Show inline at checkout (web), or open in a Software Development Kit (SDK) webview (mobile). The order stays in HOLD on your side until the signed webhook lands.
STEP 3 — Read the signed webhook
Didit POSTs the verdict. Verify X-Signature-V2 (HMAC SHA-256 of the raw body) BEFORE reading the JSON.
Payload (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your order id>",
"status": "Approved",
"ip_analysis": { "status": "Approved", "score": 11 },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.93 }
}
Session status enum (exact case, Title Case With Spaces): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
STEP 4 — Branch the cart action
Approved → ship the order, capture the auth, send the confirmation.
In Review → hold the order. Route to manual review with the per-module signals as the case file.
Declined → cancel the order, refund the auth, log warnings (liveness / face-match / ip flags), throttle the source IP.
Not Finished → invite the buyer to retry the screen with a fresh session URL. Don't ship.
STEP 5 — (Optional) Reusable Know Your Customer (KYC) for returning trusted buyers
Once a buyer has passed identity once on the platform, the credential can replay on future checkouts at no cost via Reusable KYC. Look up the buyer's prior session_id; if the credential is valid and recent, skip the live screen.
That keeps the friction on the unknown traffic only. Free forever.
STEP 6 — Use the decision payload as the chargeback evidence pack
When a dispute lands, pull the full decision payload via:
GET https://verification.didit.me/v3/session/{session_id}/decision/
Headers:
x-api-key: <your api key>
Pairs naturally with:
- 3-D Secure 2.x (3DS2) liability shift on EU cards
- Visa Compelling Evidence 3.0 (CE3.0) — biometric + IP + device fingerprint + prior-order history meets the "trusted customer" bar
- Mastercard Identity Check chargeback dispute kit
WEBHOOK EVENT NAMES
- Sessions: standard session webhook. One endpoint, status field tells you the lifecycle.
- Verify X-Signature-V2 (HMAC SHA-256) on every payload.
WHAT IT BLOCKS
- Stolen-card use on first-time-buy + geo mismatch
- Account takeover on a previously-verified buyer (the step-up is the second-factor)
- Friendly fraud where the cardholder disputes a charge they actually authorised
- Bot scalpers running multi-item carts from datacenter Internet Protocol (IP) addresses
- Gift-card stack drains funded by a stolen card
- Reshipper / mule patterns (ship-to address inconsistent with prior orders)
CONSTRAINTS
- Session statuses use Title Case With Spaces. Never UPPER_SNAKE_CASE — that's the Transactions API.
- Start with IP-only on the cheap cases. Add the biometric step-up only on high-value carts or when IP alone is inconclusive — keeps cost down and friction proportional.
- 200+ fraud signals are evaluated on every session at no extra cost — read them off the decision payload, don't re-query.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/core-technology/ip-analysis/overview
- https://docs.didit.me/core-technology/biometric-auth/overview
- https://docs.didit.me/core-technology/reusable-kyc/overview
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.月額$0。クレジットカード不要。
使用した分だけお支払いください。25以上のモジュール。モジュールごとの公開価格、月額最低料金なし。
カスタムMSA & SLA。大量の取引と規制プログラム向け。
無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、またはデータレジデンシーのためにエンタープライズをアンロック。