Skip to content
Console
Menu

Queues

Workflows

Getting Started

Authentication

KV Store

Connect a merchant account

Starts connecting a Stripe account: returns the processor's authorisation URL for an org owner to open, which the processor's redirect…

Starts connecting a Stripe account: returns the processor's authorisation URL for an org owner to open, which the processor's redirect completes. With a restricted key in the request the account connects at once instead, and the connected merchant account comes back in the response.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/merchant_accounts:connect
  • Scope billing:write
  • Effect write — a successful call changes state.
  • Collection merchant_accounts

#Request

FieldTypeWhat it is
parentstringThe environment whose seller this becomes. Required.
merchant_account_idstringThe merchant account id; default default.
return_urlstringWhere the browser returns after the processor, with status and, on success, merchant_account in the query. HTTPS only. Required for the OAuth connection; unused, and so optional, with restricted_key.
restricted_keystringA Stripe restricted key (rk_test_… or rk_live_…); when set, no OAuth happens: the account is read and connected at once. Write-only: sealed on write, never returned, never logged. A secret key (sk_…) is refused, because a restricted key can be limited to what payments need. Never returned again.

#Response

FieldTypeWhat it is
authorize_urlstringThe processor's authorisation page for an owner of the account to open; empty when the connection completed in this call.
expire_timetimestampWhen the link stops working; unset when the connection completed in this call.
merchant_accountMerchantAccountThe merchant account, connected; set when the connection completed in this call, which is every connection made with a restricted key.

#MerchantAccount

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/merchant_accounts/{merchant_account}; the environment's seller is default.
uidstringmac_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
processorstringThe processor: stripe. Output only.
account_idstringThe connected account id, for example acct_1Nv…. Output only.
livemodeboolWhether the connection is in live mode (false is test mode). Output only.
statestringconnected or disconnected. Output only.
charges_enabledboolWhether the account can take payments now. Output only.
payouts_enabledboolWhether the account can be paid out. Output only.
business_namestringThe business name the processor holds for the account. Output only.
region_codestringISO 3166-1 alpha-2 country of the account. Output only.
default_currency_codestringISO 4217 default currency of the account, upper case. Output only.
refresh_timetimestampWhen the processor last confirmed these fields. Output only.
credentialstringHow the account is called at the processor: connect (the platform's key acts for a connected account) or restricted_key (the account's own key, held sealed). Output only.

#ResourceMeta

FieldTypeWhat it is
generationint64Increases by one on every change to spec. Output only.
etagstringStrong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only.
create_timetimestampWhen the Resource was created. Output only.
update_timetimestampWhen the Resource last changed. Output only.
delete_timetimestampSet while the Resource is being deleted. Output only.
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.
creatorstringThe principal that created the Resource. Output only.

#Errors

  • UNAUTHENTICATED — No valid key or token was presented.
  • PERMISSION_DENIED — The key lacks the method's permission.
  • INVALID_FIELD — A field failed validation.
  • UNAVAILABLE — The Resource store, the owning service's backend, or the key verifier's snapshot is unavailable; retry after Retry-After.

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/merchant_accounts:connect" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'