Skip to main content
Creates an onboarding session for an existing payout account through the payout provider — for Stripe Connect this returns a hosted onboarding link the seller completes in the browser. Triggered by POST /vendor/payout-accounts/:id/onboarding.

Usage

import { createOnboardingWorkflow } from "@mercurjs/core/workflows"

const { result } = await createOnboardingWorkflow(container).run({
  input: {
    account_id: "pacc_123",
    data: {
      refresh_url: "https://vendor.example.com/payouts",
      return_url: "https://vendor.example.com/payouts",
    },
  },
})

Input

account_id
string
required
The payout account to onboard.
context
object
Provider context; supports idempotency_key plus provider-specific keys.
data
object
Provider-specific onboarding data (e.g. Stripe refresh_url / return_url).

Result

result
OnboardingDTO
The created onboarding session.
result.id
string
Onboarding ID.
result.account_id
string
The payout account the session belongs to.
result.data
object | null
Provider response data (e.g. the hosted onboarding URL).
result.context
object | null
The context the session was created with.