Client project

Talent marketplace with global payments and identity verification

A two-sided marketplace that connects clients with freelance talent, covering the whole path from job post to payout: proposals, contracts, milestone payments with Stripe, Google Pay and Airwallex, and identity verification with Stripe Identity.

Role
Full stack developer
Type
Client project
Focus
Marketplace & payments
Payments
Stripe · Airwallex · Google Pay

The challenge

A marketplace lives or dies on trust. Clients need to know who they are hiring, talent needs to know they will get paid, and money moves between people in different countries and currencies.

Every payment state also has to stay consistent across the app, the payment providers and the accounting, even when webhooks arrive late, twice or out of order.

What I built

  • Onboarding and profiles for both sides of the marketplace, clients and talent
  • Job posts, proposals, real-time messaging and contracts split into milestones
  • Card and Google Pay payments through Stripe, with funds released to talent only after a milestone is approved
  • Cross-border payouts to talent in their local currency through Airwallex
  • Identity verification with Stripe Identity before anyone can get paid
  • Invoices, payment and payout history, ratings and reviews after each contract
  • An admin dashboard for verification reviews, refunds and disputes

Payment flow

Every step is driven by provider webhooks, handled idempotently, so a repeated or delayed event can never charge or pay twice.

  1. 1

    Verify

    Clients and talent pass identity checks with Stripe Identity.

  2. 2

    Fund

    The client pays a milestone by card or Google Pay through Stripe.

  3. 3

    Approve

    Funds are released only when the client approves the delivered milestone.

  4. 4

    Pay out

    Airwallex sends the money to the talent in their local currency.

  5. 5

    Reconcile

    Webhook events update an internal ledger, so the app, the providers and invoices always agree.

Outcome

The whole hiring flow, from first contact to the money arriving in the talent’s account, happens inside one product. Each payment can be traced from the moment it is charged to the moment it is paid out, which makes support and disputes much faster to resolve.