Stripe Connect marketplaces
Gate payouts to connected accounts on a TrustVerify decision. A pattern you build with our API.
If your marketplace pays sellers through Stripe Connect, check each seller with TrustVerify before you turn on their payouts. There is no plug-in: you build this with the TrustVerify API and your existing Stripe code.
Pattern#
- When a seller signs up, create their connected account in Stripe as you do today.
- Run a TrustVerify identity check for the person, and a UK business check if they trade as a company.
- Store the TrustVerify
checkIdon the connected account, for example in Stripe metadata astrustverify_check_id. - Only enable payouts when the TrustVerify status is
passed. Keep sellers inreviewpaused until your team has looked. - Add the seller to monitoring so a later sanctions or PEP match reaches you as an
aml.hitwebhook. Pause payouts when one arrives.
Example#
Node.js
// Your server, after the seller has uploaded their document and selfie.
const tv = await fetch("https://api.trustverify.co.uk/api/v1/kyc/verify", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.TRUSTVERIFY_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ documentImage, selfieImage, metadata: { firstName, lastName, sellerId } }),
}).then((r) => r.json());
await stripe.accounts.update(connectedAccountId, {
metadata: { trustverify_check_id: tv.checkId, trustverify_status: tv.status },
});
if (tv.status !== "passed") {
// Keep payouts off until someone has reviewed the check.
await holdSeller(sellerId, tv.checkId);
}Note
Stripe runs its own checks on connected accounts. TrustVerify adds your own recorded decision and evidence; it does not replace what Stripe asks for.