아티스트 예약 플랫폼을 Stripe Connect로 구축하기

지난 6년간 3개의 마켓플레이스 플랫폼을 구축했는데, 엔터테인먼트 예약 영역은 가장 흥미롭고도 까다로운 수직시장 중 하나입니다. 아티스트(관리 업무를 싫어하는)와 이벤트 기획자(신뢰성을 필요로 하는) 두 가지 매우 다른 사용자 유형을 다루고 있으며, 시간에 민감한 예약, 변동하는 가격, 취소로 인한 골치 아픈 문제, 그리고 항상 따라오는 "돈은 누가 보관하나?"라는 질문이 있습니다. 이러한 플랫폼을 실제로 구축하는 방법을 알려드리겠습니다.

라이브 엔터테인먼트 예약 시장은 분산되어 있습니다. GigSalad는 110,000명 이상의 엔터테이너를 보유하고 있습니다. GigMasters는 미국과 캐나다만 해도 연간 약 4,700만 달러를 수익으로 올리고 있습니다. Gigstarter는 8개 유럽 국가로 확장했습니다. 하지만 이러한 플랫폼의 대부분은 오래된 기술 스택으로 수년 전에 구축되었으며, 특히 Stripe Connect로 결제 아키텍처를 처음부터 제대로 구축한다면 더 나은 것을 만들 수 있는 실질적인 기회가 있습니다.

Build an Artist Booking Platform with Stripe Connect

목차

양면 마켓플레이스 모델 이해

양면 마켓플레이스는 선순환 문제가 DNA에 내장되어 있습니다. 고객을 끌어들이려면 아티스트가 필요하고, 아티스트를 끌어들이려면 고객이 필요합니다. 코드를 한 줄도 작성하기 전에 먼저 어느 쪽을 시드할지 결정해야 합니다.

엔터테인먼트 예약의 경우, 거의 항상 공급 측면(아티스트)을 먼저 시드하는 것을 권장합니다. 이유는 다음과 같습니다: 아티스트는 기그를 가져올 수 있는 모든 곳에 등재되려는 동기가 있습니다. 반면 이벤트 기획자는 이미 충분한 규모의 재능이 있어야만 플랫폼을 방문할 것입니다.

핵심 사용자 여정

아티스트 측면:

  1. 가입 및 프로필 생성(바이오, 사진, 비디오, 오디오 샘플)
  2. 가용성, 가격 및 서비스 지역 설정
  3. 예약 문의 수신 또는 기그 게시물에 응답
  4. 예약 수락 및 이벤트 후 결제 수령
  5. 리뷰를 통한 평판 구축

클라이언트 측면:

  1. 장르, 위치, 날짜 및 예산으로 아티스트 검색
  2. 프로필 보기, 데모 영상 시청, 샘플 듣기
  3. 문의 전송 또는 직접 예약
  4. 플랫폼을 통한 결제(에스크로에 보관된 자금)
  5. 이벤트 후 리뷰 남기기

플랫폼은 중간에 위치하여 발견, 소통, 결제 및 신뢰를 촉진합니다.

기술 스택 선택

이것은 제가 강한 의견을 가지고 있는 부분입니다. 이와 같은 마켓플레이스의 경우, 동적 콘텐츠를 잘 처리하고, 실시간 기능(메시징, 가용성 업데이트)을 지원하며, 커스텀 예약 로직을 구축할 유연성을 제공하는 스택이 필요합니다.

컴포넌트 추천 이유
프론트엔드 Next.js (App Router) 아티스트 프로필의 SEO를 위한 SSR, 대화형 예약 흐름을 위한 React
백엔드 API Next.js API Routes 또는 별도의 Node.js 서비스 Stripe 웹훅, 예약 로직, 인증
데이터베이스 PostgreSQL (Supabase 또는 Neon 사용) 관계형 데이터는 마켓플레이스 모델에 완벽하게 맞음
CMS Sanity 또는 Payload CMS 아티스트 프로필은 미디어가 포함된 구조화된 콘텐츠가 필요
인증 Clerk 또는 NextAuth.js 역할 기반 인증(아티스트 vs. 클라이언트 vs. 관리자)
검색 Meilisearch 또는 Algolia 장르, 위치, 가격 전반의 빠른 패싯 검색
결제 Stripe Connect 마켓플레이스 지급금을 위해 목적별로 만들어짐
파일 저장소 Cloudflare R2 또는 AWS S3 오디오 샘플, 비디오, 보도 사진
호스팅 Vercel 또는 Cloudflare Pages 빠른 아티스트 프로필 로드를 위한 엣지 렌더링

Next.js 개발 경로에 관심이 있다면, 대부분의 팀에게 권장할 사항입니다. SEO 중요 아티스트 디렉토리 페이지를 위한 서버 컴포넌트와 대화형 예약 폼을 위한 클라이언트 컴포넌트의 조합은 이길 수 없습니다.

디렉토리 부분을 위한 매우 빠른 정적 페이지와 예약을 위한 동적 아일랜드를 원하는 팀들은 Astro를 고려할 가치도 있습니다 -- 특히 플랫폼의 디렉토리 부분이 콘텐츠가 풍부할 경우입니다.

Build an Artist Booking Platform with Stripe Connect - architecture

아티스트 디렉토리 데이터 모델링

초기에 데이터 모델을 올바르게 설정하면 나중에 몇 개월의 리팩토링을 절약할 수 있습니다. 엔터테인먼트 마켓플레이스에 효과적인 것들을 소개합니다:

-- 핵심 아티스트 프로필
CREATE TABLE artists (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID REFERENCES users(id),
  stripe_account_id TEXT, -- 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()
);

-- 장르/카테고리 태깅 (다대다)
CREATE TABLE artist_genres (
  artist_id UUID REFERENCES artists(id),
  genre_id UUID REFERENCES genres(id),
  PRIMARY KEY (artist_id, genre_id)
);

-- 서비스 지역
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)
);

-- 가용성 달력
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)
);

-- 미디어 자산
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
);

아티스트 테이블의 stripe_account_id에 주목하세요. 이것이 Stripe Connect의 연결된 계정 ID입니다 -- 모든 지급금에 필요합니다. 자세한 내용은 곧 다룰 예정입니다.

중요한 카테고리

GigSalad, ShowBird(45개 이상의 카테고리에 8,000명 이상의 아티스트), StarClinch(14개 카테고리, 17,000명 이상의 아티스트)와 같은 플랫폼에서 작동하는 것에 기반하여, 가장 많은 예약을 유도하는 카테고리는 다음과 같습니다:

  • 라이브 밴드(웨딩 밴드, 커버 밴드, 재즈 앙상블)
  • 솔로 뮤지션(기타리스트, 피아니스트, 바이올리니스트)
  • DJ
  • 싱어 및 보컬리스트
  • 클래식 앙상블(현악 4중주, 오케스트라)
  • 트리뷰트 액트
  • 코미디언
  • 마술사 및 다양한 공연
  • 셀레브리티 출연
  • MC 및 진행자

출시 시 모든 것이 되려고 하지 마세요. 3-4개 카테고리를 선택하고 지역을 지배한 다음 확장하세요.

검색, 필터링 및 발견

검색은 모든 디렉토리 마켓플레이스의 성패를 좌우하는 기능입니다. 클라이언트가 30초 이내에 올바른 아티스트를 찾을 수 없으면 떠날 것입니다.

필수 검색 필터

  • 장르/카테고리: 하위 카테고리가 포함된 다중 선택
  • 위치: 반경 기반 지리 검색("오스틴으로부터 50마일 이내의 재즈 밴드")
  • 날짜 가용성: 클라이언트의 이벤트 날짜에 이용 가능한 아티스트만 표시
  • 가격대: 최소/최대 슬라이더
  • 등급: 최소 별점 필터
  • 인증됨만: 인증된 아티스트 전환

검색 엔진 자체에서는 Algolia보다 Meilisearch를 선택하겠습니다. 오픈 소스이고, 자체 호스팅 가능하며, 패싯 검색이 뛰어납니다. Algolia도 작동하지만 인덱스가 증가함에 따라 빠르게 비용이 올라갑니다 -- 유료 플랜에서 검색 요청 1,000개당 $1 이상입니다.

// 예: 아티스트 검색을 위한 Meilisearch 쿼리
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마일
  ],
  sort: ['rating:desc', 'booking_count:desc'],
  facets: ['genres', 'price_range', 'rating'],
  hitsPerPage: 20,
});

날짜 가용성은 가장 까다로운 필터입니다. 가용성 데이터를 검색 인덱스에 푸시하고 동기화 상태로 유지하고 싶지 않을 것입니다. 대신 Meilisearch에서 더 광범위한 결과 집합을 가져온 다음 데이터베이스 쿼리를 사용하여 애플리케이션 계층에서 가용성으로 필터링합니다. 추가 단계이지만 검색 인덱스를 깔끔하게 유지합니다.

Stripe Connect: 결제 기반

이제 실제 상황입니다. Stripe Connect는 양면 엔터테인먼트 마켓플레이스를 위한 올바른 선택입니다. 나는 대안들(PayPal for Marketplaces, Adyen for Platforms, Mangopay)을 평가했고 Stripe Connect는 개발자 경험, 문서 및 글로벌 범위에서 우위를 점합니다.

Stripe Connect 유형은 어떤 것?

Stripe는 세 가지 Connect 계정 유형을 제공합니다. 아티스트 예약 플랫폼의 경우 다음과 같이 분석됩니다:

계정 유형 KYC 부담 대시보드 접근 최적화 대상
Standard Stripe가 KYC 처리 아티스트가 전체 Stripe 대시보드 접근 아티스트가 제어를 원하는 플랫폼
Express Stripe가 KYC 처리 제한된, 내장된 대시보드 대부분의 마켓플레이스(권장)
Custom 귀사가 KYC 처리 없음 -- 모든 것을 구축 화이트 레이블 플랫폼

Express 계정을 선택하세요. 아티스트는 빠르게 온보딩되고(Stripe가 신원 확인을 처리), 제한된 대시보드를 통해 지급금을 볼 수 있으며, 결제 흐름을 제어합니다. Custom 계정은 화이트 레이블 솔루션을 구축하지 않는 한 과한 것입니다.

Stripe Connect에 아티스트 온보딩

// 새 아티스트를 위한 Stripe Connect Express 계정 생성
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,
    },
  });

  // 계정 ID 저장
  await db.artists.update({
    where: { id: artistId },
    data: { stripe_account_id: account.id },
  });

  // 온보딩 링크 생성
  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;
}

예약 결제 처리

여기서 핵심 개념은 목적지 요금입니다. 클라이언트가 귀사 플랫폼에 비용을 지불하고, Stripe가 자동으로 돈을 분할합니다 -- 플랫폼 수수료는 귀사에 머물고 나머지는 아티스트의 연결된 계정으로 이동합니다.

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,
    },
    // 요금 보관 -- 아직 캡처하지 않음 (에스크로 같은 동작)
    capture_method: 'manual',
  });

  return paymentIntent;
}

capture_method: 'manual'을 주목하세요. 이것은 예약 플랫폼에 매우 중요합니다. 예약이 확인되면 요금을 승인하지만 이벤트 날짜가 가까워지거나 이벤트가 발생한 후에야 캡처(실제로 돈을 가져감)합니다. 이것은 실제 에스크로를 구축하지 않고도 에스크로와 같은 기능을 제공합니다.

중요한 제한사항: Stripe의 수동 캡처는 승인으로부터 7일 이내에 캡처되어야 합니다. 더 먼 이벤트의 경우 다른 접근 방식이 필요합니다 -- 즉시 보증금을 청구하고 이벤트가 가까워지면 나머지를 청구하거나, 클라이언트에게 즉시 청구하지만 아티스트에게 이체를 지연시키는 Stripe의 별도 청구 및 이체 패턴을 사용하세요.

Stripe Connect 가격(2025)

Stripe의 현재 Connect 요금:

  • 표준 처리: 거래당 2.9% + $0.30
  • Connect 수수료: 연결된 계정(Express/Custom)에 지급할 때마다 추가 0.25% + $0.25
  • 즉시 지급: 지급 금액의 1%(선택사항, 아티스트가 좋아함)

따라서 $2,000 예약에 15% 플랫폼 수수료($300)가 있는 경우 수학은 다음과 같습니다:

  • 클라이언트 지불: $2,000
  • Stripe 처리: ~$58.30 (2.9% + $0.30)
  • 플랫폼 수수료: $300
  • Connect 지급 수수료: ~$5.25 ($1,700의 0.25% + $0.25)
  • 아티스트가 받음: ~$1,636.45

Stripe 수수료를 누가 부담하는지 명확하게 해야 합니다. 대부분의 플랫폼은 플랫폼 수수료에 포함하거나 클라이언트에게 "서비스 수수료"로 전달합니다.

예약 흐름 아키텍처

여기서 엔터테인먼트 플랫폼에서 효과적인 예약 흐름이 있습니다:

클라이언트 검색 → 아티스트 프로필 보기 → 가용성 확인 →
문의 전송(선택사항) → 예약 요청 제출 →
아티스트가 검토 및 승인 → 클라이언트 카드 승인 →
이벤트 발생 → 플랫폼이 결제 캡처 → 아티스트가 비용 받음

문의 vs. 즉시 예약 토론

일부 플랫폼(GigSalad 같은)은 클라이언트가 메시지를 보내고 맞춤 견적을 받는 문의 우선 모델을 사용합니다. 다른 플랫폼은 나열된 가격으로 즉시 예약을 허용합니다. 내 권장사항? 둘 다 지원하세요.

  • 즉시 예약: 명확하고 고정된 가격의 아티스트용(예: "4시간 DJ: $800"). 더 높은 전환율.
  • 문의/견적: 맞춤 이벤트용(예: "회사 갈라를 위한 10인 밴드"). 더 높은 평균 예약 가치.

아티스트가 자신의 설정에서 선호하는 모델을 선택하도록 하세요.

예약을 위한 상태 머신

예약은 명확한 상태가 필요합니다. 나는 상태 머신 패턴을 사용합니다:

const BOOKING_STATES = {
  INQUIRY: 'inquiry',           // 클라이언트가 메시지 전송
  QUOTED: 'quoted',             // 아티스트가 가격 제시
  PENDING: 'pending',           // 클라이언트가 예약 제출(아티스트 대기 중)
  ACCEPTED: 'accepted',         // 아티스트가 승인
  PAYMENT_AUTHORIZED: 'authorized', // 카드 승인됨
  CONFIRMED: 'confirmed',       // 양쪽이 확인함
  IN_PROGRESS: 'in_progress',   // 이벤트 진행 중
  COMPLETED: 'completed',       // 이벤트 완료, 결제 캡처됨
  CANCELLED: 'cancelled',       // 한쪽이 취소
  DISPUTED: 'disputed',         // 클라이언트가 분쟁 제기
  REFUNDED: 'refunded',         // 환불 발급됨
} as const;

각 상태 전환은 특정 작업을 트리거합니다: 이메일, Stripe 작업, 달력 업데이트 등.

분쟁, 취소 및 환불 처리

이것은 아무도 생각하고 싶지 않은 부분이지만, 계획하지 않으면 당신을 망칠 것입니다.

취소 정책 계층

아티스트가 사전 정의된 계층에서 자신의 취소 정책을 설정하도록 합니다:

정책 30일 이상 전 14-30일 전 7-14일 전 7일 미만
유연 전액 환불 전액 환불 50% 환불 환불 없음
중간 전액 환불 50% 환불 25% 환불 환불 없음
엄격 50% 환불 25% 환불 환불 없음 환불 없음

GEM과 같은 플랫폼은 에스크로 금고 접근법을 사용합니다 -- 이벤트 완료까지 자금이 보관됩니다. Stripe의 별도 청구 및 이체를 사용하여 이를 근사할 수 있습니다: 클라이언트에게 즉시 청구하되 이벤트 후에만 아티스트에게 이체합니다. 이것은 환불 타이밍에 대한 완전한 제어를 제공합니다.

아티스트 노쇼

악몽의 시나리오입니다. 아티스트가 나타나지 않으면 다음을 수행해야 합니다:

  1. 즉시 클라이언트에게 전액 환불
  2. 아티스트가 이미 비용을 받은 경우 아티스트의 연결된 계정을 청구(Stripe Connect는 역 이체 지원)
  3. 아티스트 계정 플래그
  4. 잠재적으로 플랫폼 보험 기금에서 클라이언트에게 보상

클라이언트가 이벤트 24시간 이내에 노쇼를 플래그할 수 있는 보고 시스템을 구축하세요.

실제로 작동하는 수익화 모델

2025년 최상위 플랫폼들이 하고 있는 것에 기반합니다:

모델 예시 장점 단점
예약당 수수료 10-20% 플랫폼 수수료 예약으로 수익이 확대됨 아티스트가 높은 수수료에 불만, 플랫폼 외 거래
구독 계층 Gigstarter: 무료 / €9.99/월 / €14.95/월 예측 가능한 반복 수익 새 아티스트에게 판매하기 어려움
리드 수수료 수신된 문의당 비용 아티스트에게 낮은 마찰력 리드가 전환되지 않으면 사기처럼 느껴짐
추천 목록 GigMasters: Pro/Featured에 $30-40/월 쉬운 상향판매 검색 품질 저하 가능
하이브리드 무료 목록 + 수수료 + 프리미엄 계층 다중 수익 스트림 복잡성

나는 수수료 모델(아티스트 측면 12-15% 플랫폼 수수료, 클라이언트 측면 5-8% 서비스 수수료)로 시작하고 견인력을 얻으면 구독 계층을 추가할 것을 권장합니다. 총 플랫폼 차지 17-23%는 업계 기준에 부합합니다.

신뢰 구축: 리뷰, 인증 및 에스크로

신뢰는 누군가가 결코 라이브로 본 적이 없는 웨딩 밴드에 $2,000 이상을 지불하는 마켓플레이스에서 모든 것입니다.

인증 수준

  • 이메일 확인: 기본, 모두가 이것을 받음
  • 신원 확인: 정부 신분증 확인(Stripe Connect가 온보딩 중에 이를 처리)
  • 배경 확인: Checkr과 같은 타사 서비스
  • 플랫폼 인증: 귀사 팀의 수동 검토(StarClinch는 전담 검증 직원으로 이를 수행)

리뷰 시스템

완료된 예약에서만 리뷰를 허용합니다. 이것은 가짜 리뷰를 방지하고 모든 리뷰가 실제 거래를 나타내도록 합니다. 집계 등급과 개별 리뷰 세부정보를 표시합니다.

// 완료된 예약인 경우에만 리뷰 생성
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('완료된 예약만 검토할 수 있습니다');
  }
  
  if (booking.reviewed_at) {
    throw new Error('예약이 이미 검토됨');
  }

  return db.reviews.create({
    data: {
      booking_id: bookingId,
      artist_id: booking.artist_id,
      client_id: booking.client_id,
      rating,
      text,
    },
  });
}

성능 및 확장성 고려사항

아티스트 프로필 페이지는 가장 높은 트래픽 페이지이며 SEO에 가장 중요합니다. 각 아티스트 프로필은 본질적으로 "Chicago에서 고용할 재즈 밴드"와 같은 검색에 대해 순위를 매겨야 하는 랜딩 페이지입니다.

SSR + ISR 전략

Next.js를 사용하면 증분 정적 재생성을 아티스트 프로필에 사용합니다:

// 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; // 1시간마다 재검증

이것은 신선한 데이터와 함께 정적 페이지 성능을 제공합니다. 프로필 조회, 가격 및 가용성은 다음 재검증 사이클에서 업데이트됩니다.

검색/디렉토리 페이지의 경우, SSR이 필터와 위치에 따라 콘텐츠가 변경되기 때문에 더 합리적입니다. Suspense와 함께 스트리밍을 사용하여 검색 결과가 로드되는 동안 페이지 셸을 즉시 표시합니다.

이 종류의 프로젝트를 위해 다른 프레임워크를 검토하고 있다면, 우리 팀은 Next.jsAstro 모두에 깊은 경험을 가지고 있습니다 -- 올바른 선택은 예약 흐름이 얼마나 동적이어야 하는지 대 디렉토리가 얼마나 콘텐츠가 풍부해야 하는지에 달려 있습니다.

CDN 및 미디어 최적화

아티스트는 고해상도 사진과 비디오를 업로드합니다. 다음이 필요합니다:

  • 이미지 최적화 파이프라인(Next.js Image 컴포넌트 + Cloudflare Images 또는 imgix)
  • 전용 서비스의 비디오 호스팅(Mux, Cloudflare Stream 또는 Bunny Stream)
  • 오디오 파형 생성 및 스트리밍(프론트엔드에서 WaveSurfer.js)

원본 업로드를 제공하지 마세요. 최적화된 형식으로 서버 측에서 모든 것을 처리합니다.

FAQ

아티스트 예약 플랫폼을 구축하는 데 드는 비용은 얼마인가요?

아티스트 프로필, 검색, 예약 흐름 및 Stripe Connect 통합이 포함된 기본 MVP는 일반적으로 경험이 풍부한 개발팀과 함께 $40,000-$80,000 또는 3-5개월의 구축 시간이 소요됩니다. 메시징, 모바일 앱 및 고급 검색이 포함된 완전히 기능한 플랫폼은 $150,000 이상입니다. 구체적인 사항을 알고 싶다면, 마켓플레이스 프로젝트를 어떻게 범위를 설정하는지 가격 페이지를 확인하세요.

결제 분할을 수동으로 구축하는 대신 Stripe Connect를 사용하는 이유는 무엇인가요?

Stripe Connect는 어려운 부분들을 처리합니다: 40개 이상 국가의 아티스트를 위한 KYC/신원 확인, 미국 기반 $600 이상을 버는 아티스트를 위한 1099 세금 보고, 자동 지급 스케줄링 및 차지백 처리입니다. 이를 직접 구축하면 전담 팀 6개월 이상이 필요하며 규제 위험에 노출됩니다. 지급당 0.25% + $0.25 수수료는 충분히 그럴 가치가 있습니다.

엔터테인먼트 예약 플랫폼의 일반적인 수수료율은 얼마인가요?

대부분의 플랫폼은 아티스트 측면에서 10-20% 사이, 클라이언트 서비스 수수료로 5-10%를 청구합니다. GigSalad와 GigMasters는 이 범위에서 작동합니다. Gigstarter는 주목할만하게 0% 수수료를 청구하고 구독 계층($9.99-€14.95/월)을 통해 수익을 창출합니다. 이상적인 비율은 귀사의 시장에 달려 있습니다 -- 웨딩 엔터테인먼트는 바 기그보다 더 높은 수수료를 견딜 수 있습니다.

아티스트 가용성을 처리하고 이중 예약을 방지하는 방법은 무엇인가요?

아티스트가 날짜를 이용 가능, 예약됨 또는 차단으로 표시하는 달력 기반 가용성 시스템을 구현합니다. 예약이 확인되면 해당 날짜를 자동으로 차단합니다. (artist_id, date)에서 데이터베이스 수준 고유 제약을 사용하여 경합 상태를 방지합니다. 하루에 여러 이벤트를 하는 아티스트(예: DJ)의 경우 전체 날짜 블록 대신 가용성 모델에 시간 슬롯을 추가합니다.

헤드리스 CMS 기반 디렉토리 또는 완전히 커스텀 데이터베이스를 구축해야 하나요?

하이브리드 접근 방식이 가장 효과적입니다. 헤드리스 CMS를 편집 콘텐츠(블로그 게시물, 도시 가이드, SEO 트래픽을 유도하는 카테고리 랜딩 페이지)에 사용하고 거래 데이터(예약, 결제, 가용성, 리뷰)를 위해 커스텀 PostgreSQL 데이터베이스를 사용합니다. CMS를 통해 예약 로직을 실행하려고 하는 것은 고통의 조리법입니다.

플랫폼에 처음 100명의 아티스트를 얻으려면 어떻게 해야 하나요?

직접 아웃리치가 작동합니다. 공개 뮤지션 디렉토리, 웨딩 벤더 사이트 및 지역 이벤트 목록을 스크래핑하세요. 명확한 가치 제안 -- 무료 목록, 선행 비용 없음, 그리고 그들에게 기그를 가져올 것 -- 과 함께 아티스트에게 이메일을 보내세요. 처음 50명의 아티스트에게 "창립 멤버" 배지를 제공하고 영구적으로 감소된 수수료 비율을 제공하세요. 지역 음악 학교 및 장소와 파트너십합니다. 처음 100명은 수동 작업입니다, 기간입니다.

국제 결제 및 여러 통화는 어떻게 되나요?

Stripe Connect는 40개 이상의 국가로 지급하고 135개 이상의 통화를 지원합니다. 독일의 아티스트가 미국의 클라이언트로부터 예약을 받을 때, Stripe는 자동으로 통화 전환을 처리합니다. Stripe의 FX 수수료(표준 처리 기준으로 대략 1%)를 지불하지만, 이것은 다중 통화 지원을 직접 구축하는 것보다 훨씬 싸집니다. 플랫폼 수수료를 클라이언트의 통화로 설정하고 Stripe가 아티스트의 현지 통화로 전환하도록 합니다.

양면 마켓플레이스에서 사기로부터 어떻게 보호하나요?

다중 계층: 아티스트를 위한 Stripe Connect의 내장 신원 확인, 클라이언트 측 결제 사기 감지를 위한 Stripe Radar, 높은 가치의 예약을 위한 수동 검토($5,000 초과), 속도 확인(많은 예약을 빠르게 생성하는 계정 플래그) 및 아티스트 지급 전 보류 기간(이벤트 완료 후 3-7일). 보류 기간이 가장 큰 보호입니다 -- 클라이언트가 돈이 플랫폼을 떠나기 전에 문제를 보고할 시간을 제공합니다.