Configure a Stripe Identity VerificationSession's dynamic requirements (matching selfie, provided_details) to reconcile document data against information the user already gave you
domain: stripe.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Create a VerificationSession with options.document.require_matching_selfie enabled when you need liveness-bound identity assurance, not just document capture
Pass provided_details (e.g., the email or other data you already collected) so Stripe can surface it to the user during the flow for confirmation
After completion, retrieve the VerificationSession and read the verified outputs alongside the input_test/provided details to check for mismatches (e.g., name on ID vs. name on account)
Define a policy for handling partial mismatches (e.g., minor name formatting differences) versus hard mismatches (different person entirely)
Route hard mismatches to manual review or account rejection instead of silently accepting the verified session as an automatic pass
Known gotchas
A successfully 'verified' VerificationSession only confirms the document and selfie are genuine and match each other — Stripe does not automatically block the session just because the verified name differs from your account's existing profile data; that reconciliation is the integrator's responsibility
require_matching_selfie must be set at session creation time — you cannot retroactively add a selfie-match requirement to a session that was created without it
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?