Stripe.Account reference
Account
Section titled “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.
Account: Creating an Account
Section titled “Account: Creating an 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 }, },});Account: Fully configuring an Account
Section titled “Account: Fully configuring an Account”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" },});Account: Controller instead of type
Section titled “Account: Controller instead of type”const account = yield* Stripe.Account("Merchant", { country: "US", controller: { losses: { payments: "application" }, fees: { payer: "application" }, requirementCollection: "application", stripeDashboard: { type: "none" }, },});AccountExternalAccount
Section titled “AccountExternalAccount”Source:
src/Stripe/AccountExternalAccount.ts
A Stripe Account External Account — a bank account or debit card
attached to a Connect account as a payout destination. Metadata,
account-holder details, and defaultForCurrency update in place.
Changing account or the externalAccount token replaces it.
Destroy deletes it.
AccountExternalAccount: Creating an External Account
Section titled “AccountExternalAccount: Creating an External Account”Bank account token on a Connect account
const payout = yield* Stripe.AccountExternalAccount("payout-bank", { account: connected.id, externalAccount: bankToken.id, accountHolderName: "Jenny Rosen", accountHolderType: "individual", metadata: { purpose: "payouts" },});Debit card token
const payout = yield* Stripe.AccountExternalAccount("payout-card", { account: connected.id, externalAccount: debitToken.id, defaultForCurrency: true,});AccountExternalAccount: Updating an External Account
Section titled “AccountExternalAccount: Updating an External Account”const payout = yield* Stripe.AccountExternalAccount("payout-bank", { account: connected.id, externalAccount: bankToken.id, accountHolderName: "Alchemy Tester", accountHolderType: "company", defaultForCurrency: true, metadata: { purpose: "payroll" },});AccountPerson
Section titled “AccountPerson”Source:
src/Stripe/AccountPerson.ts
A Stripe Person on a Connect account — a director, executive, owner, or
representative of the account’s legal entity. Name, email, phone,
relationship, and metadata update in place. Changing account replaces
the person. Destroy deletes the person (the account opener cannot be
deleted).
AccountPerson: Creating a Person
Section titled “AccountPerson: Creating a Person”Director on a Connect account
const person = yield* Stripe.AccountPerson("cfo", { account: account.id, firstName: "Jane", lastName: "Diaz", email: "jane.diaz@example.com", relationship: { director: true, title: "CFO" },});Owner with metadata
const person = yield* Stripe.AccountPerson("owner", { account: account.id, firstName: "Alex", lastName: "Kim", relationship: { owner: true, percentOwnership: 25 }, metadata: { role: "beneficial-owner" },});AccountPerson: Updating a Person
Section titled “AccountPerson: Updating a Person”const person = yield* Stripe.AccountPerson("cfo", { account: account.id, firstName: "Jane", lastName: "Diaz", email: "jane.diaz+updated@example.com", relationship: { director: true, title: "COO" },});CreateAccount
Section titled “CreateAccount”Source:
src/Stripe/CreateAccount.ts
Create a Stripe Connect Account over HTTP. Account-scoped — binds the API key onto the host, not a specific connected account.
CreateAccount: Creating an Account at runtime
Section titled “CreateAccount: Creating an Account at runtime”const create = yield* Stripe.CreateAccount();const account = yield* create({ type: "express", country: "US", email: "merchant@example.com",});CreateAccountHttp
Section titled “CreateAccountHttp”Source:
src/Stripe/CreateAccountHttp.tsKind: Layer · Provides:Stripe.CreateAccount
HTTP implementation of CreateAccount. Provide it on the
Function or Worker Effect.
CreateAccountLink
Section titled “CreateAccountLink”Source:
src/Stripe/CreateAccountLink.ts
Create a Stripe Account Link over HTTP. Account-scoped — binds the API key onto the host, not a specific connected account.
Account Links are the URLs a Connect platform hands a merchant to complete hosted onboarding for an Express or Standard account.
CreateAccountLink: Onboarding a merchant
Section titled “CreateAccountLink: Onboarding a merchant”const createLink = yield* Stripe.CreateAccountLink();const link = yield* createLink({ account: "acct_…", type: "account_onboarding", return_url: "https://example.com/onboarded",});// link.url is the hosted onboarding pageCreateAccountLinkHttp
Section titled “CreateAccountLinkHttp”Source:
src/Stripe/CreateAccountLinkHttp.tsKind: Layer · Provides:Stripe.CreateAccountLink
HTTP implementation of CreateAccountLink. Provide it on the
Function or Worker Effect.
RetrieveAccount
Section titled “RetrieveAccount”Source:
src/Stripe/RetrieveAccount.ts
Retrieve a bound Stripe Connect Account over HTTP.
RetrieveAccount: Reading an Account
Section titled “RetrieveAccount: Reading an Account”const retrieve = yield* Stripe.RetrieveAccount(merchant);const live = yield* retrieve();RetrieveAccountExternalAccount
Section titled “RetrieveAccountExternalAccount”Source:
src/Stripe/RetrieveAccountExternalAccount.ts
Retrieve a bound Stripe Account External Account over HTTP.
RetrieveAccountExternalAccount: Reading an External Account
Section titled “RetrieveAccountExternalAccount: Reading an External Account”const retrieve = yield* Stripe.RetrieveAccountExternalAccount(payout);const live = yield* retrieve();RetrieveAccountExternalAccountHttp
Section titled “RetrieveAccountExternalAccountHttp”Source:
src/Stripe/RetrieveAccountExternalAccountHttp.tsKind: Layer · Provides:Stripe.RetrieveAccountExternalAccount
HTTP implementation of RetrieveAccountExternalAccount. The
nested retrieve takes both account and id.
RetrieveAccountHttp
Section titled “RetrieveAccountHttp”Source:
src/Stripe/RetrieveAccountHttp.tsKind: Layer · Provides:Stripe.RetrieveAccount
HTTP implementation of RetrieveAccount. Provide it on the
Function or Worker Effect.
RetrieveAccountPerson
Section titled “RetrieveAccountPerson”Source:
src/Stripe/RetrieveAccountPerson.ts
Retrieve a bound Stripe Account Person over HTTP.
RetrieveAccountPerson: Reading a Person
Section titled “RetrieveAccountPerson: Reading a Person”const retrieve = yield* Stripe.RetrieveAccountPerson(cfo);const live = yield* retrieve();RetrieveAccountPersonHttp
Section titled “RetrieveAccountPersonHttp”Source:
src/Stripe/RetrieveAccountPersonHttp.tsKind: Layer · Provides:Stripe.RetrieveAccountPerson
HTTP implementation of RetrieveAccountPerson. Retrieve takes
both account and person.
UpdateAccount
Section titled “UpdateAccount”Source:
src/Stripe/UpdateAccount.ts
Update a bound Stripe Connect Account over HTTP.
UpdateAccount: Updating an Account
Section titled “UpdateAccount: Updating an Account”const update = yield* Stripe.UpdateAccount(merchant);const live = yield* update({ email: "merchant@example.com" });UpdateAccountHttp
Section titled “UpdateAccountHttp”Source:
src/Stripe/UpdateAccountHttp.tsKind: Layer · Provides:Stripe.UpdateAccount
HTTP implementation of UpdateAccount. Provide it on the
Function or Worker Effect.