Skip to content

Account

Source: src/Stripe/Account.ts

A Stripe Connect connected account — a Standard, Express, or Custom account created by your platform on behalf of a user.

Creating an account is only the first step of onboarding: Stripe activates requested capabilities once the account satisfies their requirements, so a freshly created account normally reports chargesEnabled: false and a non-empty requirementsCurrentlyDue. Account Links are one-shot URLs and are not modeled as resources.

type, country, and controller are fixed at creation. Email, business profile, capabilities, settings, and metadata update in place. Deleting the resource deletes the connected account.

A Standard connected account

const account = yield* Stripe.Account("Merchant", {
type: "standard",
country: "US",
email: "merchant@example.com",
});

An Express account requesting payment capabilities

const account = yield* Stripe.Account("Merchant", {
type: "express",
country: "US",
email: "merchant@example.com",
capabilities: {
card_payments: { requested: true },
transfers: { requested: true },
},
});
const account = yield* Stripe.Account("Merchant", {
type: "express",
country: "US",
email: "merchant@example.com",
businessType: "company",
defaultCurrency: "usd",
businessProfile: {
name: "Example Merchant",
url: "https://example.com",
mcc: "5734",
supportEmail: "support@example.com",
},
capabilities: {
card_payments: { requested: true },
transfers: { requested: true },
},
settings: {
payouts: { schedule: { interval: "manual" } },
},
metadata: { tier: "gold" },
});
const account = yield* Stripe.Account("Merchant", {
country: "US",
controller: {
losses: { payments: "application" },
fees: { payer: "application" },
requirementCollection: "application",
stripeDashboard: { type: "none" },
},
});