Crie uma Plataforma de Reserva de Artistas com Stripe Connect
Construir uma Plataforma de Booking de Artistas com Stripe Connect
Construí três plataformas de marketplace nos últimos seis anos, e o espaço de booking de entretenimento é um dos nichos mais interessantes -- e complicados -- para acertar. Você está lidando com dois tipos de usuários muito diferentes (artistas que odeiam admin e planejadores de eventos que precisam de confiabilidade), bookings sensíveis ao tempo, preços variáveis, drama de cancelamento, e a pergunta sempre presente de "quem segura o dinheiro?". Deixa eu te mostrar como construir uma dessas coisas de verdade.
O mercado de booking de entretenimento ao vivo é fragmentado. GigSalad tem 110.000+ artistas. GigMasters puxa aproximadamente $47 milhões anuais apenas nos EUA e Canadá. Gigstarter expandiu por 8 países europeus. Mas a maioria dessas plataformas foi construída anos atrás com tech stacks envelhecidas, e há oportunidade real de construir algo melhor -- especialmente se você acertar a arquitetura de pagamentos desde o primeiro dia com Stripe Connect.

Índice
- Entendendo o Modelo de Marketplace Bilateral
- Escolhendo sua Tech Stack
- Modelagem de Dados para Diretórios de Artistas
- Busca, Filtros e Descoberta
- Stripe Connect: A Espinha Dorsal dos Pagamentos
- Arquitetura do Fluxo de Booking
- Lidando com Disputas, Cancelamentos e Reembolsos
- Modelos de Monetização que Funcionam de Verdade
- Construindo Confiança: Reviews, Verificação e Escrow
- Desempenho e Considerações de Escalabilidade
- FAQ
Entendendo o Modelo de Marketplace Bilateral
Um marketplace bilateral tem um problema galinha-e-ovo embutido no seu DNA. Você precisa de artistas para atrair clientes, e clientes para atrair artistas. Antes de escrever uma única linha de código, você precisa decidir qual lado você vai semear primeiro.
Para booking de entretenimento, eu quase sempre recomendaria semear o lado da oferta (artistas) primeiro. Aqui está o porquê: artistas são motivados a serem listados em qualquer lugar que possa trazer shows para eles. Planejadores de eventos, por outro lado, não vão visitar sua plataforma a menos que já haja uma massa crítica de talento para navegar.
As Jornadas de Usuário Centrais
Lado do artista:
- Se inscrever e criar um perfil (bio, fotos, vídeos, amostras de áudio)
- Definir disponibilidade, preços e áreas de serviço
- Receber consultas de booking ou responder a publicações de shows
- Aceitar bookings e receber pagamento após o evento
- Construir reputação através de reviews
Lado do cliente:
- Buscar artistas por gênero, localização, data e orçamento
- Ver perfis, assistir demo reels, ouvir amostras
- Enviar consultas ou reservar diretamente
- Pagar através da plataforma (com fundos mantidos em escrow)
- Deixar uma review após o evento
A plataforma fica no meio, facilitando descoberta, comunicação, pagamentos e confiança.
Escolhendo sua Tech Stack
É aqui que tenho opiniões fortes. Para um marketplace como este, você quer uma stack que lide bem com conteúdo dinâmico, suporte recursos em tempo real (mensagens, atualizações de disponibilidade), e te dê flexibilidade para construir lógica de booking customizada.
| Componente | Recomendado | Por quê |
|---|---|---|
| Frontend | Next.js (App Router) | SSR para SEO em perfis de artistas, React para fluxos de booking interativos |
| API Backend | Next.js API Routes ou serviço Node.js separado | Webhooks Stripe, lógica de booking, auth |
| Banco de Dados | PostgreSQL (via Supabase ou Neon) | Dados relacionais se encaixam perfeitamente em modelos de marketplace |
| CMS | Sanity ou Payload CMS | Perfis de artistas precisam de conteúdo estruturado com mídia |
| Auth | Clerk ou NextAuth.js | Auth baseado em papéis (artista vs. cliente vs. admin) |
| Busca | Meilisearch ou Algolia | Busca facetada rápida por gêneros, localizações, preços |
| Pagamentos | Stripe Connect | Construído para pagamentos de marketplace |
| Armazenamento de Arquivos | Cloudflare R2 ou AWS S3 | Amostras de áudio, vídeos, fotos de imprensa |
| Hospedagem | Vercel ou Cloudflare Pages | Renderização edge para carregamento rápido de perfis de artistas |
Se você está interessado em ir pela rota desenvolvimento Next.js, isso é o que eu recomendaria para a maioria dos times. A combinação de server components para páginas de diretório de artistas críticas para SEO e client components para formulários de booking interativos é difícil de bater.
Para times que querem páginas estáticas super rápidas para a porção de diretório e ilhas dinâmicas para booking, Astro também vale a pena considerar -- especialmente se o lado de diretório da plataforma é pesado em conteúdo.

Modelagem de Dados para Diretórios de Artistas
Acertar seu modelo de dados cedo economiza meses de refatoração depois. Aqui está o que descobri funcionar bem para marketplaces de entretenimento:
-- Perfil central do artista
CREATE TABLE artists (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
stripe_account_id TEXT, -- Conta Stripe Connect
display_name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
bio TEXT,
headline TEXT,
profile_image_url TEXT,
base_price_cents INTEGER,
price_type TEXT CHECK (price_type IN ('per_hour', 'per_event', 'custom')),
travel_radius_miles INTEGER,
is_verified BOOLEAN DEFAULT FALSE,
is_featured BOOLEAN DEFAULT FALSE,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Tagging de gênero/categoria (muitos-para-muitos)
CREATE TABLE artist_genres (
artist_id UUID REFERENCES artists(id),
genre_id UUID REFERENCES genres(id),
PRIMARY KEY (artist_id, genre_id)
);
-- Áreas de serviço
CREATE TABLE artist_service_areas (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
city TEXT,
state TEXT,
country TEXT,
lat DECIMAL(10, 8),
lng DECIMAL(11, 8)
);
-- Calendário de disponibilidade
CREATE TABLE artist_availability (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
date DATE NOT NULL,
status TEXT CHECK (status IN ('available', 'booked', 'blocked')),
UNIQUE (artist_id, date)
);
-- Ativos de mídia
CREATE TABLE artist_media (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
media_type TEXT CHECK (media_type IN ('image', 'video', 'audio')),
url TEXT NOT NULL,
thumbnail_url TEXT,
title TEXT,
sort_order INTEGER DEFAULT 0
);
Repare no stripe_account_id na tabela de artistas. Esse é o ID de conta conectada do Stripe Connect -- você vai precisar dele para cada pagamento. Mais sobre isso em breve.
Categorias que Importam
Com base no que está funcionando para plataformas como GigSalad, ShowBird (8.000+ artistas em 45+ categorias), e StarClinch (14 categorias, 17.000+ artistas), aqui estão as categorias que impulsionam mais bookings:
- Bandas ao vivo (bandas de casamento, bandas cover, ensembles de jazz)
- Músicos solo (guitarristas, pianistas, violinistas)
- DJs
- Cantores e vocalistas
- Ensembles clássicos (quartetos de cordas, orquestras)
- Atos tributo
- Comediantes
- Mágicos e atos de variedade
- Aparições de celebridades
- MCs e apresentadores
Não tente ser tudo no launch. Escolha 3-4 categorias, domine uma área geográfica, depois expanda.
Busca, Filtros e Descoberta
Busca é o recurso que faz ou quebra qualquer marketplace de diretório. Se clientes não conseguem encontrar o artista certo em menos de 30 segundos, eles saem.
Filtros de Busca Essenciais
- Gênero/Categoria: Multi-select com subcategorias
- Localização: Geobusca baseada em raio ("Bandas de jazz dentro de 50 milhas de Austin")
- Disponibilidade de data: Mostrar apenas artistas disponíveis na data do evento do cliente
- Faixa de preço: Slider com mín/máx
- Rating: Filtro de rating mínimo de estrelas
- Apenas verificados: Toggle para artistas verificados
Para o motor de busca em si, eu iria com Meilisearch sobre Algolia para uma nova construção. É open source, auto-hospedável, e a busca facetada é excelente. Algolia também funciona mas fica cara rápido conforme seu índice cresce -- em $1+ por 1.000 requisições de busca em seus planos pagos.
// Exemplo: Consulta Meilisearch para busca de artista
const results = await searchClient.index('artists').search(query, {
filter: [
`genres IN ["jazz", "blues"]`,
`base_price_cents >= 15000`,
`base_price_cents <= 75000`,
`_geoRadius(30.2672, -97.7431, 80467)`, // 50 milhas de Austin
],
sort: ['rating:desc', 'booking_count:desc'],
facets: ['genres', 'price_range', 'rating'],
hitsPerPage: 20,
});
Disponibilidade de data é o filtro mais complicado. Você não quer fazer push de dados de disponibilidade para seu índice de busca e manter sincronizado. Em vez disso, busque um conjunto mais amplo do Meilisearch, então filtre por disponibilidade na camada de aplicação usando uma consulta ao banco de dados. É um passo extra, mas mantém seu índice de busca limpo.
Stripe Connect: A Espinha Dorsal dos Pagamentos
É aqui que fica real. Stripe Connect é a escolha certa para um marketplace de entretenimento bilateral. Avaliei alternativas (PayPal para Marketplaces, Adyen para Plataformas, Mangopay) e Stripe Connect vence em experiência de desenvolvedor, documentação e cobertura global.
Qual Tipo de Stripe Connect?
Stripe oferece três tipos de conta Connect. Para uma plataforma de booking de artistas, aqui está o resumo:
| Tipo de Conta | Carga KYC | Acesso a Dashboard | Melhor Para |
|---|---|---|---|
| Standard | Stripe lida com KYC | Artista consegue dashboard completo Stripe | Plataformas onde artistas querem controle |
| Express | Stripe lida com KYC | Dashboard limitado e embutido | Maioria dos marketplaces (recomendado) |
| Custom | Você lida com KYC | Nenhum -- você constrói tudo | Plataformas white-label |
Vá com contas Express. Artistas são integrados rapidamente (Stripe lida com verificação de identidade), eles conseguem um dashboard limitado para ver seus pagamentos, e você mantém controle sobre o fluxo de pagamento. Contas Custom são exagero a menos que você esteja construindo uma solução white-label.
Integrando Artistas a Stripe Connect
// Criar uma conta Stripe Connect Express para um novo artista
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function createConnectAccount(artistId: string, email: string) {
const account = await stripe.accounts.create({
type: 'express',
email,
capabilities: {
card_payments: { requested: true },
transfers: { requested: true },
},
business_type: 'individual',
metadata: {
artist_id: artistId,
},
});
// Armazenar o ID da conta
await db.artists.update({
where: { id: artistId },
data: { stripe_account_id: account.id },
});
// Gerar link de onboarding
const accountLink = await stripe.accountLinks.create({
account: account.id,
refresh_url: `${process.env.APP_URL}/artists/onboarding/refresh`,
return_url: `${process.env.APP_URL}/artists/onboarding/complete`,
type: 'account_onboarding',
});
return accountLink.url;
}
Processando um Pagamento de Booking
O conceito-chave aqui é destination charges. O cliente paga sua plataforma, e Stripe automaticamente divide o dinheiro -- sua taxa de plataforma fica com você, e o resto vai para a conta conectada do artista.
export async function createBookingPayment(
bookingId: string,
amountCents: number,
artistStripeAccountId: string,
platformFeePercent: number = 15
) {
const platformFeeCents = Math.round(amountCents * (platformFeePercent / 100));
const paymentIntent = await stripe.paymentIntents.create({
amount: amountCents,
currency: 'usd',
application_fee_amount: platformFeeCents,
transfer_data: {
destination: artistStripeAccountId,
},
metadata: {
booking_id: bookingId,
},
// Autorizar a cobrança -- não capturar ainda (comportamento tipo escrow)
capture_method: 'manual',
});
return paymentIntent;
}
Repare em capture_method: 'manual'. Isso é crucial para uma plataforma de booking. Você autoriza a cobrança quando o booking é confirmado, mas não captura (literalmente tira o dinheiro) até mais perto da data do evento ou após o evento ocorrer. Isso te dá funcionalidade tipo escrow sem construir escrow real.
Limitação importante: Captura manual no Stripe deve ser capturada dentro de 7 dias de autorização. Para eventos mais distantes, você vai precisar de uma abordagem diferente -- cobrar um depósito imediatamente e o saldo mais perto do evento, ou usar o padrão de cobranças e transferências separadas do Stripe onde você cobra o cliente imediatamente mas atrasa a transferência para o artista.
Preços do Stripe Connect (2025)
Taxas atuais do Stripe para Connect:
- Processamento padrão: 2.9% + $0,30 por transação
- Taxa Connect: 0.25% adicional + $0,25 por pagamento para contas conectadas (Express/Custom)
- Pagamentos instantâneos: 1% do valor do pagamento (opcional, artistas adoram isso)
Então em um booking de $2.000 com uma taxa de plataforma de 15% ($300), a matemática fica assim:
- Cliente paga: $2.000
- Processamento Stripe: ~$58,30 (2.9% + $0,30)
- Taxa da plataforma: $300
- Taxa de pagamento Connect: ~$5,25 (0.25% de $1.700 + $0,25)
- Artista recebe: ~$1.636,45
Você vai querer ser transparente sobre quem absorve as taxas do Stripe. A maioria das plataformas ou a embutem na taxa da plataforma ou a passa para o cliente como "taxa de serviço".
Arquitetura do Fluxo de Booking
Aqui está o fluxo de booking que descobri funcionar melhor para plataformas de entretenimento:
Cliente busca → Vê perfil do artista → Verifica disponibilidade →
Envia consulta (opcional) → Submete solicitação de booking →
Artista revisa e aceita → Cartão do cliente é autorizado →
Evento acontece → Plataforma captura pagamento → Artista recebe pagamento
O Debate Consulta vs. Instant Book
Algumas plataformas (como GigSalad) usam um modelo consulta-primeiro onde clientes enviam uma mensagem e conseguem uma cotação customizada. Outras permitem booking instantâneo com preços listados. Minha recomendação? Suporte ambos.
- Instant Book: Para artistas com preços claros e fixos (ex: "DJ por 4 horas: $800"). Taxa de conversão maior.
- Consulta/Cotação: Para eventos customizados (ex: "Banda de 10 peças para gala corporativa"). Valor médio de booking maior.
Deixe artistas escolher qual modelo eles preferem em suas configurações.
State Machine para Bookings
Bookings precisam de estados claros. Eu uso um padrão state machine:
const BOOKING_STATES = {
INQUIRY: 'inquiry', // Cliente enviou uma mensagem
QUOTED: 'quoted', // Artista enviou um preço
PENDING: 'pending', // Cliente submeteu booking (aguardando artista)
ACCEPTED: 'accepted', // Artista aceitou
PAYMENT_AUTHORIZED: 'authorized', // Cartão autorizado
CONFIRMED: 'confirmed', // Ambos os lados confirmaram
IN_PROGRESS: 'in_progress', // Evento acontecendo
COMPLETED: 'completed', // Evento feito, pagamento capturado
CANCELLED: 'cancelled', // Um lado cancelou
DISPUTED: 'disputed', // Cliente levantou disputa
REFUNDED: 'refunded', // Reembolso emitido
} as const;
Cada transição de estado dispara ações específicas: emails, operações Stripe, atualizações de calendário, etc.
Lidando com Disputas, Cancelamentos e Reembolsos
Essa é a parte que ninguém quer pensar, mas vai te destruir se você não planejar.
Tiers de Política de Cancelamento
Deixe artistas definir suas próprias políticas de cancelamento de tiers predefinidos:
| Política | 30+ dias antes | 14-30 dias | 7-14 dias | Menos de 7 dias |
|---|---|---|---|---|
| Flexível | Reembolso completo | Reembolso completo | Reembolso de 50% | Sem reembolso |
| Moderada | Reembolso completo | Reembolso de 50% | Reembolso de 25% | Sem reembolso |
| Rígida | Reembolso de 50% | Reembolso de 25% | Sem reembolso | Sem reembolso |
Plataformas como GEM usam uma abordagem de vault escrow -- fundos são mantidos até a conclusão do evento. Você pode aproximar isso com cobranças separadas e transferências do Stripe: cobra o cliente imediatamente, mas só transfere para o artista após o evento. Isso te dá controle completo sobre o timing do reembolso.
Artistas que Não Aparecem
O cenário pesadelo. Se um artista não aparecer, você precisa:
- Imediatamente reembolsar o cliente em sua totalidade
- Debitar a conta conectada do artista se eles já foram pagos (Stripe Connect suporta transferências reversas)
- Marcar a conta do artista
- Potencialmente compensar o cliente de um fundo de seguro de plataforma
Construa um sistema de relatórios onde clientes possam marcar no-shows dentro de 24 horas do evento.
Modelos de Monetização que Funcionam de Verdade
Com base no que as principais plataformas estão fazendo em 2025:
| Modelo | Exemplo | Prós | Contras |
|---|---|---|---|
| Comissão por booking | Taxa de plataforma de 10-20% | Receita escala com bookings | Artistas ressentem cortes altos, vão off-platform |
| Tiers de assinatura | Gigstarter: Gratuito / €9.99/mês / €14.95/mês | Receita recorrente previsível | Mais difícil vender para novos artistas |
| Taxas de lead | Pagar por consulta recebida | Baixo atrito para artistas | Pode parecer farsa se leads não convertem |
| Listings destaque | GigMasters: $30-40/mês para Pro/Featured | Upsell fácil | Pode diluir qualidade de busca |
| Híbrido | Listing gratuito + comissão + tiers premium | Múltiplos fluxos de receita | Complexidade |
Eu começaria com um modelo de comissão (taxa de plataforma de 12-15% no lado do artista, taxa de serviço de 5-8% no lado do cliente) e adicionaria tiers de assinatura uma vez que você tenha tração. Tomada total de plataforma de 17-23% está alinhada com normas da indústria.
Construindo Confiança: Reviews, Verificação e Escrow
Confiança é tudo em um marketplace onde alguém está pagando $2.000+ por uma banda de casamento que nunca viu ao vivo.
Níveis de Verificação
- Email verificado: Básico, todos conseguem isso
- Identidade verificada: Documento de governo verificado (Stripe Connect lida com isso durante onboarding)
- Verificação de histórico: Serviço terceirizado como Checkr
- Verificação de plataforma: Revisão manual por seu time (StarClinch faz isso com pessoal dedicado de verificação)
Sistema de Reviews
Apenas permita reviews de bookings completados. Isso previne reviews fake e garante que cada review representa uma transação real. Exiba tanto um rating agregado quanto detalhes de reviews individuais.
// Apenas criar review se booking está completo
async function submitReview(bookingId: string, rating: number, text: string) {
const booking = await db.bookings.findUnique({ where: { id: bookingId } });
if (booking.status !== 'completed') {
throw new Error('Pode revisar apenas bookings completados');
}
if (booking.reviewed_at) {
throw new Error('Booking já foi revisado');
}
return db.reviews.create({
data: {
booking_id: bookingId,
artist_id: booking.artist_id,
client_id: booking.client_id,
rating,
text,
},
});
}
Desempenho e Considerações de Escalabilidade
Páginas de perfil de artista são suas páginas com mais tráfego e mais importantes para SEO. Cada perfil de artista é essencialmente uma landing page que deveria rankear para buscas como "banda de jazz para aluguel em Chicago".
Estratégia SSR + ISR
Com Next.js, use Incremental Static Regeneration para perfis de artista:
// app/artists/[slug]/page.tsx
export async function generateStaticParams() {
const artists = await db.artists.findMany({
select: { slug: true },
where: { is_active: true },
});
return artists.map((a) => ({ slug: a.slug }));
}
export const revalidate = 3600; // Revalidar a cada hora
Isso te dá performance de página estática com dados frescos. Visualizações de perfil, preços e disponibilidade atualizam no próximo ciclo de revalidação. Para as páginas de busca/diretório, SSR faz mais sentido já que o conteúdo muda baseado em filtros e localização. Use streaming com Suspense para mostrar o shell da página imediatamente enquanto os resultados de busca carregam.
Se você está pesando diferentes frameworks para esse tipo de projeto, nosso time tem experiência profunda com ambos desenvolvimento Next.js e Astro -- a escolha certa depende de quão dinâmicos seus fluxos de booking precisam ser versus quão pesado em conteúdo é seu diretório.
CDN e Otimização de Mídia
Artistas fazem upload de fotos e vídeos em alta resolução. Você precisa:
- Pipeline de otimização de imagem (Next.js Image component + Cloudflare Images ou imgix)
- Hospedagem de vídeo em serviço dedicado (Mux, Cloudflare Stream, ou Bunny Stream)
- Geração de waveform de áudio e streaming (WaveSurfer.js no frontend)
Não sirva uploads brutos. Processe tudo lado servidor em formatos otimizados.
FAQ
Quanto custa construir uma plataforma de booking de artista?
Um MVP básico com perfis de artista, busca, fluxo de booking e integração Stripe Connect típicamente custa $40.000-$80.000 com um time de desenvolvimento experiente, ou 3-5 meses de tempo de build. Uma plataforma com recursos completos com mensagens, aplicativos mobile e busca avançada pode custar $150.000+. Se você quer falar especificidades, veja nossa página de preços para como scopeamos projetos de marketplace.
Por que usar Stripe Connect ao invés de construir divisões de pagamento manualmente?
Stripe Connect lida com as partes difíceis: verificação KYC/identidade para artistas em 40+ países, relatório de impostos 1099 para artistas baseados nos EUA ganhando mais de $600, agendamento automático de pagamentos, e tratamento de chargeback. Construir isso você mesmo levaria um time dedicado 6+ meses e te exporia a risco regulatório. A taxa de 0.25% + $0,25 por pagamento bem vale a pena.
Qual é a taxa de comissão típica para plataformas de booking de entretenimento?
A maioria das plataformas cobra entre 10-20% no lado do artista e 5-10% como taxa de serviço ao cliente. GigSalad e GigMasters operam nessa faixa. Gigstarter notavelmente cobra zero comissão e monetiza através de tiers de assinatura (€9.99-€14.95/mês). Sua taxa ideal depende do seu mercado -- entretenimento de casamento pode sustentar comissões maiores do que shows de bar.
Como você lida com disponibilidade de artista e previne double bookings?
Implemente um sistema de disponibilidade baseado em calendário onde artistas marcam datas como disponíveis, reservadas ou bloqueadas. Quando um booking é confirmado, automaticamente bloqueie essa data. Use restrições de uniqueness de nível banco de dados em (artist_id, date) para prevenir race conditions. Para artistas que fazem múltiplos eventos por dia (como DJs), adicione time slots ao modelo de disponibilidade ao invés de blocos de dia inteiro.
Devo construir um diretório powered por headless CMS ou um banco de dados totalmente customizado?
Abordagem híbrida funciona melhor. Use um headless CMS para conteúdo editorial (blog posts, guias de cidades, páginas de landing de categorias que geram tráfego SEO) e um banco de dados PostgreSQL customizado para dados transacionais (bookings, pagamentos, disponibilidade, reviews). Tentar rodar lógica de booking através de um CMS é receita para dor.
Como consigo os primeiros 100 artistas em minha plataforma?
Outreach direto funciona. Scrape diretórios públicos de músicos, sites de vendors de casamento, e listagens de eventos locais. Email artistas com uma proposta de valor clara -- listing gratuito, sem custo inicial, e você vai gerar bookings para eles. Ofereça aos primeiros 50 artistas um badge "founding member" e taxas de comissão permanentemente reduzidas. Parceria com escolas de música locais e venues. Os primeiros 100 são trabalho manual, período.
E quanto a pagamentos internacionais e múltiplas moedas?
Stripe Connect suporta pagamentos em 40+ países e 135+ moedas. Quando um artista na Alemanha é reservado por um cliente nos EUA, Stripe lida com conversão de moeda automaticamente. Você vai pagar taxa de câmbio do Stripe (aproximadamente 1% além do processamento padrão), mas isso é muito mais barato que construir suporte multi-moeda você mesmo. Defina sua taxa de plataforma na moeda do cliente e deixe Stripe lidar com conversão para moeda local do artista.
Como protejo contra fraude em um marketplace bilateral?
Múltiplas camadas: verificação de identidade built-in do Stripe Connect para artistas, Stripe Radar para detecção de fraude de pagamento no lado do cliente, revisão manual para bookings de alto valor (acima de $5.000), velocity checks (marque contas criando muitos bookings rapidamente), e um período de retenção antes de pagamentos de artista (3-7 dias após conclusão do evento). O período de retenção é sua maior proteção -- dá tempo aos clientes de reportar problemas antes do dinheiro sair da sua plataforma.