Skip to content
Console
Menu

Queues

Workflows

Getting Started

Authentication

KV Store

Create a checkout session

Creates a hosted checkout for a subject.

Creates a hosted checkout for a subject.

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

#Request

FieldTypeWhat it is
parentstringThe parent to create in. Required.
checkout_sessionCheckoutSessionThe checkout to create; only caller-writable fields are read. Required.
checkout_session_idstringThe id, the final name segment; the server assigns one when empty.

#CheckoutSession

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/checkout_sessions/{checkout_session}.
metaResourceMetaResource metadata.
subjectSubjectWho pays and is entitled. Required.
line_itemsLineItem[]What is bought: catalog prices by lookup key. One recurring price makes a subscription; one-time prices make an order. Required.
success_urlstringWhere the buyer lands after paying; {CHECKOUT_SESSION_ID} is replaced by the processor's session id. HTTPS only. Required.
cancel_urlstringWhere the buyer lands on cancel. HTTPS only.
currency_codestringThe currency to charge in, upper-case ISO 4217; default the processor's choice for the buyer among the prices' currencies.
localestringThe page language, for example en or zh-HK; default automatic.
metadatamap<string, string>Copied to the subscription or order, for example attribution (utm_source, ref). At most 20 keys.
allow_promotion_codesboolWhether the buyer may enter a promotion code.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#Subject

FieldTypeWhat it is
end_userstringAn end user's id (Sylphx Auth, or the app's own OIDC issuer). One of the kind group.
customer_organizationstringA customer organization's id. One of the kind group.

#LineItem

FieldTypeWhat it is
pricestringThe price's lookup key. Required.
quantityint32How many; default 1. Seats for a per-seat or family price.

#Response

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/checkout_sessions/{checkout_session}.
uidstringchk_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
subjectSubjectWho pays and is entitled. Required.
line_itemsLineItem[]What is bought: catalog prices by lookup key. One recurring price makes a subscription; one-time prices make an order. Required.
success_urlstringWhere the buyer lands after paying; {CHECKOUT_SESSION_ID} is replaced by the processor's session id. HTTPS only. Required.
cancel_urlstringWhere the buyer lands on cancel. HTTPS only.
currency_codestringThe currency to charge in, upper-case ISO 4217; default the processor's choice for the buyer among the prices' currencies.
localestringThe page language, for example en or zh-HK; default automatic.
metadatamap<string, string>Copied to the subscription or order, for example attribution (utm_source, ref). At most 20 keys.
allow_promotion_codesboolWhether the buyer may enter a promotion code.
urlstringThe hosted page. Output only.
statestringopen, complete, or expired. Output only.
expire_timetimestampWhen the page stops accepting payment. Output only.
processor_session_idstringThe processor's session id. 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.

#Subject

FieldTypeWhat it is
end_userstringAn end user's id (Sylphx Auth, or the app's own OIDC issuer). One of the kind group.
customer_organizationstringA customer organization's id. One of the kind group.

#LineItem

FieldTypeWhat it is
pricestringThe price's lookup key. Required.
quantityint32How many; default 1. Seats for a per-seat or family price.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/checkout_sessions" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"line_items":[{"price":"…"}],"subject":{},"success_url":"…"}'