Skip to content

Updating visuals

If you see any images containing outdated UI, please bear with us.

We are updating all content as quickly as possible to mirror our new UI.

Actions reference ​

All Actions ​

This integration provides actions for managing Stripe resources from your WeWeb backend.

Actions are grouped by the Stripe resource they act on, the same way they appear in the action menu of a backend workflow: open Stripe, then the resource. Each action name links to its details below.

The action menu with Stripe open, showing the resource groups

Products

ActionDescription
List ProductsList products
Retrieve ProductRetrieve a product by ID
Create ProductCreate a product
Update ProductUpdate a product (also used to archive with active: "false")
Delete ProductDelete a product (only when it has no prices)
Search ProductsSearch products with the Search Query Language

Prices

ActionDescription
List PricesList prices
Retrieve PriceRetrieve a price by ID
Create PriceCreate a price
Update PriceUpdate a price (also used to deactivate with active: "false")
Search PricesSearch prices with the Search Query Language

Customers

ActionDescription
List CustomersList customers
Retrieve CustomerRetrieve a customer by ID
Create CustomerCreate a customer
Update CustomerUpdate a customer
Delete CustomerDelete a customer

Invoices

ActionDescription
List InvoicesList invoices
Retrieve InvoiceRetrieve an invoice by ID
Create InvoiceCreate a draft invoice
Update InvoiceUpdate an invoice
Delete InvoiceDelete a draft invoice
Finalize InvoiceFinalize a draft invoice (draft → open)
Pay InvoicePay a finalized invoice
Send InvoiceEmail a finalized invoice to the customer
Void InvoiceVoid a finalized invoice
Mark Invoice UncollectibleMark an invoice as uncollectible
Attach Payment to InvoiceAttach an existing PaymentIntent to an invoice
Preview InvoicePreview the next invoice without creating it

Invoice line items

ActionDescription
List Invoice Line ItemsList the line items of an invoice
Add Invoice Line ItemsAdd line items to a draft invoice
Remove Invoice Line ItemsRemove line items from a draft invoice
Update Multiple Line ItemsUpdate several line items of a draft invoice
Update Single Line ItemUpdate one line item of a draft invoice

Invoice items

ActionDescription
Create Invoice ItemAdd a pending charge or credit to a customer
Retrieve Invoice ItemRetrieve an invoice item by ID
Update Invoice ItemUpdate a pending invoice item
List Invoice ItemsList invoice items
Delete Invoice ItemDelete a pending invoice item

Subscriptions

ActionDescription
List SubscriptionsList subscriptions
Retrieve SubscriptionRetrieve a subscription by ID
Create SubscriptionCreate a subscription
Update SubscriptionUpdate a subscription
Cancel SubscriptionCancel a subscription immediately
Resume SubscriptionResume a paused subscription
Migrate SubscriptionMigrate to flexible billing mode (one-way)
Search SubscriptionsSearch subscriptions with the Search Query Language

Payment Intents

ActionDescription
Create Payment IntentCreate a payment intent
Retrieve Payment IntentRetrieve a payment intent by ID
Update Payment IntentUpdate a payment intent
List Payment IntentsList payment intents
Confirm Payment IntentConfirm a payment intent to attempt payment
Capture Payment IntentCapture a manual-capture payment intent
Cancel Payment IntentCancel a payment intent
Search Payment IntentsSearch payment intents with the Search Query Language

Refunds

ActionDescription
Create RefundRefund a payment intent or charge
Retrieve RefundRetrieve a refund by ID
Update RefundUpdate a refund's metadata
List RefundsList refunds
Cancel RefundCancel a refund awaiting action

Checkout Sessions

ActionDescription
Create Checkout SessionCreate a Stripe Checkout session
Update Checkout SessionUpdate a checkout session before completion
Retrieve Checkout SessionRetrieve a checkout session by ID
List Checkout SessionsList checkout sessions
List Checkout Session Line ItemsList line items for a checkout session
Expire Checkout SessionExpire an open checkout session

Action details ​

List Products ​

List products from your Stripe account.

Inputs

Display KeyExample InputDescriptionRestrictions
Active
Optional
"true"Filter by active status. true returns only active products, false only archived ones.Leave empty to return all products. Valid: true, false
Product IDs
Optional
["prod_123","prod_456"]Only return products with these IDs (e.g. prod_123).—
Shippable
Optional
"true"Only return products that are shippable (true) or not (false).Valid: true, false
URL
Optional
"https://example.com/product"Only return products with this URL.—
Limit
Optional
10Maximum number of products to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"prod_123"Pagination cursor: a product id. Returns the page of products after this id, pages forward through the list. Use the id of the last product on the current page to fetch the next page.—
Ending Before
Optional
"prod_456"Pagination cursor: a product id. Returns the page of products before this id, pages backward through the list. Use the id of the first product on the current page to fetch the previous page.—
Created
Optional
{"gte":1704067200}Filter by when the product was created, using the comparison operators gt (after), gte (on or after), lt (before) and lte (on or before). All values are Unix timestamps in seconds.—
Expand
Optional
["data.default_price"]List of fields to expand on the results. List results need the data. prefix (e.g. data.default_price).—

Example output

json
{ "object": "list", "data": [{ "id": "prod_123", "object": "product" }], "has_more": false, "url": "/v1/products" }

Documentation of API endpoint that powers action: Stripe API – List products (GET /v1/products)

Retrieve Product ​

Retrieve a product by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Product ID"prod_123"Stripe Product ID (e.g. prod_123) of the product to fetch.Required
Expand
Optional
["default_price"]List of fields to expand on the returned Product.Example path: default_price

Example output

json
{ "id": "prod_123", "object": "product", "name": "Premium Plan" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a product (GET /v1/products/{id})

Create Product ​

Create a product.

Inputs

Display KeyExample InputDescriptionRestrictions
Name"Premium Plan"Product name, shown to customers on invoices and receipts.Required
Description
Optional
"Access to all premium features"Product description, often shown at checkout.—
Images
Optional
["https://example.com/product.png"]Up to 8 image URLs for the product.—
Default Price Data
Optional
{"currency":"usd","unit_amount":1000,"recurring":{"interval":"month"}}Create a price together with the product and set it as the default. The created price becomes the product’s default price, it cannot be archived until the default is changed.—
URL
Optional
"https://example.com/premium"A URL of a publicly-accessible webpage for this product.—
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels).—
Custom ID
Optional
"my_product_42"Optional custom identifier for the product (instead of a generated prod_… id).Must be unique across products
Shippable
Optional
"false"Whether this product is shipped (physical good).Valid: true, false
Package Dimensions
Optional
{"height":10,"length":20,"weight":500,"width":15}Shipping dimensions of the product. All four keys are required by Stripe: height, length, width (inches) and weight (ounces).—
Statement Descriptor
Optional
"PREMIUM PLAN"Extra text shown on the customer’s credit card statement (max 22 characters, no <, >, \, ", ').Only used for subscription payments
Unit Label
Optional
"seat"Label that represents units of this product (e.g. seat), shown at checkout and on invoices.—
Tax Code
Optional
"txcd_10000000"Stripe tax code (txcd_…) for automatic tax.—
Marketing Features
Optional
[{"name":"Unlimited seats"}]Up to 15 feature bullets (e.g. for pricing tables): [{ name: "Unlimited seats" }].—
Expand
Optional
["default_price"]List of fields to expand on the returned Product (e.g. default_price).—

Example output

json
{ "id": "prod_123", "object": "product", "name": "Premium Plan" }

Documentation of API endpoint that powers action: Stripe API – Create a product (POST /v1/products)

Update Product ​

Update a product.

Inputs

Display KeyExample InputDescriptionRestrictions
Product ID"prod_123"Stripe Product ID (e.g. prod_123) of the product to update.Required
Name
Optional
"Premium Plan"Product name, shown to customers on invoices and receipts.—
Active
Optional
"false"Set to false to archive the product (hidden from new purchases, existing subscriptions unaffected), true to unarchive.Leave empty to keep the current status. Valid: true, false
Description
Optional
"Access to all premium features"Product description, often shown at checkout.—
Default Price
Optional
"price_123"Price ID to set as the product’s default price. The price must belong to this product. A price that is a product’s default cannot be archived until the default is changed.—
Images
Optional
["https://example.com/product.png"]Up to 8 image URLs for the product. Replaces the existing image list.—
URL
Optional
"https://example.com/premium"A URL of a publicly-accessible webpage for this product.—
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels). Setting a key to an empty string deletes that key.—
Shippable
Optional
"false"Whether this product is shipped (physical good).Valid: true, false
Package Dimensions
Optional
{"height":10,"length":20,"weight":500,"width":15}Shipping dimensions of the product. All four keys are required by Stripe: height, length, width (inches) and weight (ounces). Leaving the object empty keeps the current dimensions.—
Statement Descriptor
Optional
"PREMIUM PLAN"Extra text shown on the customer’s credit card statement (max 22 characters, no <, >, \, ", ').Only used for subscription payments
Unit Label
Optional
"seat"Label that represents units of this product (e.g. seat), shown at checkout and on invoices.—
Tax Code
Optional
"txcd_10000000"Stripe tax code (txcd_…) for automatic tax.—
Marketing Features
Optional
[{"name":"Unlimited seats"}]Up to 15 feature bullets (e.g. for pricing tables): [{ name: "Unlimited seats" }]. Replaces the existing list.—
Expand
Optional
["default_price"]List of fields to expand on the returned Product (e.g. default_price).—

Example output

json
{ "id": "prod_123", "object": "product", "name": "Premium Plan Updated" }

Documentation of API endpoint that powers action: Stripe API – Update a product (POST /v1/products/{id})

Delete Product ​

Delete a product.

Inputs

Display KeyExample InputDescriptionRestrictions
Product ID"prod_123"Product ID to deleteRequired

Example output

json
{ "id": "prod_123", "object": "product", "deleted": true }

Documentation of API endpoint that powers action: Stripe API – Delete a product (DELETE /v1/products/{id})

Search Products ​

Search products with Stripe's Search Query Language.

Inputs

Display KeyExample InputDescriptionRestrictions
Queryname~"shirt" AND active:"true"Stripe Search Query Language expression. Searchable fields: name, active, description, url, shippable, metadata["key"]. Data is searchable within ~1 minute, so avoid it in read-after-write flows.Required
Limit
Optional
10Number of results per page; Stripe returns 10 when empty.Valid: 1–100
Page
Optional
WyJwcm9kXzEiXQ==Pagination token: pass the previous response's next_page value.—
Expand
Optional
["data.default_price"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "search_result", "data": [{ "id": "prod_123", "object": "product" }], "has_more": false, "next_page": null, "url": "/v1/products/search" }

Documentation of API endpoint that powers action: Stripe API – Search products (GET /v1/products/search)

List Prices ​

List prices from your Stripe account.

Inputs

Display KeyExample InputDescriptionRestrictions
Active
Optional
"true"Filter by active status. true returns only active prices, false only inactive ones.Leave empty to return all prices. Valid: true, false
Currency
Optional
"usd"Only return prices for this currency (e.g. usd, eur).—
Product
Optional
"prod_123"Only return prices for this product (e.g. prod_123).—
Type
Optional
"recurring"Only return prices of this type: one_time or recurring.Valid: one_time, recurring
Limit
Optional
10Maximum number of prices to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"price_123"Pagination cursor: a price id. Returns the page of prices after this id, pages forward through the list. Use the id of the last price on the current page to fetch the next page.—
Ending Before
Optional
"price_456"Pagination cursor: a price id. Returns the page of prices before this id, pages backward through the list. Use the id of the first price on the current page to fetch the previous page.—
Created
Optional
{"gte":1704067200,"lt":1706745600}Filter by when the price was created, using the comparison operators gt (after), gte (on or after), lt (before) and lte (on or before). All values are Unix timestamps in seconds. Example: {"gte": 1704067200, "lt": 1706745600}, prices created in January 2024.—
Recurring
Optional
{"interval":"month"}Filter recurring prices by their recurring properties. Supports interval (day, week, month, year), usage_type (licensed, metered), and meter.—
Lookup Keys
Optional
["premium_monthly","premium_yearly"]Only return prices with these lookup keys. You can specify up to 10 lookup keys.—
Expand
Optional
["data.product"]List of fields to expand on the response. On list actions, paths that target each Price must be prefixed with data., e.g. data.product, data.currency_options.—

Example output

json
{ "object": "list", "data": [{ "id": "price_123", "object": "price" }], "has_more": false, "url": "/v1/prices" }

Documentation of API endpoint that powers action: Stripe API – List prices (GET /v1/prices)

Retrieve Price ​

Retrieve a price by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Price ID"price_123"Stripe Price ID (e.g. price_123) of the price to fetch.Required
Expand
Optional
["product","tiers"]List of fields to expand on the returned Price.Example paths: product, tiers, currency_options

Example output

json
{ "id": "price_123", "object": "price", "currency": "usd" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a price (GET /v1/prices/{id})

Create Price ​

Create a price.

Inputs

Display KeyExample InputDescriptionRestrictions
Currency"usd"Three-letter ISO currency code, in lowercase (e.g. usd, eur, gbp).Required
Product ID"prod_123"Stripe Product ID to attach this price to (e.g. prod_123).Required unless Product is set to Create Product
Product{"name":"Premium Plan"}Create a new product inline alongside this price. name is required.Required when Product is set to Create Product
Unit Amount1000Price in the smallest currency unit (e.g. cents; 1000 = $10.00).Required unless Amount Type is Decimal Amount, Custom Unit Amount is on, or Billing Scheme is tiered. Cannot be set together with unit_amount_decimal
Unit Amount Decimal"10.50"Price with up to 12 decimal places in the smallest currency unit. Use when you need sub-cent precision.Required when Amount Type is Decimal Amount, unless Billing Scheme is tiered. Cannot be set together with unit_amount
Active
Optional
"true"Whether the price can be used for new purchases. Defaults to true when not set.Valid: true, false
Nickname
Optional
"Monthly Premium"A brief description of the price, hidden from customers.—
Recurring{"interval":"month"}Recurring billing configuration. interval is required.Required when the Recurring toggle is on
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels).—
Billing Scheme
Optional
"per_unit"How the price per period is computed. per_unit: fixed amount per quantity unit. tiered: unit pricing computed via the tiers and tiers_mode attributes.Valid: per_unit, tiered
Tiers[{"up_to":10,"unit_amount":1000},{"up_to":"inf","unit_amount":800}]Pricing tiers (required when billing_scheme=tiered). Each tier requires up_to (integer or "inf" for the last tier). Optional per-tier: unit_amount, flat_amount, unit_amount_decimal, flat_amount_decimal.Required when Billing Scheme is tiered
Tiers Mode"graduated"Tier pricing strategy (required when billing_scheme=tiered). graduated: pricing changes progressively as quantity grows. volume: the highest tier reached sets the per-unit price for the whole period.Required when Billing Scheme is tiered. Valid: graduated, volume
Custom Unit Amount{"enabled":true,"minimum":500,"maximum":10000,"preset":2000}Allow customers to set their own price during Checkout or Payment Links. Stripe requires enabled: true inside this object, the form toggle adds it automatically, but a bound object must carry it itself. Optionally constrain with minimum, maximum, and preset (in smallest currency unit).Required when the Custom Unit Amount toggle is on
Lookup Key
Optional
"premium_monthly"A unique string to retrieve this price dynamically. Up to 200 characters.—
Tax Behavior
Optional
"exclusive"Whether the price includes or excludes tax. Once set to inclusive or exclusive, it cannot be changed.Valid: exclusive, inclusive, unspecified
Transfer Lookup Key
Optional
trueIf enabled, atomically moves the lookup_key from the existing price that holds it to this one.—
Transform Quantity{"divide_by":2,"round":"up"}Transform the reported usage or set quantity before computing the billed amount. Both divide_by and round are required.Required when the Transform Quantity toggle is on
Currency Options
Optional
{"eur":{"unit_amount":900}}Prices defined in each available currency option. Each key is a three-letter ISO currency code. Each value is an object with optional unit_amount, tax_behavior, tiers, unit_amount_decimal, custom_unit_amount.—
Expand
Optional
["product"]List of fields to expand in the response. Example: ["product"] returns the full product object instead of just its ID.—

Five editor selectors decide which of these fields you fill. Product switches between an existing Product ID and creating one inline. Amount Type switches between Unit Amount and Unit Amount Decimal. Recurring, Custom Unit Amount and Transform Quantity each reveal the object they name. Switching clears the fields you are not using, so only one shape is ever sent.

Example output

json
{ "id": "price_123", "object": "price", "currency": "usd" }

Documentation of API endpoint that powers action: Stripe API – Create a price (POST /v1/prices)

Update Price ​

Update a price.

Inputs

Display KeyExample InputDescriptionRestrictions
Price ID"price_123"Stripe Price ID (e.g. price_123) of the price to update.Required
Active
Optional
"false"Whether the price can be used for new purchases. Set to Inactive to archive the price.Valid: true, false
Nickname
Optional
"Updated Monthly"A brief description of the price, hidden from customers.—
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels). Set a key to an empty string to delete it.—
Lookup Key
Optional
"premium_monthly_v2"A unique string to retrieve this price dynamically. Up to 200 characters.—
Tax Behavior
Optional
"inclusive"Whether the price includes or excludes tax. Once set to inclusive or exclusive, it cannot be changed, re-sending the current value is accepted, only changing it is refused (live-verified).Valid: exclusive, inclusive, unspecified
Transfer Lookup Key
Optional
trueIf enabled, atomically moves the lookup_key from the existing price that holds it to this one.—
Currency Options
Optional
{"eur":{"unit_amount":900}}Prices defined in each available currency option. Each key is a three-letter ISO currency code. Each value is an object with optional unit_amount, tax_behavior, tiers, unit_amount_decimal, custom_unit_amount.—
Expand
Optional
["product"]List of fields to expand in the response. Example: ["product"] returns the full product object instead of just its ID.—

Example output

json
{ "id": "price_123", "object": "price", "active": false }

Documentation of API endpoint that powers action: Stripe API – Update a price (POST /v1/prices/{id})

Search Prices ​

Search prices with Stripe's Search Query Language.

Inputs

Display KeyExample InputDescriptionRestrictions
Queryproduct:"prod_123" AND active:"true"Stripe Search Query Language expression. Searchable fields: active, currency, lookup_key, product, type, metadata["key"] (created is not searchable on prices). Data is searchable within ~1 minute, so avoid it in read-after-write flows.Required
Limit
Optional
10Number of results per page; Stripe returns 10 when empty.Valid: 1–100
Page
Optional
WyJwcmljZV8xIl0=Pagination token: pass the previous response's next_page value.—
Expand
Optional
["data.product"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "search_result", "data": [{ "id": "price_123", "object": "price" }], "has_more": false, "next_page": null, "url": "/v1/prices/search" }

Documentation of API endpoint that powers action: Stripe API – Search prices (GET /v1/prices/search)

List Customers ​

List customers.

Inputs

Display KeyExample InputDescriptionRestrictions
Email
Optional
"customer@example.com"Filter on the customer’s email field. The match is exact and case-sensitive, partial matches are not returned.Leave empty to list all customers
Limit
Optional
10Maximum number of customers to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"cus_123"Pagination cursor: a customer id. Returns the page of customers after this id, pages forward through the list. Use the id of the last customer on the current page to fetch the next page.—
Ending Before
Optional
"cus_456"Pagination cursor: a customer id. Returns the page of customers before this id, pages backward through the list. Use the id of the first customer on the current page to fetch the previous page.—
Created
Optional
{"gte":1704067200,"lt":1706745600}Filter by when the customer was created, using the comparison operators gt (after), gte (on or after), lt (before) and lte (on or before). All values are Unix timestamps in seconds. Example: {"gte": 1704067200, "lt": 1706745600}, customers created in January 2024.—
Test Clock
Optional
"clock_123"Only return customers attached to this test clock id (e.g. clock_123). Test clocks exist in test mode only.—
Expand
Optional
["data.subscriptions"]List of fields to expand on the response. On list actions, paths that target each Customer must be prefixed with data., e.g. data.subscriptions, data.invoice_settings.default_payment_method.—

Example output

json
{ "object": "list", "data": [{ "id": "cus_123", "object": "customer" }], "has_more": false, "url": "/v1/customers" }

Documentation of API endpoint that powers action: Stripe API – List customers (GET /v1/customers)

Retrieve Customer ​

Retrieve a customer by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer ID"cus_123"Stripe Customer ID (e.g. cus_123) of the customer to fetch. Pass a deleted customer id to retrieve a minimal object with deleted: true.Required
Expand
Optional
["default_source","subscriptions"]List of fields to expand on the returned Customer.Example paths: default_source, invoice_settings.default_payment_method, subscriptions

Example output

json
{ "id": "cus_123", "object": "customer", "email": "customer@example.com" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a customer (GET /v1/customers/{id})

Create Customer ​

Create a customer.

Inputs

Display KeyExample InputDescriptionRestrictions
Email
Optional
"customer@example.com"Email address for the customer.—
Name
Optional
"John Doe"Full name of the customer.—
Business Name
Optional
"Acme Inc."The customer's business name, when the customer is a business.—
Individual Name
Optional
"Jane Smith"The customer's individual name, when the customer is a person.—
Phone
Optional
"+1234567890"Phone number for the customer.—
Description
Optional
"Premium customer"Optional note or description for this customer.—
Invoice Prefix
Optional
"CUST"Prefix shown on invoice numbers (3–12 characters).—
Invoice Settings
Optional
—Invoice options for this customer.—
Next Invoice Sequence
Optional
1The sequence to be used on the next invoice for this customer.—
Address
Optional
—Customer's billing address.—
Tax Exempt
Optional
"none"Tax handling: none, exempt, or reverse.Valid: none, exempt, reverse
Tax
Optional
—Tax settings for the customer.—
Tax ID Data
Optional
[{"type":"eu_vat","value":"DE123456789"}]List of tax IDs to associate with the customer (e.g. VAT, EIN). Each entry requires a type (Stripe tax ID type, e.g. eu_vat, us_ein, gb_vat) and a value (the actual ID number). Create only, tax IDs cannot be modified through Update Customer.—
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels).—
Shipping{"name":"Jane Doe","address":{"line1":"123 Main St","country":"US"}}Mailing and shipping address for the customer. Shown on invoices emailed to this customer. shipping.name and shipping.address are required when you set shipping.Required when the Shipping address toggle is on
Payment Method
Optional
"pm_123"Stripe Payment Method ID (e.g. pm_123) to attach as default.—
Preferred Locales
Optional
["en","fr-CA"]Customer's preferred languages, ordered by preference. Use IETF language tags (e.g. en, fr-CA).—
Balance
Optional
0Starting balance in the smallest currency unit (e.g. cents). Can be negative for credit.—
Cash Balance
Optional
—Cash balance options.—
Source
Optional
"tok_123"A token or source ID to attach as the default source (e.g. tok_123).—
Test Clock
Optional
"clock_123"ID of a test clock to attach to this customer (test mode only).—
Expand
Optional
["tax_ids","subscriptions"]List of fields to expand on the created Customer response.Example paths: sources, subscriptions, tax_ids

A Shipping address toggle sits above Shipping in the editor. The shipping fields only appear once it is on, and nothing is sent while it is off.

Example output

json
{ "id": "cus_123", "object": "customer", "name": "John Doe" }

Documentation of API endpoint that powers action: Stripe API – Create a customer (POST /v1/customers)

Update Customer ​

Update a customer.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer ID"cus_123"Stripe Customer ID (e.g. cus_123) of the customer to update.Required
Email
Optional
"newemail@example.com"Customer's email address.—
Name
Optional
"Jane Doe"Customer's name.—
Business Name
Optional
"Acme Inc."The customer's business name, when the customer is a business.—
Individual Name
Optional
"Jane Smith"The customer's individual name, when the customer is a person.—
Phone
Optional
"+1987654321"Customer's phone number.—
Description
Optional
"VIP customer"Optional note or description for this customer.—
Invoice Prefix
Optional
"VIP"Prefix for invoice numbers (3–12 characters).—
Invoice Settings
Optional
—Invoice options for this customer.—
Next Invoice Sequence
Optional
1The sequence to be used on the next invoice for this customer.—
Address
Optional
—Customer's billing address.—
Tax Exempt
Optional
"none"Tax handling: none, exempt, or reverse.Valid: none, exempt, reverse
Tax
Optional
—Tax settings for the customer.—
Metadata
Optional
{"internal_id":"42"}Custom key-value pairs (e.g. for your own IDs or labels). Setting a key to an empty string deletes that key.—
Shipping{"name":"Jane Doe","address":{"line1":"456 Oak St","country":"US"}}Mailing and shipping address for the customer. Shown on invoices emailed to this customer. shipping.name and shipping.address are required when you set shipping.Required when the Shipping address toggle is on
Default Source
Optional
"card_456"Default payment source (e.g. card_456).—
Preferred Locales
Optional
["en","fr-CA"]Customer's preferred languages, ordered by preference. Use IETF language tags (e.g. en, fr-CA).—
Balance
Optional
-500Balance in the smallest currency unit (e.g. cents). Can be negative for credit.—
Cash Balance
Optional
—Cash balance options.—
Source
Optional
"tok_123"A token or source ID to attach as a source (e.g. tok_123).—
Expand
Optional
["default_source","tax_ids"]List of fields to expand on the updated Customer response.Example paths: default_source, tax_ids, subscriptions

A Shipping address toggle sits above Shipping in the editor. The shipping fields only appear once it is on, and nothing is sent while it is off.

Example output

json
{ "id": "cus_123", "object": "customer", "email": "newemail@example.com" }

Documentation of API endpoint that powers action: Stripe API – Update a customer (POST /v1/customers/{id})

Delete Customer ​

Delete a customer.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer ID"cus_123"Customer ID to deleteRequired

Example output

json
{ "id": "cus_123", "object": "customer", "deleted": true }

Documentation of API endpoint that powers action: Stripe API – Delete a customer (DELETE /v1/customers/{id})

List Invoices ​

List invoices.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
"cus_123"Only return invoices for this customer (e.g. cus_123).—
Status
Optional
"paid"Only return invoices with this status.Valid: draft, open, paid, uncollectible, void
Subscription
Optional
"sub_123"Only return invoices for this subscription (e.g. sub_123).—
Collection Method
Optional
"send_invoice"Only return invoices with this collection method.Valid: charge_automatically, send_invoice
Limit
Optional
10Maximum number of invoices to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"in_123"Cursor for pagination: return invoices after this object id. Use the last invoice's id from the previous page.—
Ending Before
Optional
"in_456"Cursor for pagination: return invoices before this object id. Use the first invoice's id from the current page to go backward.—
Created
Optional
{"gte":"1609459200"}Filter by when the invoice was created. gt, strictly after · gte, on or after lt, strictly before · lte, on or before All values are Unix timestamps (seconds since Jan 1, 1970 UTC).—
Due Date
Optional
{"gt":"1609459200"}Filter by due date. gt, strictly after · gte, on or after lt, strictly before · lte, on or before All values are Unix timestamps.—
Expand
Optional
["data.customer"]List of fields to expand in the response. Example: ["data.customer"] returns full customer objects instead of IDs.—

Example output

json
{ "object": "list", "data": [{ "id": "in_123", "object": "invoice" }], "has_more": false, "url": "/v1/invoices" }

Documentation of API endpoint that powers action: Stripe API – List invoices (GET /v1/invoices)

Retrieve Invoice ​

Retrieve an invoice by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice ID"in_123"Stripe Invoice ID (e.g. in_123) of the invoice to fetch.Required
Expand
Optional
["customer"]List of fields to expand in the response. Example: ["customer"] returns the full customer object instead of just its ID.—

Example output

json
{ "id": "in_123", "object": "invoice", "status": "draft" }

Documentation of API endpoint that powers action: Stripe API – Retrieve an invoice (GET /v1/invoices/{id})

Create Invoice ​

Create an invoice for a customer.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer"cus_123"Stripe Customer ID (e.g. cus_123) to attach the invoice to.Required
Auto Advance
Optional
"true"If enabled, the invoice is finalized and collected automatically after creation.—
Collection Method
Optional
"charge_automatically"How to collect payment: charge_automatically charges the default payment method, send_invoice emails the invoice to the customer.Valid: charge_automatically, send_invoice
Description
Optional
"Monthly invoice"Optional note or description for the invoice.—
Days Until Due
Optional
30Number of days until the invoice is due.Required when collection_method is send_invoice
Due Date
Optional
1672531200When the invoice is due, as a Unix timestamp.—
Metadata
Optional
{"internal_id":"123"}Custom key-value pairs (e.g. for your own IDs or labels).—
Subscription
Optional
"sub_123"Subscription ID to attach to the invoice.—
Currency
Optional
"usd"Three-letter ISO currency code (e.g. usd, eur).—
Automatic Tax
Optional
{"enabled":"true"}Automatic tax settings. Pass {"enabled": true} to enable Stripe Tax for this invoice.—
Account Tax IDs
Optional
["taxid_123"]Array of Tax ID strings (e.g. taxid_123) to display on the invoice.—
Application Fee Amount
Optional
100Application fee in the smallest currency unit (e.g. cents).—
Custom Fields
Optional
[{"name":"PO","value":"12345"}]Custom fields displayed on the invoice. Array of objects with name and value.—
Default Payment Method
Optional
"pm_123"Stripe Payment Method ID (e.g. pm_123) to use by default for this invoice.—
Default Source
Optional
"card_123"Payment source ID (e.g. card_123) to use by default.—
Default Tax Rates
Optional
["txr_123"]Array of Stripe Tax Rate IDs (e.g. txr_123) to apply by default.—
Discounts
Optional
[{"coupon":"SUMMER20"}]Discounts to apply. Array of discount objects (e.g. {"coupon": "SUMMER20"}).—
Footer
Optional
"Thank you for your business"Footer text shown at the bottom of the invoice.—
From Invoice
Optional
{"action":"revision","invoice":"in_123"}Create this invoice from an existing one. Object with action (e.g. "revision") and invoice (Invoice ID).—
Pending Items Behavior
Optional
"exclude"How to handle pending invoice items: exclude, include, or include_and_require.Valid: exclude, include, include_and_require
Rendering Options
Optional
{"amount_tax_display":"include_inclusive_tax"}Display options. Object with amount_tax_display (e.g. "include_inclusive_tax").—
Statement Descriptor
Optional
"MONTHLY"Text shown on the customer's bank statement (max 22 characters).—
Transfer Data
Optional
{"destination":"acct_123"}Transfer options. Object with destination (connected account ID, e.g. acct_123).—
On Behalf Of
Optional
"acct_123"Connected account ID on whose behalf the invoice is created (e.g. acct_123).—
Payment Settings
Optional
{"payment_method_types":"["card"]"}Payment options. Object with payment_method_types (e.g. ["card", "ach_debit"]).—
Invoice Number
Optional
"INV-0001"A custom invoice number.Must be unique across all invoices on the account
Automatically Finalizes At
Optional
1672531200Unix timestamp at which the draft invoice will be automatically finalized.—
Effective At
Optional
1672531200Unix timestamp at which the invoice becomes effective.—
Issuer
Optional
{"type":"account","account":"acct_123"}The connected account that issues the invoice. Object with type (e.g. "account") and optionally account (connected account ID).—
Shipping Cost
Optional
{"shipping_rate":"shr_123"}Shipping cost to add to the invoice. Object with shipping_rate (ID) or shipping_rate_data (inline data).—
Shipping Details
Optional
{"name":"John Doe","address":{"line1":"123 Main St","country":"US"}}Shipping details for the invoice. Object with address and name.—
Customer Account
Optional
"acct_123"Connected account ID of the customer for this invoice.—
Expand
Optional
["customer"]List of fields to expand in the response. Example: ["customer"] returns the full customer object instead of just its ID.—

A Due By selector decides which due date field you fill: Days Until Due, or Specific Date which shows Due Date. Only the one you pick is sent.

Example output

json
{ "id": "in_123", "object": "invoice", "customer": "cus_123" }

Documentation of API endpoint that powers action: Stripe API – Create an invoice (POST /v1/invoices)

Update Invoice ​

Update an invoice.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice ID"in_123"Stripe Invoice ID (e.g. in_123) of the invoice to update.Required
Auto Advance
Optional
"false"Automatically finalize and collect payment for this invoice.—
Collection Method
Optional
"send_invoice"How to collect payment: charge_automatically or send_invoice.Valid: charge_automatically, send_invoice
Description
Optional
"Updated invoice"Description for the invoice.—
Days Until Due
Optional
45Number of days until the invoice is due (positive integer).—
Due Date
Optional
1672617600When the invoice is due, as a Unix timestamp.—
Metadata
Optional
{"internal_id":"456"}Custom key-value pairs (e.g. for your own IDs or labels).—
Automatic Tax
Optional
{"enabled":"true"}Automatic tax settings. Pass {"enabled": true} to enable Stripe Tax for this invoice.—
Account Tax IDs
Optional
["taxid_456"]Array of Tax ID strings (e.g. taxid_123) to display on the invoice. Pass an empty array to remove all.—
Application Fee Amount
Optional
200Application fee in the smallest currency unit (e.g. cents).—
Custom Fields
Optional
[{"name":"Invoice #","value":"67890"}]Custom fields displayed on the invoice. Array of objects with name and value. Pass an empty array to remove all.—
Default Payment Method
Optional
"pm_456"Stripe Payment Method ID (e.g. pm_123) to use by default.—
Default Source
Optional
"card_456"Stripe payment source ID (e.g. card_123) to use by default.—
Default Tax Rates
Optional
["txr_456"]Array of Stripe Tax Rate IDs (e.g. txr_123) to apply by default. Pass an empty array to remove all.—
Discounts
Optional
[{"discount":"di_123"}]Discounts to apply. Array of discount objects or empty array to remove all.—
Footer
Optional
"Updated footer"Footer text shown at the bottom of the invoice.—
On Behalf Of
Optional
"acct_123"Connected account ID on whose behalf the invoice is created.—
Payment Settings
Optional
{"payment_method_types":"["card"]"}Payment options. Object with payment_method_types (e.g. ["card", "ach_debit"]).—
Rendering Options
Optional
{"amount_tax_display":"exclude_tax"}Display options. Object with amount_tax_display (e.g. "exclude_tax", "include_inclusive_tax").—
Statement Descriptor
Optional
"UPDATED"Text shown on the customer's bank statement (max 22 characters).—
Transfer Data
Optional
{"destination":"acct_456"}Transfer options. Object with destination (connected account ID, e.g. acct_123).—
Invoice Number
Optional
"INV-0001"A custom invoice number.Must be unique across all invoices on the account
Automatically Finalizes At
Optional
1672531200Unix timestamp at which the draft invoice will be automatically finalized.—
Effective At
Optional
1672531200Unix timestamp at which the invoice becomes effective.—
Issuer
Optional
{"type":"account","account":"acct_123"}The connected account that issues the invoice. Object with type (e.g. "account") and optionally account (connected account ID).—
Shipping Cost
Optional
{"shipping_rate":"shr_123"}Shipping cost to add to the invoice. Object with shipping_rate (ID) or shipping_rate_data (inline data).—
Shipping Details
Optional
{"name":"John Doe","address":{"line1":"123 Main St","country":"US"}}Shipping details for the invoice. Object with address and name.—
Expand
Optional
["customer"]List of fields to expand in the response. Example: ["customer"] returns the full customer object instead of just its ID.—

A Due By selector decides which due date field you fill: Days Until Due, or Specific Date which shows Due Date. Only the one you pick is sent.

Example output

json
{ "id": "in_123", "object": "invoice", "status": "draft" }

Documentation of API endpoint that powers action: Stripe API – Update an invoice (POST /v1/invoices/{id})

Delete Invoice ​

Delete a draft invoice.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice ID"in_123"Invoice ID to deleteRequired

Example output

json
{ "id": "in_123", "object": "invoice", "deleted": true }

Documentation of API endpoint that powers action: Stripe API – Delete a draft invoice (DELETE /v1/invoices/{id})

Finalize Invoice ​

Finalizes a draft invoice so it can be paid or sent.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the draft invoice to finalize.Required
Auto Advance
Optional
trueWhen off, the invoice stays in manual collection after finalization and is not automatically charged or sent.Boolean
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice", "status": "open" }

Documentation of API endpoint that powers action: Stripe API – Finalize an invoice (POST /v1/invoices/:id/finalize)

Pay Invoice ​

Pays a finalized invoice with a payment method, source or the customer balance.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the open invoice to pay.Required
Paid Out of Band
Optional
trueMarks the invoice paid because payment was collected outside of Stripe, without charging a payment method.Mutually exclusive with Forgive — Stripe rejects the request when both keys are present, even if one is false. Bind true or leave unbound.
Payment Method
Optional
pm_123Payment Method ID to charge; defaults to the invoice's default payment method.Fill either Payment Method or Source, not both
Forgive
Optional
trueIf payment fails, mark the invoice paid anyway and close it.Mutually exclusive with Paid Out of Band — Stripe rejects the request when both keys are present, even if one is false. Bind true or leave unbound.
Off Session
Optional
trueIndicates the payment is off-session (the customer is not actively present).Boolean
Source
Optional
card_123Legacy Source ID to charge.Fill either Payment Method or Source, not both
Mandate
Optional
mandate_123Mandate ID to use for this payment.—
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

A Payment Source selector decides how the invoice is paid: Payment Method, or Source (legacy) which shows Source. Only the one you pick is sent.

Example output

json
{ "id": "in_123", "object": "invoice", "status": "paid", "paid": true }

Documentation of API endpoint that powers action: Stripe API – Pay an invoice (POST /v1/invoices/:id/pay)

Send Invoice ​

Sends a finalized invoice to the customer by email (send_invoice collection method).

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the finalized invoice to send.Required / only finalized invoices can be sent
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice" }

Documentation of API endpoint that powers action: Stripe API – Send an invoice for manual payment (POST /v1/invoices/:id/send)

Void Invoice ​

Voids a finalized invoice; this cannot be undone.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the open or finalized invoice to void.Required / voided invoices cannot be reopened
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice", "status": "void" }

Documentation of API endpoint that powers action: Stripe API – Void an invoice (POST /v1/invoices/:id/void)

Mark Invoice Uncollectible ​

Marks a finalized invoice as uncollectible for accounting purposes.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the open invoice to mark as uncollectible.Required
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice", "status": "uncollectible" }

Documentation of API endpoint that powers action: Stripe API – Mark an invoice as uncollectible (POST /v1/invoices/:id/mark_uncollectible)

Attach Payment to Invoice ​

Attaches an existing PaymentIntent to an invoice, marking it paid when the amounts match.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the invoice to attach the payment to.Required
Payment Intentpi_123PaymentIntent ID to attach to this invoice.Required / amount must exactly equal the invoice's remaining balance (amount_remaining); a PaymentIntent from a Checkout session with invoice creation enabled cannot be attached

Example output

json
{ "id": "in_123", "object": "invoice" }

Documentation of API endpoint that powers action: Stripe API – Attach a payment to an invoice (POST /v1/invoices/:id/attach_payment)

Preview Invoice ​

Previews the next invoice for a customer or subscription without creating it (amounts, prorations, upcoming lines).

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
cus_123Customer ID to generate the preview for.—
Subscription
Optional
sub_123Subscription ID to preview the upcoming invoice for.—
Currency
Optional
usdThree-letter ISO currency code for the preview.—
Customer Details
Optional
{"address": {"country": "US"}}Inline customer info overriding stored details for this preview only (address, shipping, tax_exempt, tax_ids).Object
Subscription Details
Optional
{"proration_behavior": "create_prorations"}Subscription modifications to preview (items, trial_end, proration_behavior).Object
Automatic Tax
Optional
{"enabled": true}Automatic tax settings; set enabled to turn on Stripe Tax.Object
Discounts
Optional
[{"coupon": "SUMMER20"}]Discounts to apply in this preview.Array of discount objects
Invoice Items
Optional
[{"amount": 1000, "currency": "usd", "description": "Consulting"}]Items to add for this preview.Array of invoice item objects
On Behalf Of
Optional
acct_123Connected account ID on whose behalf the preview is generated.—
Schedule
Optional
sub_sched_123Subscription Schedule ID to preview.—
Schedule Details
Optional
{"phases": []}Schedule modification details to preview.Object
Issuer
Optional
{"type": "account", "account": "acct_123"}Connected account that issues the invoice (type, optional account).Object
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "object": "invoice", "total": 2000, "lines": { "data": [] } }

Note: the preview is a transient invoice with no id and is never persisted.

Documentation of API endpoint that powers action: Stripe API – Create a preview invoice (POST /v1/invoices/create_preview)

List Invoice Line Items ​

Lists the line items of an invoice with cursor-based pagination.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the invoice whose line items to list.Required
Limit
Optional
10Maximum number of line items to return. Default 10.Valid: 1–100
Starting After
Optional
il_123Pagination cursor: return line items after this object id.—
Ending Before
Optional
il_456Pagination cursor: return line items before this object id.—
Expand
Optional
["data.price"]Response fields to expand.Array of data.-prefixed expand paths

Example output

json
{ "object": "list", "data": [ { "id": "il_123", "object": "line_item" } ], "has_more": false, "url": "/v1/invoices/in_123/lines" }

Documentation of API endpoint that powers action: Stripe API – Retrieve an invoice's line items (GET /v1/invoices/:id/lines)

Add Invoice Line Items ​

Adds line items to a draft invoice in one call.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the draft invoice to add line items to.Required / invoice must be a draft
Lines[{"invoice_item": "ii_123"}]Line items to add. Each is either an existing item (invoice_item) or a new ad-hoc line with pricing (amount/pricing/price_data).Required / array of line objects
Invoice Metadata
Optional
{"order_id": "123"}Metadata to set on the invoice after adding lines; empty object clears all metadata.Object
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice", "lines": { "data": [ { "id": "il_123" } ] } }

Documentation of API endpoint that powers action: Stripe API – Bulk add invoice line items (POST /v1/invoices/:id/add_lines)

Remove Invoice Line Items ​

Removes (deletes or unassigns) line items from a draft invoice in one call.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the draft invoice to remove line items from.Required / invoice must be a draft
Lines[{"id": "il_123", "behavior": "delete"}]Line items to remove. Each requires id (line item ID) and behavior.Required / array of objects
↳ Line Item IDil_123Invoice line item ID to remove.Required
↳ Behaviordeletedelete permanently removes the line; unassign detaches it for reassignment.Required / Valid: delete, unassign
Invoice Metadata
Optional
{"order_id": "123"}Metadata to set on the invoice after removing lines; empty object clears all metadata.Object
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice" }

Documentation of API endpoint that powers action: Stripe API – Bulk remove invoice line items (POST /v1/invoices/:id/remove_lines)

Update Multiple Line Items ​

Updates multiple line items of a draft invoice in one call.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the draft invoice whose line items to update.Required / invoice must be a draft
Lines[{"id": "il_123", "amount": 2000, "description": "Updated item"}]Line items to update. Each requires id plus fields to change. For pricing use one of amount, pricing ({price}), or price_data.Required / array; amount/pricing/price_data are mutually exclusive per line
Invoice Metadata
Optional
{"order_id": "123"}Metadata to set on the invoice after updating lines; empty object clears all metadata.Object
Expand
Optional
["customer"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "in_123", "object": "invoice", "lines": { "data": [ { "id": "il_123" } ] } }

Documentation of API endpoint that powers action: Stripe API – Bulk update invoice line items (POST /v1/invoices/:id/update_lines)

Update Single Line Item ​

Updates a single line item of a draft invoice (amount, pricing, quantity, tax).

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice IDin_123ID of the invoice that contains the line item.Required
Line Item IDil_123ID of the line item to update.Required
Amount
Optional
1500Updated amount in the smallest currency unit (e.g. cents).Provide only one pricing form: amount, pricing, or price_data
Pricing
Optional
{"price": "price_123"}Attach a different Stripe Price (price).Provide only one pricing form
Price Data
Optional
{"currency": "usd", "product": "prod_123", "unit_amount": 1500}Inline price data (currency, product, unit_amount).Provide only one pricing form
Description
Optional
Updated consulting servicesUpdated description shown on the invoice.—
Quantity
Optional
2Updated quantity.Non-negative integer; not used with amount pricing
Discountable
Optional
trueWhether discounts apply to this line item.Boolean
Discounts
Optional
[{"coupon": "SUMMER20"}]Discounts to apply; empty array removes all.Array of discount objects
Metadata
Optional
{"project_id": "proj_123"}Custom key-value pairs for this line item.Object
Period
Optional
{"start": 1672531200, "end": 1675209600}Billing period (start, end as Unix timestamps).Object
Tax Amounts
Optional
[{"amount": 100, "taxable_amount": 1000, "tax_rate_data": {"percentage": 10, "inclusive": false, "display_name": "VAT"}}]Tax amounts (amount, tax_rate_data, taxable_amount); empty array removes all.Array
Tax Rates
Optional
["txr_123"]Stripe Tax Rate IDs to apply; empty array removes all.Array of strings
Expand
Optional
["price"]Response fields to expand.Array of Stripe expand paths

A Pricing Source selector decides how you set the amount: Amount, Existing Price (which shows Pricing), or Inline Price (which shows Price Data). Switching clears the fields you are not using, so only one shape is ever sent.

Example output

json
{ "id": "il_123", "object": "line_item" }

Documentation of API endpoint that powers action: Stripe API – Update an invoice's line item (POST /v1/invoices/:invoice/lines/:id)

List Subscriptions ​

List subscriptions.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
"cus_123"Only list subscriptions for this customer (e.g. cus_123).—
Customer Account
Optional
"acct_123"Only list subscriptions for this customer account ID.—
Price
Optional
"price_123"Only list subscriptions that include this price (e.g. price_123).—
Status
Optional
"active"Only list subscriptions with this status. Defaults to non-canceled subscriptions when not set. Use all to return every status, or ended for both canceled and expired subscriptions.Valid: active, past_due, unpaid, canceled, incomplete, incomplete_expired, trialing, all, ended
Limit
Optional
10Maximum number of subscriptions to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"sub_123"Pagination cursor: a subscription id. Returns the page of subscriptions after this id, pages forward through the list. Use the id of the last subscription on the current page to fetch the next page.—
Ending Before
Optional
"sub_456"Pagination cursor: a subscription id. Returns the page of subscriptions before this id, pages backward through the list. Use the id of the first subscription on the current page to fetch the previous page.—
Collection Method
Optional
"charge_automatically"Filter by collection method: charge_automatically or send_invoice.Valid: charge_automatically, send_invoice
Automatic Tax
Optional
{"enabled":"true"}Filter by automatic tax settings.—
Created
Optional
{"gte":1704067200,"lt":1706745600}Filter by when the subscription was created, using the comparison operators gt (after), gte (on or after), lt (before) and lte (on or before). All values are Unix timestamps in seconds. Example: {"gte": 1704067200, "lt": 1706745600}, subscriptions created in January 2024.—
Current Period Start
Optional
{"gte":1704067200}Filter by when the current billing period started, using gt, gte, lt, lte (exclusive/inclusive comparison operators). Values are Unix timestamps in seconds.—
Current Period End
Optional
{"lt":1706745600}Filter by when the current billing period ends, using gt, gte, lt, lte (exclusive/inclusive comparison operators). Values are Unix timestamps in seconds.—
Test Clock
Optional
"clock_123"Only return subscriptions attached to this test clock id (e.g. clock_123). Test clocks exist in test mode only.—
Expand
Optional
["data.customer"]List of fields to expand on the response. On list actions, paths that target each Subscription must be prefixed with data., e.g. data.customer, data.latest_invoice.—

Example output

json
{ "object": "list", "data": [{ "id": "sub_123", "object": "subscription" }], "has_more": false, "url": "/v1/subscriptions" }

Documentation of API endpoint that powers action: Stripe API – List subscriptions (GET /v1/subscriptions)

Retrieve Subscription ​

Retrieve a subscription by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Subscription ID"sub_123"Stripe Subscription ID (e.g. sub_123) of the subscription to fetch.Required
Expand
Optional
["customer","latest_invoice"]List of fields to expand on the returned Subscription.Example paths: customer, latest_invoice, default_payment_method

Example output

json
{ "id": "sub_123", "object": "subscription", "status": "active" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a subscription (GET /v1/subscriptions/{id})

Create Subscription ​

Create a subscription.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer"cus_123"Stripe Customer ID (e.g. cus_123) for this subscription.Required
Items[{"price":"price_123","quantity":1}]Up to 20 subscription items. Each item needs either price (a Price ID) or price_data for an inline price. An inline price needs currency, unit_amount, recurring.interval (day, week, month or year) and either product or product_data.name.Required
Cancel at Period End
Optional
"false"Cancel the subscription at the end of the current billing period.—
Default Payment Method
Optional
"pm_123"Stripe Payment Method ID (e.g. pm_123) to use as the default for this subscription.—
Description
Optional
"Premium plan"Customer-facing description for this subscription (max 500 characters).—
Collection Method
Optional
"charge_automatically"How to collect payment for this subscription. charge_automatically (default): automatically charges the customer. send_invoice: sends an invoice that the customer pays manually.Valid: charge_automatically, send_invoice
Currency
Optional
"usd"Three-letter ISO currency code (e.g. usd, eur).—
Trial Period Days
Optional
14Number of days for the free trial period (non-negative integer).—
Metadata
Optional
"{"order_id": "ord_123"}"Custom key-value pairs (e.g. for your own IDs or labels).—
Days Until Due
Optional
30Days until payment is due (positive integer).Only used when collection_method is send_invoice
Backdate Start Date
Optional
1672531200Backdate the subscription start date to this Unix timestamp.—
Billing Cycle Anchor
Optional
"now"Aligns future billing dates to a fixed anchor. Accepts a Unix timestamp or now.—
Cancel At
Optional
"1672531200"Schedule cancellation at a specific time. Accepts a Unix timestamp, max_period_end, or min_period_end.—
Default Tax Rates
Optional
"["txr_123"]"Tax rate IDs to apply to items without specific rates.—
Off Session
Optional
"true"Indicates that this payment is off-session (customer not actively in the checkout flow).—
Payment Behavior
Optional
"allow_incomplete"Controls what happens when the initial payment fails. allow_incomplete: creates the subscription in incomplete status. default_incomplete: same as allow_incomplete. error_if_incomplete: returns an error instead of creating the subscription.Valid: allow_incomplete, default_incomplete, error_if_incomplete
Payment Settings
Optional
"{"payment_method_types": ["card"]}"Payment method options and configurations.—
Pending Invoice Item Interval{"interval":"month"}Billing interval for accumulating pending invoice items.Required when Enable Pending Invoice Item Interval is on
Proration Behavior
Optional
"create_prorations"How to handle proration when the subscription is created mid-period.Valid: create_prorations, none, always_invoice
Transfer Data{"destination":"acct_123","amount_percent":50}Transfer invoiced amounts to a connected account (Stripe Connect).Required when Enable Transfer Data is on
Trial End
Optional
"now"Trial end date as a Unix timestamp, or now to end the trial immediately.—
Trial Settings{"end_behavior":{"missing_payment_method":"cancel"}}Configure behavior when the trial ends.Required when Enable Trial Settings is on
Trial from Plan
Optional
"true"Use the plan's built-in trial period days for this subscription.—
Discounts
Optional
"[{"coupon": "SUMMER20"}]"Discounts to apply to this subscription. Each object can include a coupon, discount, or promotion_code.—
Add Invoice Items
Optional
"[{"price": "price_123", "quantity": 1}]"Up to 20 invoice items to add on each billing cycle. Each object should include a price or price_data.—
Application Fee Percent
Optional
10Platform fee percentage for Stripe Connect (0–100, max 2 decimal places).—
Automatic Tax{"enabled":true}Automatic tax calculation settings.Required when Enable Automatic Tax is on
On Behalf Of
Optional
"acct_123"Connected account ID on whose behalf this subscription is charged (Stripe Connect).—
Invoice Settings{"account_tax_ids":["txid_123"]}Invoice billing configuration for this subscription.Required when Enable Invoice Settings is on
Default Source
Optional
"card_123"Default payment source ID. Superseded by default_payment_method when both are set.—
Billing Cycle Anchor Config{"day_of_month":15}Fix the billing cycle to a specific day of month (and optionally time).Required when Enable Billing Cycle Anchor Config is on
Billing Mode
Optional
{"type":"flexible"}Controls how prorations and invoices are calculated for this subscription.—
Billing Thresholds
Optional
{"amount_gte":5000}Thresholds that trigger automatic invoice generation.—
Customer Account
Optional
"acct_123"Stripe Connect account ID representing the customer.—
Expand
Optional
["latest_invoice"]List of fields to expand in the response. Example: ["latest_invoice"] returns the full invoice object instead of just its ID.—

Six Enable toggles reveal the objects they name: Pending Invoice Item Interval, Transfer Data, Trial Settings, Automatic Tax, Invoice Settings and Billing Cycle Anchor Config. Nothing is sent for an object while its toggle is off.

Example output

json
{ "id": "sub_123", "object": "subscription", "customer": "cus_123" }

Documentation of API endpoint that powers action: Stripe API – Create a subscription (POST /v1/subscriptions)

Update Subscription ​

Update a subscription.

Inputs

Display KeyExample InputDescriptionRestrictions
Subscription ID"sub_123"Stripe Subscription ID (e.g. sub_123) of the subscription to update.Required
Default Payment Method
Optional
"pm_456"Stripe Payment Method ID (e.g. pm_456) to set as the default for this subscription.—
Description
Optional
"Premium plan"Customer-facing description for this subscription (max 500 characters).—
Items
Optional
[{"id":"si_123","price":"price_456"}]Subscription items to modify. Each object can include: id (string): existing subscription item ID to update price (string): price ID to switch to price_data (object): inline price definition quantity (integer): item quantity deleted (boolean): set true to remove this item discounts (array): item-level discount coupons—
Collection Method
Optional
"charge_automatically"How to collect payment for this subscription.Valid: charge_automatically, send_invoice
Discounts
Optional
[{"coupon":"WINTER25"}]Discounts to apply to this subscription. Each object can include a coupon, discount, or promotion_code. Pass an empty array to remove all discounts.—
Metadata
Optional
{"order_id":"ord_123"}Custom key-value pairs (e.g. for your own IDs or labels).—
Billing Cycle Anchor
Optional
"unchanged"How to handle the billing cycle anchor on update. now: resets the billing cycle anchor to the current time. unchanged: keeps the current billing cycle anchor.Valid: now, unchanged
Cancel At
Optional
"1672617600"Schedule cancellation at a specific time. Accepts a Unix timestamp, max_period_end, or min_period_end. Pass an empty string to remove a previously scheduled cancellation.—
Days Until Due
Optional
30Days until payment is due (positive integer).Only used when collection_method is send_invoice
Default Source
Optional
"card_456"Default payment source ID. Superseded by default_payment_method when both are set.—
Default Tax Rates
Optional
["txr_456"]Tax rate IDs to apply to items without specific rates. Pass an empty array to clear.—
Off Session
Optional
trueIndicates that this payment is off-session (customer not actively in the checkout flow).—
Pause Collection{"behavior":"keep_as_draft"}Pause payment collection on this subscription.Required when Pause Collection is set to Pause
Payment Behavior
Optional
"allow_incomplete"Controls what happens when payment fails on update.Valid: allow_incomplete, default_incomplete, pending_if_incomplete, error_if_incomplete
Payment Settings
Optional
"{"payment_method_types": ["card"]}"Payment method options and configurations.—
Pending Invoice Item Interval{"interval":"month"}Billing interval for pending invoice items.Required when Enable Pending Invoice Item Interval is on
Proration Behavior
Optional
"create_prorations"How to handle proration when updating the subscription. create_prorations (default): creates proration credits. always_invoice: immediately invoices proration items. none: disables proration.Valid: create_prorations, always_invoice, none
Proration Date
Optional
1672531200Custom Unix timestamp to use for proration calculation.—
Transfer Data{"destination":"acct_456","amount_percent":50}Transfer invoiced amounts to a connected account (Stripe Connect).Required when Enable Transfer Data is on
Trial End
Optional
"now"Trial end date as a Unix timestamp, or now to end the trial immediately.—
Trial Settings{"end_behavior":{"missing_payment_method":"cancel"}}Configure behavior when the trial ends.Required when Enable Trial Settings is on
Trial from Plan
Optional
trueUse the plan's built-in trial period.Mutually exclusive with trial_end
Add Invoice Items
Optional
[{"price":"price_123","quantity":1}]Up to 20 invoice items to add on the next billing cycle. Each object should include a price or price_data.—
Application Fee Percent
Optional
10Platform fee percentage for Stripe Connect (0–100, max 2 decimal places).—
Automatic Tax{"enabled":true}Automatic tax calculation settings.Required when Enable Automatic Tax is on
On Behalf Of
Optional
"acct_123"Connected account ID on whose behalf this subscription is charged (Stripe Connect).—
Invoice Settings{"account_tax_ids":["txid_123"]}Invoice billing configuration for this subscription.Required when Enable Invoice Settings is on
Billing Thresholds
Optional
{"amount_gte":5000}Thresholds that trigger automatic invoice generation.—
Cancellation Details
Optional
{"feedback":"too_expensive"}Details about why this subscription was cancelled.—
Expand
Optional
["latest_invoice"]List of fields to expand in the response. Example: ["latest_invoice"] returns the full invoice object instead of just its ID.—

Two selectors and five Enable toggles shape this form. Cancel at Period End takes Cancel at period end to schedule the cancellation, Keep (un-schedule) to clear a pending one, or Unchanged to send nothing. Pause Collection takes Pause, which reveals the pause settings, Resume, which clears an existing pause, or Unchanged. The Enable toggles reveal Pending Invoice Item Interval, Transfer Data, Trial Settings, Automatic Tax and Invoice Settings.

Example output

json
{ "id": "sub_123", "object": "subscription", "status": "active" }

Documentation of API endpoint that powers action: Stripe API – Update a subscription (POST /v1/subscriptions/{id})

Cancel Subscription ​

Cancel a subscription.

Inputs

Display KeyExample InputDescriptionRestrictions
Subscription ID"sub_123"Stripe Subscription ID (e.g. sub_123) of the subscription to cancel. The subscription is canceled immediately.Required
Invoice Now
Optional
falseCreate a final invoice immediately for any un-invoiced metered usage.—
Prorate
Optional
falseGenerate a proration credit for unused time remaining in the billing period.—
Cancellation Details
Optional
{"comment":"No longer needed","feedback":"too_expensive"}Details about why this subscription was canceled.—
Expand
Optional
["customer","latest_invoice"]List of fields to expand on the returned Subscription.Example paths: customer, latest_invoice, default_payment_method

Example output

json
{ "id": "sub_123", "object": "subscription", "status": "canceled" }

Documentation of API endpoint that powers action: Stripe API – Cancel a subscription (DELETE /v1/subscriptions/{id})

Resume Subscription ​

Resume a subscription whose status is paused (a trial that ended with missing_payment_method: "pause"); resuming issues an invoice and the subscription only returns to active once that invoice is paid.

Inputs

Display KeyExample InputDescriptionRestrictions
Subscription IDsub_123ID of the paused subscription to resume.Required. Must be in paused status; Stripe rejects any other status (including canceled)
Billing Cycle Anchor
Optional
nowHow to reset billing timing on resume.Valid: now, unchanged
Proration Behavior
Optional
create_prorationsControls proration invoicing when the anchor is unchanged.Valid: create_prorations, none, always_invoice
Proration Date
Optional
1672531200Apply prorations as if resumption occurred at this Unix timestamp (seconds).—
Expand
Optional
["latest_invoice"]Fields to expand on the returned Subscription.—

Example output

json
{ "id": "sub_123", "object": "subscription", "status": "active", "pause_collection": null }

Documentation of API endpoint that powers action: Stripe API – Resume a subscription (POST /v1/subscriptions/{id}/resume)

Migrate Subscription ​

Migrate a subscription to a new billing mode. This is a one-way, irreversible upgrade to the flexible billing mode.

Inputs

Display KeyExample InputDescriptionRestrictions
Subscription IDsub_123ID of the subscription to migrate.Required
Billing Mode{"type":"flexible"}Target billing mode: an object with a required type and optional flexible options (proration_discounts Valid: included, itemized).Required. type Valid: flexible

Example output

json
{ "id": "sub_123", "object": "subscription", "billing_mode": { "type": "flexible" } }

Documentation of API endpoint that powers action: Stripe API – Migrate a subscription (POST /v1/subscriptions/{id}/migrate)

Search Subscriptions ​

Search subscriptions using Stripe's Search Query Language, the only way to filter subscriptions on metadata.

Inputs

Display KeyExample InputDescriptionRestrictions
Querystatus:"active" AND metadata["plan"]:"pro"Search Query Language expression. Searchable fields: status, created, canceled_at, ended_at, metadata["key"].Required
Limit
Optional
10Results per page (Stripe default 10).Valid: 1–100
Page
Optional
WyJzdWJfMSJdPagination token: the previous response's next_page value.—
Expand
Optional
["data.customer"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "search_result", "data": [{ "id": "sub_123", "object": "subscription", "status": "active" }], "has_more": false, "next_page": null, "url": "/v1/subscriptions/search" }

Documentation of API endpoint that powers action: Stripe API – Search subscriptions (GET /v1/subscriptions/search)

Create Payment Intent ​

Create a payment intent for an amount and currency, with optional customer, payment method, capture and confirmation behavior, and future-usage setup.

Inputs

Display KeyExample InputDescriptionRestrictions
Amount1000Amount in the smallest currency unit (1000 cents = $10.00).Required
CurrencyusdThree-letter ISO currency code.Required
Customer
Optional
cus_123Customer to associate with this payment.—
Description
Optional
Payment for order #123Arbitrary string attached to the object.—
Payment Method
Optional
pm_123Payment Method to attach and charge.—
Receipt Email
Optional
customer@example.comEmail to send the payment receipt to.—
Automatic Payment Methods
Optional
{"enabled":true}Enable Stripe-managed automatic payment methods.—
Metadata
Optional
{"order_id":"123"}Custom key-value pairs.—
Confirm
Optional
falseConfirm the PaymentIntent immediately on creation.—
Capture Method
Optional
automaticWhen funds are captured.Valid: automatic, automatic_async, manual
Confirmation Method
Optional
automaticConfirmation method.Valid: automatic, manual
Off Session
Optional
trueIndicates the payment is off-session.Requires Confirm on. Valid: false, true, one_off, recurring
Payment Method Types
Optional
["card"]List of payment method types to accept.—
Return URL
Optional
https://example.com/checkout/completeURL to redirect to after authentication.Requires Confirm on
Setup Future Usage
Optional
off_sessionSave the payment method for future payments.Valid: off_session, on_session
Shipping
Optional
{"name":"John Doe","address":{…}}Shipping information.—
Statement Descriptor
Optional
ORDER 123Text shown on the customer's bank statement.Max 22 characters
Statement Descriptor Suffix
Optional
ORDER 123Suffix appended to the account's descriptor prefix for card charges.—
Transfer Data
Optional
{"destination":"acct_123"}Transfer options for connected accounts.—
Transfer Group
Optional
group_123Identifies the resulting payment as part of a group.—
Use Stripe SDK
Optional
falsetrue if confirming with Stripe.js on the client.—

A Payment Method Source radio sits above these fields in the editor. Automatic lets Stripe pick the payment methods for you (Automatic Payment Methods), Manual List lets you set them yourself (Payment Method Types). Switching clears the field you are not using, so only one of the two is ever sent.

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "requires_payment_method", "client_secret": "pi_123_secret_…" }

Documentation of API endpoint that powers action: Stripe API – Create a PaymentIntent (POST /v1/payment_intents)

Retrieve Payment Intent ​

Retrieve a payment intent by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent IDpi_123ID of the payment intent to fetch.Required
Expand
Optional
["customer"]Fields to expand on the returned PaymentIntent.—

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "succeeded", "amount": 1000, "currency": "usd" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a PaymentIntent (GET /v1/payment_intents/{id})

Update Payment Intent ​

Update a payment intent before confirmation: amount, currency, customer, payment method, description, metadata, capture and future-usage settings.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent IDpi_123ID of the payment intent to update.Required
Amount
Optional
1500Updated amount in the smallest currency unit.—
Currency
Optional
eurThree-letter ISO currency code.—
Customer
Optional
cus_456Customer to associate with this payment.—
Description
Optional
Updated paymentArbitrary string attached to the object.—
Payment Method
Optional
pm_456Payment Method to attach and charge.—
Receipt Email
Optional
updated@example.comEmail to send the payment receipt to.—
Metadata
Optional
{"order_id":"456"}Custom key-value pairs.—
Capture Method
Optional
automaticWhen funds are captured.Valid: automatic, automatic_async, manual
Setup Future Usage
Optional
on_sessionSave the payment method for future payments.Valid: off_session, on_session
Shipping
Optional
{"name":"Jane Doe","address":{…}}Shipping information.—
Statement Descriptor
Optional
UPDATED 123Text shown on the customer's bank statement.Max 22 characters
Statement Descriptor Suffix
Optional
NEWSuffix appended to the account's descriptor prefix for card charges.—
Transfer Data
Optional
{"destination":"acct_456"}Transfer options for connected accounts.—
Transfer Group
Optional
group_456Identifies the resulting payment as part of a group.—

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "requires_confirmation", "amount": 1500 }

Documentation of API endpoint that powers action: Stripe API – Update a PaymentIntent (POST /v1/payment_intents/{id})

List Payment Intents ​

List payment intents, optionally filtered by customer or creation date, with cursor-based pagination.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
cus_123Only return payment intents for this customer.—
Limit
Optional
10Maximum number of payment intents to return (default 10).Valid: 1–100
Starting After
Optional
pi_123Return items after this ID (cursor).—
Ending Before
Optional
pi_456Return items before this ID (cursor).—
Created
Optional
{"gt":1609459200}Filter by creation date with keys gt, gte, lt, lte (Unix timestamps in seconds).—
Expand
Optional
["data.customer"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "list", "data": [{ "id": "pi_123", "object": "payment_intent" }], "has_more": false, "url": "/v1/payment_intents" }

Documentation of API endpoint that powers action: Stripe API – List all PaymentIntents (GET /v1/payment_intents)

Confirm Payment Intent ​

Confirm a payment intent to attempt the payment. A card decline surfaces as a thrown error with no result, so catch it and re-run Retrieve Payment Intent to read last_payment_error.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent IDpi_123ID of the payment intent to confirm.Required. Must be in requires_confirmation or requires_payment_method status
Payment Method
Optional
pm_123Payment Method to attach and charge.Required if the intent has no payment method attached and no confirmation token is supplied
Return URL
Optional
https://example.com/checkout/completeURL to redirect to after authentication or cancellation.—
Receipt Email
Optional
customer@example.comEmail to send the payment receipt to.—
Confirmation Token
Optional
ctoken_123ConfirmationToken ID; request properties take precedence over the token.—
Capture Method
Optional
automaticWhen funds are captured.Valid: automatic, automatic_async, manual
Setup Future Usage
Optional
off_sessionSave the payment method for future payments.Valid: off_session, on_session
Off Session
Optional
falsetrue if the customer is not present during this attempt.—
Error on Requires Action
Optional
falseFail the attempt if customer action would be required.—
Use Stripe SDK
Optional
falsetrue if confirming with Stripe.js on the client.—
Shipping
Optional
{"name":"John Doe","address":{…}}Shipping information.—
Expand
Optional
["customer"]Fields to expand on the returned PaymentIntent.—

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "succeeded", "next_action": null }

Documentation of API endpoint that powers action: Stripe API – Confirm a PaymentIntent (POST /v1/payment_intents/{id}/confirm)

Capture Payment Intent ​

Capture the funds of a manual-capture payment intent (status requires_capture), fully or partially.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent IDpi_123ID of the payment intent to capture.Required. Must be in requires_capture status
Amount to Capture
Optional
1000Amount in cents to capture (defaults to the full amount_capturable).—
Final Capture
Optional
falseSet false to retain uncaptured funds for future captures.Multicapture-only; Stripe rejects the parameter's presence (any value) on non-multicapture intents
Statement Descriptor
Optional
ORDER 123Text shown on the customer's statement.Max 22 characters; not valid for card charges
Statement Descriptor Suffix
Optional
ORDER 123Suffix appended to the account's descriptor prefix for card charges.—
Metadata
Optional
{"order_id":"123"}Custom key-value pairs.—
Transfer Data
Optional
{"destination":"acct_123"}Transfer options for connected accounts.—
Application Fee Amount
Optional
100Application fee in cents to collect on behalf of the connected account.—
Expand
Optional
["customer"]Fields to expand on the returned PaymentIntent.—

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "succeeded", "amount_received": 1000 }

Documentation of API endpoint that powers action: Stripe API – Capture a PaymentIntent (POST /v1/payment_intents/{id}/capture)

Cancel Payment Intent ​

Cancel a payment intent that has not yet succeeded, with an optional cancellation reason.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent IDpi_123ID of the payment intent to cancel.Required. Must have status requires_payment_method, requires_capture, requires_confirmation, requires_action, or processing
Cancellation Reason
Optional
requested_by_customerReason for cancellation.Valid: duplicate, fraudulent, requested_by_customer, abandoned
Expand
Optional
["customer"]Fields to expand on the returned PaymentIntent.—

Example output

json
{ "id": "pi_123", "object": "payment_intent", "status": "canceled", "cancellation_reason": "requested_by_customer" }

Documentation of API endpoint that powers action: Stripe API – Cancel a PaymentIntent (POST /v1/payment_intents/{id}/cancel)

Search Payment Intents ​

Search payment intents using Stripe's Search Query Language (metadata, amount, status, customer, and more).

Inputs

Display KeyExample InputDescriptionRestrictions
Querystatus:"succeeded" AND currency:"usd" AND amount>5000Search Query Language expression. Supported fields: amount, currency, customer, description, metadata, payment_method_types, receipt_email, setup_future_usage, status.Required
Limit
Optional
10Maximum number of results to return (default 10).Valid: 1–100
Page
Optional
eyJsaW1pdCI6MX0Cursor from the next_page field of a previous response.—
Expand
Optional
["data.customer"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "search_result", "data": [{ "id": "pi_123", "object": "payment_intent", "status": "succeeded" }], "has_more": false, "next_page": null }

Documentation of API endpoint that powers action: Stripe API – Search PaymentIntents (GET /v1/payment_intents/search)

Create Refund ​

Refund a payment fully or partially, identified by a payment intent or a charge.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intentpi_123PaymentIntent to refund.Provide exactly one of Payment Intent or Charge
Chargech_123Charge to refund.Provide exactly one of Payment Intent or Charge
Amount
Optional
500Amount to refund in the smallest currency unit (500 = $5.00).Omit for a full refund of the remaining balance
Reason
Optional
requested_by_customerReason for the refund. fraudulent adds the associated card to Stripe's block list, so use it deliberately.Valid: requested_by_customer, duplicate, fraudulent
Metadata
Optional
{"internal_ref":"42"}Custom key-value pairs attached to the refund.—
Instructions Email
Optional
customer@example.comFor payment methods without native refund support: email to send refund instructions to.—
Refund Application Fee
Optional
falseConnect only: whether to refund the application fee proportionally.Valid: true, false
Reverse Transfer
Optional
falseConnect only: whether to reverse the transfer to the connected account.Valid: true, false
Expand
Optional
["charge"]Fields to expand on the returned Refund.—

Example output

json
{ "id": "re_123", "object": "refund", "amount": 500, "status": "succeeded" }

Documentation of API endpoint that powers action: Stripe API – Create a refund (POST /v1/refunds)

Retrieve Refund ​

Fetch a single Stripe refund by its id.

Inputs

Display KeyExample InputDescriptionRestrictions
Refund IDre_123Stripe Refund ID of the refund to fetch.Required
Expand
Optional
["charge"]Fields to expand on the returned Refund.—

Example output

json
{ "id": "re_123", "object": "refund", "amount": 500, "status": "succeeded" }

Documentation of API endpoint that powers action: Stripe API – Retrieve a refund (GET /v1/refunds/:id)

Update Refund ​

Update a Stripe refund; only its metadata can be changed.

Inputs

Display KeyExample InputDescriptionRestrictions
Refund IDre_123Stripe Refund ID of the refund to update.Required
Metadata
Optional
{"internal_ref":"42"}Custom key-value pairs, the only mutable part of a refund. Keys are merged; an empty-string value deletes the key.—
Expand
Optional
["charge"]Fields to expand on the returned Refund.—

Example output

json
{ "id": "re_123", "object": "refund", "metadata": { "internal_ref": "42" } }

Documentation of API endpoint that powers action: Stripe API – Update a refund (POST /v1/refunds/:id)

List Refunds ​

List Stripe refunds, optionally filtered by payment intent, charge or creation date, with cursor-based pagination.

Inputs

Display KeyExample InputDescriptionRestrictions
Payment Intent
Optional
pi_123Only return refunds for this PaymentIntent.—
Charge
Optional
ch_123Only return refunds for this Charge.—
Limit
Optional
10Maximum number of refunds to return; Stripe returns 10 when empty.Valid: 1–100
Starting After
Optional
re_123Cursor to page forward: returns refunds after this refund id.—
Ending Before
Optional
re_456Cursor to page backward: returns refunds before this refund id.—
Created
Optional
{"gte":1704067200}Filter by creation date using keys gt, gte, lt, lte (Unix timestamps in seconds).—
Expand
Optional
["data.charge"]Fields to expand on the results (data.-prefixed).—

Example output

json
{ "object": "list", "data": [{ "id": "re_123", "object": "refund" }], "has_more": false, "url": "/v1/refunds" }

Documentation of API endpoint that powers action: Stripe API – List all refunds (GET /v1/refunds)

Cancel Refund ​

Cancel a refund that is awaiting a customer action.

Inputs

Display KeyExample InputDescriptionRestrictions
Refund IDre_123Stripe Refund ID of the refund to cancel. Only works while the refund is in requires_action status; a succeeded refund cannot be canceled.Required
Expand
Optional
["charge"]Fields to expand on the returned Refund.—

Example output

json
{ "id": "re_123", "object": "refund", "status": "canceled" }

Documentation of API endpoint that powers action: Stripe API – Cancel a refund (POST /v1/refunds/:id/cancel)

Create Checkout Session ​

Create a Stripe Checkout session. Returns a session object with a url; redirect the customer to that URL to pay on Stripe’s hosted page, or show the form in your own page with UI Mode.

Inputs

Display KeyExample InputDescriptionRestrictions
Mode"payment"Session type: one-time payment, recurring subscription, or saving a card for later.Required. Valid: payment, subscription, setup
Line Items[{"price":"price_123","quantity":1}]What the customer is buying, using your Stripe Price IDs.Required for payment and subscription, rejected in setup. Stripe checks this when the action runs, so Mode can stay bindable
Success Page{"type":"external","url":"https://example.com/success?session_id={CHECKOUT_SESSION_ID}"}Where the customer lands after paying. Accepts a URL or a page in your project, with optional query parameters.Required in hosted_page mode (the default), rejected in embedded_page mode where Return Page is used instead
Cancel Page
Optional
{"type":"external","url":"https://example.com/cancel?session_id={CHECKOUT_SESSION_ID}"}Where the customer lands if they abandon checkout.{CHECKOUT_SESSION_ID} is replaced here too, so you can identify the abandoned session
Customer ID
Optional
"cus_123"Existing Stripe customer to attach the session to.—
Customer Email
Optional
"customer@example.com"Used when no Customer ID is provided.—
Currency
Optional
"usd"Three-letter ISO currency code.—
Payment Method Types
Optional
["card"]Payment methods to offer.Leave empty to use the Stripe defaults
Allow Promotion Codes
Optional
trueLets the customer enter a promotion code at checkout.Cannot be combined with Discounts, even when switched off after being touched
Discounts
Optional
[{"coupon":"SUMMER20"}]Discounts applied to the session.Cannot be combined with Allow Promotion Codes
Submit Type
Optional
"pay"Wording on the submit button.Valid: auto, pay, book, donate
Billing Address Collection
Optional
"required"When to ask for a billing address.Valid: auto, required
Phone Number Collection
Optional
{"enabled":true}Ask for the customer’s phone number.—
Shipping Address Collection
Optional
{"allowed_countries":["US","FR"]}Ask for a shipping address, limited to the countries you allow.allowed_countries is required inside the object
Shipping Options
Optional
[{"shipping_rate":"shr_123"}]Shipping rates offered at checkout.—
Automatic Tax
Optional
{"enabled":true}Let Stripe calculate tax for you.—
Tax ID Collection
Optional
{"enabled":true}Ask for a tax ID at checkout.—
Invoice Creation
Optional
{"enabled":true}Generate an invoice for the payment.Only in payment mode. Stripe rejects it in subscription mode, where invoices are created for you
Subscription Data
Optional
{"trial_period_days":14}Options for the subscription Checkout creates.Only when Mode is subscription
Payment Intent Data
Optional
{"setup_future_usage":"off_session"}Options for the payment intent Checkout creates.Only when Mode is payment
Metadata
Optional
{"order_id":"123"}Your own key-value pairs, available again in webhooks.—
Locale
Optional
"en"Language of the Checkout page.—
Expires At
Optional
1672531200Unix timestamp for when the session expires.Between 30 minutes and 24 hours from now
Client Reference ID
Optional
"order_123"Your own reference, to reconcile the session with your records.—
Customer Creation
Optional
"if_required"Whether Checkout creates a customer.Valid: if_required, always. Only when Mode is payment or setup
Customer Update
Optional
{"address":"auto"}What Checkout may update on the customer record.Only when Customer ID is set. Each key accepts auto or never
Customer Account
Optional
"acct_123"Account ID of the customer, for Connect platforms.—
UI Mode
Optional
"hosted_page"Where the payment form is shown.Valid: hosted_page (the default), embedded_page, elements, form. The older hosted, embedded and embedded_components values are no longer accepted
Redirect on Completion
Optional
"always"What happens once an embedded checkout completes.Valid: always, if_required, never. Only when UI Mode is embedded_page
Return Page
Optional
{"type":"external","url":"https://example.com/return?session_id={CHECKOUT_SESSION_ID}"}Where the customer returns after an embedded_page checkout.Pairs with Redirect on Completion
Permissions
Optional
{"update_shipping_details":"server_only"}Update permissions granted when the session is created.Only when UI Mode is elements. Valid: client_only, server_only
After Expiration
Optional
{"recovery":{"enabled":true}}What happens after the session expires.—
Consent Collection
Optional
{"terms_of_service":"required"}Consent checkboxes shown at checkout.terms_of_service: none, required. promotions: none, auto
Custom Fields
Optional
[{"key":"ref","label":{"type":"custom","custom":"Reference"},"type":"text"}]Extra fields shown on the Checkout page.—
Custom Text
Optional
{"submit":{"message":"Complete your purchase"}}Custom wording on the Checkout page.Keys: submit, shipping_address, after_submit, terms_of_service_acceptance
Adaptive Pricing
Optional
{"enabled":true}Show prices in the customer’s local currency.Left empty, your Stripe account setting applies. Set enabled to false to opt this session out
Branding Settings
Optional
{"header":{"visible":true}}Branding for the Checkout page.—
Excluded Payment Method Types
Optional
["afterpay_clearpay"]Payment methods to hide from this session.—
Name Collection
Optional
{"individual":{"enabled":true}}Collect business and individual names.—
Optional Items
Optional
[{"price":"price_123","quantity":1}]Add-ons the customer can choose at checkout.Max 10
Origin Context
Optional
"web"Where the session is opened from.Valid: web, mobile_app
Payment Method Collection
Optional
"always"When to collect a payment method.Valid: always, if_required
Payment Method Configuration
Optional
"pmc_123"Payment method configuration to use for this session.—
Payment Method Data
Optional
{"allow_redisplay":"always"}Payment method data to pre-fill.allow_redisplay: always, limited, unspecified
Payment Method Options
Optional
{"card":{"installments":{"enabled":true}}}Options specific to one payment method.—
Saved Payment Method Options
Optional
{"payment_method_save":"enabled"}Options for saved payment methods.—
Integration Identifier
Optional
"my_integration"Identifier for integration metadata.—
Expand
Optional
["line_items","payment_intent"]Fields to expand on the returned session.Example paths: line_items, payment_intent, customer

Example output

json
{ "id": "cs_123", "object": "checkout.session", "url": "https://checkout.stripe.com/...", "status": "open" }

Documentation of API endpoint that powers action: Stripe API – Create a checkout session (POST /v1/checkout/sessions)

Update Checkout Session ​

Update an open checkout session. Metadata is always updatable; Shipping Options and Collected Information only work on sessions created with the matching permissions (see restrictions). Line items cannot be updated.

Inputs

Display KeyExample InputDescriptionRestrictions
Session IDcs_123ID of the checkout session to update.Required. Only open sessions can be updated
Metadata
Optional
{"order_id":"456"}Custom key-value pairs attached to the session.Always updatable
Collected Information
Optional
{"shipping_details":{…}}Customer information collected during checkout.Only on a session created with ui_mode: "elements", shipping address collection enabled, and permissions.update_shipping_details: "server_only"
Shipping Options
Optional
[{"shipping_rate":"shr_123"}]Updated shipping options.Same permission requirement as Collected Information
Expand
Optional
["line_items"]Fields to expand on the returned session.—

LINE ITEMS CANNOT BE UPDATED

Stripe rejects line_items updates on a checkout session: it asks for a permissions.update_line_items grant that its own API does not currently accept in any UI mode. To change what is being sold, expire the session and create a new one.

Example output

json
{ "id": "cs_123", "object": "checkout.session", "status": "open" }

Documentation of API endpoint that powers action: Stripe API – Update a checkout session (POST /v1/checkout/sessions/{id})

Retrieve Checkout Session ​

Retrieve a checkout session by ID (e.g. on your success page to show order details).

Inputs

Display KeyExample InputDescriptionRestrictions
Session ID"cs_test_123"Stripe Checkout Session ID (e.g. cs_test_123) to retrieve.Required
Expand
Optional
["line_items","payment_intent"]List of fields to expand on the returned Checkout Session.Example paths: line_items, payment_intent, customer

Example output

json
{ "id": "cs_123", "object": "checkout.session", "payment_status": "paid", "customer": "cus_123", "amount_total": 2000 }

Documentation of API endpoint that powers action: Stripe API – Retrieve a checkout session (GET /v1/checkout/sessions/{id})

List Checkout Sessions ​

List checkout sessions, optionally filtered by customer, subscription, status, etc.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
"cus_123"Only return sessions for this customer (e.g. cus_123).—
Payment Intent
Optional
"pi_123"Only return the session for this Payment Intent ID.—
Subscription
Optional
"sub_123"Only return the session for this Subscription ID.—
Status
Optional
"complete"Filter by session status: open, complete, or expired.Valid: open, complete, expired
Limit
Optional
10Maximum number of sessions to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"cs_test_123"Return items after this ID for forward pagination.—
Ending Before
Optional
"cs_test_456"Return items before this ID for backward pagination.—
Created
Optional
{"gt":1609459200}Filter by creation date. Use an object with gt, gte, lt, or lte (Unix timestamps).—
Payment Link
Optional
"plink_123"Only return sessions created by this Payment Link ID.—
Customer Account
Optional
"acct_123"Only return sessions for this customer account ID.—
Customer Details
Optional
{"email":"customer@example.com"}Filter sessions by customer details.—
Expand
Optional
["data.line_items"]List of fields to expand on the returned sessions. Prefix paths with data. for list results (e.g. data.line_items, data.payment_intent).—

Example output

json
{ "object": "list", "data": [{ "id": "cs_123", "object": "checkout.session", "status": "complete" }], "has_more": false, "url": "/v1/checkout/sessions" }

Documentation of API endpoint that powers action: Stripe API – List checkout sessions (GET /v1/checkout/sessions)

List Checkout Session Line Items ​

List line items for a checkout session.

Inputs

Display KeyExample InputDescriptionRestrictions
Session ID"cs_test_123"Stripe Checkout Session ID (e.g. cs_test_123) to list line items for.Required
Limit
Optional
10Maximum number of line items to return. When left empty, Stripe returns 10.Between 1 and 100
Starting After
Optional
"li_123"Return items after this line item ID for forward pagination.—
Ending Before
Optional
"li_456"Return items before this line item ID for backward pagination.—
Expand
Optional
["data.price.product"]List of fields to expand on the returned line items. Prefix paths with data. for list results (e.g. data.price.product, data.discounts).—

Example output

json
{ "object": "list", "data": [{ "id": "li_123", "object": "item", "quantity": 1 }], "has_more": false, "url": "/v1/checkout/sessions/cs_123/line_items" }

Documentation of API endpoint that powers action: Stripe API – List line items (GET /v1/checkout/sessions/{id}/line_items)

Expire Checkout Session ​

Expire an open checkout session so it can no longer be used.

Inputs

Display KeyExample InputDescriptionRestrictions
Session ID"cs_test_123"Stripe Checkout Session ID (e.g. cs_test_123) to expire.Required. Must be in open status
Expand
Optional
["line_items","payment_intent"]List of fields to expand on the returned Checkout Session.Example paths: line_items, payment_intent, customer

Example output

json
{ "id": "cs_123", "object": "checkout.session", "status": "expired" }

Documentation of API endpoint that powers action: Stripe API – Expire a session (POST /v1/checkout/sessions/{id}/expire)

Create Invoice Item ​

Add a line item to a customer (for their next invoice) or to a specific draft invoice. Use this to add one-off charges, usage-based lines, or credits.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer ID"cus_123"Stripe Customer ID (e.g. cus_123) who will be billed.Required
Amount1000Amount in the smallest currency unit (e.g. cents).Required when Pricing Source is Amount
Decimal Amount"500.50"Amount as a decimal string for high-precision billing (e.g. "500.50").Required when Pricing Source is Decimal Amount
Currency"usd"Three-letter ISO currency code (e.g. usd).Required when Pricing Source is Amount or Decimal Amount. Required when using amount or decimal amount
Pricing{"price":"price_123"}Attach an existing Stripe Price to this invoice item.Required when Pricing Source is Existing Price
Quantity
Optional
1Quantity of items to add.—
Description
Optional
"Consulting services for January"Description of the invoice item.—
Price Data{"currency":"usd","product":"prod_123","unit_amount":1000}Inline price data. Object with currency, product, and unit_amount. Use to create a one-off price without creating a Price object.Required when Pricing Source is Inline Price
Invoice ID
Optional
"in_123"Stripe Invoice ID (e.g. in_123) to add this line to. If empty, the item is added to the customer's next invoice.—
Subscription ID
Optional
"sub_123"Stripe Subscription ID (e.g. sub_123) to attach this item to.—
Discountable
Optional
"true"If enabled, coupon and promotion discounts can apply to this line.—
Discounts
Optional
[{"coupon":"SUMMER20"}]Discounts to apply. Array of objects (e.g. {"coupon": "SUMMER20"}).—
Metadata
Optional
{"project_id":"proj_456"}Custom key-value pairs (e.g. for your own IDs or labels).—
Period
Optional
{"start":"1672531200","end":"1675209600"}Billing period. Object with start and end (Unix timestamps).—
Tax Behavior
Optional
"exclusive"How tax is applied: unspecified, exclusive, or inclusive.Valid: unspecified, exclusive, inclusive
Tax Code
Optional
"txcd_10000000"Stripe Tax Code ID (e.g. txcd_10000000) for this line.—
Tax Rates
Optional
["txr_123"]Array of Stripe Tax Rate IDs (e.g. txr_123) to apply to this line.—
Expand
Optional
["invoice"]List of fields to expand in the response.—

A Pricing Source selector decides how you set the amount: Amount, Decimal Amount, Existing Price (which shows Pricing), or Inline Price (which shows Price Data). Switching clears the fields you are not using, so only one shape is ever sent.

Example output

json
{ "id": "ii_123", "object": "invoiceitem", "customer": "cus_123", "amount": 1000 }

Documentation of API endpoint that powers action: Stripe API – Create an invoice item (POST /v1/invoiceitems)

Retrieve Invoice Item ​

Retrieves an invoice item by its ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice Item IDii_123ID of the invoice item to fetch.Required
Expand
Optional
["invoice"]Response fields to expand.Array of Stripe expand paths

Example output

json
{ "id": "ii_123", "object": "invoiceitem" }

Documentation of API endpoint that powers action: Stripe API – Retrieve an invoice item (GET /v1/invoiceitems/:id)

Update Invoice Item ​

Updates an invoice item before it is attached to a finalized invoice.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice Item IDii_123ID of the invoice item to update.Required
Description
Optional
Updated consulting servicesUpdated description of the invoice item.—
Amount
Optional
1500Updated amount in the smallest currency unit (e.g. cents).Provide only one pricing form: amount, unit_amount_decimal, pricing, or price_data
Decimal Amount
Optional
500.50Amount as a decimal string for high-precision billing.Provide only one pricing form
Pricing
Optional
{"price": "price_123"}Attach a different Stripe Price (price).Provide only one pricing form
Price Data
Optional
{"currency": "usd", "product": "prod_123", "unit_amount": 1500}Inline price data (currency, product, unit_amount).Provide only one pricing form
Quantity
Optional
2Updated quantity of items.Positive integer; not used with amount pricing
Discountable
Optional
trueWhether coupon and promotion discounts can apply to this line.Boolean
Discounts
Optional
[{"coupon": "SUMMER20"}]Updated discounts; empty array removes all.Array of discount objects
Metadata
Optional
{"project_id": "proj_789"}Custom key-value pairs.Object
Period
Optional
{"start": 1675209600, "end": 1677628800}Updated billing period (start, end as Unix timestamps).Object
Tax Behavior
Optional
exclusiveHow tax is applied.Valid: unspecified, exclusive, inclusive
Tax Code
Optional
txcd_10000000Stripe Tax Code ID for this line.—
Tax Rates
Optional
["txr_123"]Stripe Tax Rate IDs to apply; empty array removes all.Array of strings
Expand
Optional
["invoice"]Response fields to expand.Array of Stripe expand paths

A Pricing Source selector decides how you set the amount: Amount, Decimal Amount, Existing Price (which shows Pricing), or Inline Price (which shows Price Data). Switching clears the fields you are not using, so only one shape is ever sent.

Example output

json
{ "id": "ii_123", "object": "invoiceitem" }

Documentation of API endpoint that powers action: Stripe API – Update an invoice item (POST /v1/invoiceitems/:id)

List Invoice Items ​

Lists invoice items, optionally filtered by customer, invoice or pending state, with cursor-based pagination.

Inputs

Display KeyExample InputDescriptionRestrictions
Customer
Optional
cus_123Only return items for this customer.—
Invoice
Optional
in_123Only return items for this invoice.—
Pending Only
Optional
trueIf on, only return items not yet attached to a finalized invoice.Boolean
Limit
Optional
10Maximum number of items to return. Default 10.Valid: 1–100
Starting After
Optional
ii_123Pagination cursor: return items after this object id.—
Ending Before
Optional
ii_456Pagination cursor: return items before this object id.—
Created
Optional
{"gte": 1609459200}Filter by creation date using gt/gte/lt/lte (Unix timestamps).Object
Expand
Optional
["data.invoice"]Response fields to expand.Array of data.-prefixed expand paths

Example output

json
{ "object": "list", "data": [ { "id": "ii_123", "object": "invoiceitem" } ], "has_more": false, "url": "/v1/invoiceitems" }

Documentation of API endpoint that powers action: Stripe API – List all invoice items (GET /v1/invoiceitems)

Delete Invoice Item ​

Deletes an invoice item that is not yet attached to a finalized invoice.

Inputs

Display KeyExample InputDescriptionRestrictions
Invoice Item IDii_123ID of the pending invoice item to delete.Required / only pending items (not yet on a finalized invoice) can be deleted

Example output

json
{ "id": "ii_123", "object": "invoiceitem", "deleted": true }

Documentation of API endpoint that powers action: Stripe API – Delete an invoice item (DELETE /v1/invoiceitems/:id)