Appearance
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.

Products
| Action | Description |
|---|---|
| List Products | List products |
| Retrieve Product | Retrieve a product by ID |
| Create Product | Create a product |
| Update Product | Update a product (also used to archive with active: "false") |
| Delete Product | Delete a product (only when it has no prices) |
| Search Products | Search products with the Search Query Language |
Prices
| Action | Description |
|---|---|
| List Prices | List prices |
| Retrieve Price | Retrieve a price by ID |
| Create Price | Create a price |
| Update Price | Update a price (also used to deactivate with active: "false") |
| Search Prices | Search prices with the Search Query Language |
Customers
| Action | Description |
|---|---|
| List Customers | List customers |
| Retrieve Customer | Retrieve a customer by ID |
| Create Customer | Create a customer |
| Update Customer | Update a customer |
| Delete Customer | Delete a customer |
Invoices
| Action | Description |
|---|---|
| List Invoices | List invoices |
| Retrieve Invoice | Retrieve an invoice by ID |
| Create Invoice | Create a draft invoice |
| Update Invoice | Update an invoice |
| Delete Invoice | Delete a draft invoice |
| Finalize Invoice | Finalize a draft invoice (draft → open) |
| Pay Invoice | Pay a finalized invoice |
| Send Invoice | Email a finalized invoice to the customer |
| Void Invoice | Void a finalized invoice |
| Mark Invoice Uncollectible | Mark an invoice as uncollectible |
| Attach Payment to Invoice | Attach an existing PaymentIntent to an invoice |
| Preview Invoice | Preview the next invoice without creating it |
Invoice line items
| Action | Description |
|---|---|
| List Invoice Line Items | List the line items of an invoice |
| Add Invoice Line Items | Add line items to a draft invoice |
| Remove Invoice Line Items | Remove line items from a draft invoice |
| Update Multiple Line Items | Update several line items of a draft invoice |
| Update Single Line Item | Update one line item of a draft invoice |
Invoice items
| Action | Description |
|---|---|
| Create Invoice Item | Add a pending charge or credit to a customer |
| Retrieve Invoice Item | Retrieve an invoice item by ID |
| Update Invoice Item | Update a pending invoice item |
| List Invoice Items | List invoice items |
| Delete Invoice Item | Delete a pending invoice item |
Subscriptions
| Action | Description |
|---|---|
| List Subscriptions | List subscriptions |
| Retrieve Subscription | Retrieve a subscription by ID |
| Create Subscription | Create a subscription |
| Update Subscription | Update a subscription |
| Cancel Subscription | Cancel a subscription immediately |
| Resume Subscription | Resume a paused subscription |
| Migrate Subscription | Migrate to flexible billing mode (one-way) |
| Search Subscriptions | Search subscriptions with the Search Query Language |
Payment Intents
| Action | Description |
|---|---|
| Create Payment Intent | Create a payment intent |
| Retrieve Payment Intent | Retrieve a payment intent by ID |
| Update Payment Intent | Update a payment intent |
| List Payment Intents | List payment intents |
| Confirm Payment Intent | Confirm a payment intent to attempt payment |
| Capture Payment Intent | Capture a manual-capture payment intent |
| Cancel Payment Intent | Cancel a payment intent |
| Search Payment Intents | Search payment intents with the Search Query Language |
Refunds
| Action | Description |
|---|---|
| Create Refund | Refund a payment intent or charge |
| Retrieve Refund | Retrieve a refund by ID |
| Update Refund | Update a refund's metadata |
| List Refunds | List refunds |
| Cancel Refund | Cancel a refund awaiting action |
Checkout Sessions
| Action | Description |
|---|---|
| Create Checkout Session | Create a Stripe Checkout session |
| Update Checkout Session | Update a checkout session before completion |
| Retrieve Checkout Session | Retrieve a checkout session by ID |
| List Checkout Sessions | List checkout sessions |
| List Checkout Session Line Items | List line items for a checkout session |
| Expire Checkout Session | Expire an open checkout session |
Action details
List Products
List products from your Stripe account.
Inputs
| Display Key | Example Input | Description | Restrictions |
|---|---|---|---|
ActiveOptional | "true" | Filter by active status. true returns only active products, false only archived ones. | Leave empty to return all products. Valid: true, false |
Product IDsOptional | ["prod_123","prod_456"] | Only return products with these IDs (e.g. prod_123). | — |
ShippableOptional | "true" | Only return products that are shippable (true) or not (false). | Valid: true, false |
URLOptional | "https://example.com/product" | Only return products with this URL. | — |
LimitOptional | 10 | Maximum number of products to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "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 BeforeOptional | "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. | — |
CreatedOptional | {"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. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Product ID | "prod_123" | Stripe Product ID (e.g. prod_123) of the product to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Name | "Premium Plan" | Product name, shown to customers on invoices and receipts. | Required |
DescriptionOptional | "Access to all premium features" | Product description, often shown at checkout. | — |
ImagesOptional | ["https://example.com/product.png"] | Up to 8 image URLs for the product. | — |
Default Price DataOptional | {"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. | — |
URLOptional | "https://example.com/premium" | A URL of a publicly-accessible webpage for this product. | — |
MetadataOptional | {"internal_id":"42"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
Custom IDOptional | "my_product_42" | Optional custom identifier for the product (instead of a generated prod_… id). | Must be unique across products |
ShippableOptional | "false" | Whether this product is shipped (physical good). | Valid: true, false |
Package DimensionsOptional | {"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 DescriptorOptional | "PREMIUM PLAN" | Extra text shown on the customer’s credit card statement (max 22 characters, no <, >, \, ", '). | Only used for subscription payments |
Unit LabelOptional | "seat" | Label that represents units of this product (e.g. seat), shown at checkout and on invoices. | — |
Tax CodeOptional | "txcd_10000000" | Stripe tax code (txcd_…) for automatic tax. | — |
Marketing FeaturesOptional | [{"name":"Unlimited seats"}] | Up to 15 feature bullets (e.g. for pricing tables): [{ name: "Unlimited seats" }]. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Product ID | "prod_123" | Stripe Product ID (e.g. prod_123) of the product to update. | Required |
NameOptional | "Premium Plan" | Product name, shown to customers on invoices and receipts. | — |
ActiveOptional | "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 |
DescriptionOptional | "Access to all premium features" | Product description, often shown at checkout. | — |
Default PriceOptional | "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. | — |
ImagesOptional | ["https://example.com/product.png"] | Up to 8 image URLs for the product. Replaces the existing image list. | — |
URLOptional | "https://example.com/premium" | A URL of a publicly-accessible webpage for this product. | — |
MetadataOptional | {"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. | — |
ShippableOptional | "false" | Whether this product is shipped (physical good). | Valid: true, false |
Package DimensionsOptional | {"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 DescriptorOptional | "PREMIUM PLAN" | Extra text shown on the customer’s credit card statement (max 22 characters, no <, >, \, ", '). | Only used for subscription payments |
Unit LabelOptional | "seat" | Label that represents units of this product (e.g. seat), shown at checkout and on invoices. | — |
Tax CodeOptional | "txcd_10000000" | Stripe tax code (txcd_…) for automatic tax. | — |
Marketing FeaturesOptional | [{"name":"Unlimited seats"}] | Up to 15 feature bullets (e.g. for pricing tables): [{ name: "Unlimited seats" }]. Replaces the existing list. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Product ID | "prod_123" | Product ID to delete | Required |
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Query | name~"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 |
LimitOptional | 10 | Number of results per page; Stripe returns 10 when empty. | Valid: 1–100 |
PageOptional | WyJwcm9kXzEiXQ== | Pagination token: pass the previous response's next_page value. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
ActiveOptional | "true" | Filter by active status. true returns only active prices, false only inactive ones. | Leave empty to return all prices. Valid: true, false |
CurrencyOptional | "usd" | Only return prices for this currency (e.g. usd, eur). | — |
ProductOptional | "prod_123" | Only return prices for this product (e.g. prod_123). | — |
TypeOptional | "recurring" | Only return prices of this type: one_time or recurring. | Valid: one_time, recurring |
LimitOptional | 10 | Maximum number of prices to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "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 BeforeOptional | "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. | — |
CreatedOptional | {"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. | — |
RecurringOptional | {"interval":"month"} | Filter recurring prices by their recurring properties. Supports interval (day, week, month, year), usage_type (licensed, metered), and meter. | — |
Lookup KeysOptional | ["premium_monthly","premium_yearly"] | Only return prices with these lookup keys. You can specify up to 10 lookup keys. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Price ID | "price_123" | Stripe Price ID (e.g. price_123) of the price to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Amount | 1000 | Price 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 |
ActiveOptional | "true" | Whether the price can be used for new purchases. Defaults to true when not set. | Valid: true, false |
NicknameOptional | "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 |
MetadataOptional | {"internal_id":"42"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
Billing SchemeOptional | "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 KeyOptional | "premium_monthly" | A unique string to retrieve this price dynamically. Up to 200 characters. | — |
Tax BehaviorOptional | "exclusive" | Whether the price includes or excludes tax. Once set to inclusive or exclusive, it cannot be changed. | Valid: exclusive, inclusive, unspecified |
Transfer Lookup KeyOptional | true | If 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 OptionsOptional | {"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. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Price ID | "price_123" | Stripe Price ID (e.g. price_123) of the price to update. | Required |
ActiveOptional | "false" | Whether the price can be used for new purchases. Set to Inactive to archive the price. | Valid: true, false |
NicknameOptional | "Updated Monthly" | A brief description of the price, hidden from customers. | — |
MetadataOptional | {"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 KeyOptional | "premium_monthly_v2" | A unique string to retrieve this price dynamically. Up to 200 characters. | — |
Tax BehaviorOptional | "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 KeyOptional | true | If enabled, atomically moves the lookup_key from the existing price that holds it to this one. | — |
Currency OptionsOptional | {"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. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Query | product:"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 |
LimitOptional | 10 | Number of results per page; Stripe returns 10 when empty. | Valid: 1–100 |
PageOptional | WyJwcmljZV8xIl0= | Pagination token: pass the previous response's next_page value. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
EmailOptional | "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 |
LimitOptional | 10 | Maximum number of customers to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "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 BeforeOptional | "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. | — |
CreatedOptional | {"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 ClockOptional | "clock_123" | Only return customers attached to this test clock id (e.g. clock_123). Test clocks exist in test mode only. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
EmailOptional | "customer@example.com" | Email address for the customer. | — |
NameOptional | "John Doe" | Full name of the customer. | — |
Business NameOptional | "Acme Inc." | The customer's business name, when the customer is a business. | — |
Individual NameOptional | "Jane Smith" | The customer's individual name, when the customer is a person. | — |
PhoneOptional | "+1234567890" | Phone number for the customer. | — |
DescriptionOptional | "Premium customer" | Optional note or description for this customer. | — |
Invoice PrefixOptional | "CUST" | Prefix shown on invoice numbers (3–12 characters). | — |
Invoice SettingsOptional | — | Invoice options for this customer. | — |
Next Invoice SequenceOptional | 1 | The sequence to be used on the next invoice for this customer. | — |
AddressOptional | — | Customer's billing address. | — |
Tax ExemptOptional | "none" | Tax handling: none, exempt, or reverse. | Valid: none, exempt, reverse |
TaxOptional | — | Tax settings for the customer. | — |
Tax ID DataOptional | [{"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. | — |
MetadataOptional | {"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 MethodOptional | "pm_123" | Stripe Payment Method ID (e.g. pm_123) to attach as default. | — |
Preferred LocalesOptional | ["en","fr-CA"] | Customer's preferred languages, ordered by preference. Use IETF language tags (e.g. en, fr-CA). | — |
BalanceOptional | 0 | Starting balance in the smallest currency unit (e.g. cents). Can be negative for credit. | — |
Cash BalanceOptional | — | Cash balance options. | — |
SourceOptional | "tok_123" | A token or source ID to attach as the default source (e.g. tok_123). | — |
Test ClockOptional | "clock_123" | ID of a test clock to attach to this customer (test mode only). | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Customer ID | "cus_123" | Stripe Customer ID (e.g. cus_123) of the customer to update. | Required |
EmailOptional | "newemail@example.com" | Customer's email address. | — |
NameOptional | "Jane Doe" | Customer's name. | — |
Business NameOptional | "Acme Inc." | The customer's business name, when the customer is a business. | — |
Individual NameOptional | "Jane Smith" | The customer's individual name, when the customer is a person. | — |
PhoneOptional | "+1987654321" | Customer's phone number. | — |
DescriptionOptional | "VIP customer" | Optional note or description for this customer. | — |
Invoice PrefixOptional | "VIP" | Prefix for invoice numbers (3–12 characters). | — |
Invoice SettingsOptional | — | Invoice options for this customer. | — |
Next Invoice SequenceOptional | 1 | The sequence to be used on the next invoice for this customer. | — |
AddressOptional | — | Customer's billing address. | — |
Tax ExemptOptional | "none" | Tax handling: none, exempt, or reverse. | Valid: none, exempt, reverse |
TaxOptional | — | Tax settings for the customer. | — |
MetadataOptional | {"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 SourceOptional | "card_456" | Default payment source (e.g. card_456). | — |
Preferred LocalesOptional | ["en","fr-CA"] | Customer's preferred languages, ordered by preference. Use IETF language tags (e.g. en, fr-CA). | — |
BalanceOptional | -500 | Balance in the smallest currency unit (e.g. cents). Can be negative for credit. | — |
Cash BalanceOptional | — | Cash balance options. | — |
SourceOptional | "tok_123" | A token or source ID to attach as a source (e.g. tok_123). | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Customer ID | "cus_123" | Customer ID to delete | Required |
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | "cus_123" | Only return invoices for this customer (e.g. cus_123). | — |
StatusOptional | "paid" | Only return invoices with this status. | Valid: draft, open, paid, uncollectible, void |
SubscriptionOptional | "sub_123" | Only return invoices for this subscription (e.g. sub_123). | — |
Collection MethodOptional | "send_invoice" | Only return invoices with this collection method. | Valid: charge_automatically, send_invoice |
LimitOptional | 10 | Maximum number of invoices to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "in_123" | Cursor for pagination: return invoices after this object id. Use the last invoice's id from the previous page. | — |
Ending BeforeOptional | "in_456" | Cursor for pagination: return invoices before this object id. Use the first invoice's id from the current page to go backward. | — |
CreatedOptional | {"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 DateOptional | {"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. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | "in_123" | Stripe Invoice ID (e.g. in_123) of the invoice to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Customer | "cus_123" | Stripe Customer ID (e.g. cus_123) to attach the invoice to. | Required |
Auto AdvanceOptional | "true" | If enabled, the invoice is finalized and collected automatically after creation. | — |
Collection MethodOptional | "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 |
DescriptionOptional | "Monthly invoice" | Optional note or description for the invoice. | — |
Days Until DueOptional | 30 | Number of days until the invoice is due. | Required when collection_method is send_invoice |
Due DateOptional | 1672531200 | When the invoice is due, as a Unix timestamp. | — |
MetadataOptional | {"internal_id":"123"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
SubscriptionOptional | "sub_123" | Subscription ID to attach to the invoice. | — |
CurrencyOptional | "usd" | Three-letter ISO currency code (e.g. usd, eur). | — |
Automatic TaxOptional | {"enabled":"true"} | Automatic tax settings. Pass {"enabled": true} to enable Stripe Tax for this invoice. | — |
Account Tax IDsOptional | ["taxid_123"] | Array of Tax ID strings (e.g. taxid_123) to display on the invoice. | — |
Application Fee AmountOptional | 100 | Application fee in the smallest currency unit (e.g. cents). | — |
Custom FieldsOptional | [{"name":"PO","value":"12345"}] | Custom fields displayed on the invoice. Array of objects with name and value. | — |
Default Payment MethodOptional | "pm_123" | Stripe Payment Method ID (e.g. pm_123) to use by default for this invoice. | — |
Default SourceOptional | "card_123" | Payment source ID (e.g. card_123) to use by default. | — |
Default Tax RatesOptional | ["txr_123"] | Array of Stripe Tax Rate IDs (e.g. txr_123) to apply by default. | — |
DiscountsOptional | [{"coupon":"SUMMER20"}] | Discounts to apply. Array of discount objects (e.g. {"coupon": "SUMMER20"}). | — |
FooterOptional | "Thank you for your business" | Footer text shown at the bottom of the invoice. | — |
From InvoiceOptional | {"action":"revision","invoice":"in_123"} | Create this invoice from an existing one. Object with action (e.g. "revision") and invoice (Invoice ID). | — |
Pending Items BehaviorOptional | "exclude" | How to handle pending invoice items: exclude, include, or include_and_require. | Valid: exclude, include, include_and_require |
Rendering OptionsOptional | {"amount_tax_display":"include_inclusive_tax"} | Display options. Object with amount_tax_display (e.g. "include_inclusive_tax"). | — |
Statement DescriptorOptional | "MONTHLY" | Text shown on the customer's bank statement (max 22 characters). | — |
Transfer DataOptional | {"destination":"acct_123"} | Transfer options. Object with destination (connected account ID, e.g. acct_123). | — |
On Behalf OfOptional | "acct_123" | Connected account ID on whose behalf the invoice is created (e.g. acct_123). | — |
Payment SettingsOptional | {"payment_method_types":"["card"]"} | Payment options. Object with payment_method_types (e.g. ["card", "ach_debit"]). | — |
Invoice NumberOptional | "INV-0001" | A custom invoice number. | Must be unique across all invoices on the account |
Automatically Finalizes AtOptional | 1672531200 | Unix timestamp at which the draft invoice will be automatically finalized. | — |
Effective AtOptional | 1672531200 | Unix timestamp at which the invoice becomes effective. | — |
IssuerOptional | {"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 CostOptional | {"shipping_rate":"shr_123"} | Shipping cost to add to the invoice. Object with shipping_rate (ID) or shipping_rate_data (inline data). | — |
Shipping DetailsOptional | {"name":"John Doe","address":{"line1":"123 Main St","country":"US"}} | Shipping details for the invoice. Object with address and name. | — |
Customer AccountOptional | "acct_123" | Connected account ID of the customer for this invoice. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | "in_123" | Stripe Invoice ID (e.g. in_123) of the invoice to update. | Required |
Auto AdvanceOptional | "false" | Automatically finalize and collect payment for this invoice. | — |
Collection MethodOptional | "send_invoice" | How to collect payment: charge_automatically or send_invoice. | Valid: charge_automatically, send_invoice |
DescriptionOptional | "Updated invoice" | Description for the invoice. | — |
Days Until DueOptional | 45 | Number of days until the invoice is due (positive integer). | — |
Due DateOptional | 1672617600 | When the invoice is due, as a Unix timestamp. | — |
MetadataOptional | {"internal_id":"456"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
Automatic TaxOptional | {"enabled":"true"} | Automatic tax settings. Pass {"enabled": true} to enable Stripe Tax for this invoice. | — |
Account Tax IDsOptional | ["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 AmountOptional | 200 | Application fee in the smallest currency unit (e.g. cents). | — |
Custom FieldsOptional | [{"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 MethodOptional | "pm_456" | Stripe Payment Method ID (e.g. pm_123) to use by default. | — |
Default SourceOptional | "card_456" | Stripe payment source ID (e.g. card_123) to use by default. | — |
Default Tax RatesOptional | ["txr_456"] | Array of Stripe Tax Rate IDs (e.g. txr_123) to apply by default. Pass an empty array to remove all. | — |
DiscountsOptional | [{"discount":"di_123"}] | Discounts to apply. Array of discount objects or empty array to remove all. | — |
FooterOptional | "Updated footer" | Footer text shown at the bottom of the invoice. | — |
On Behalf OfOptional | "acct_123" | Connected account ID on whose behalf the invoice is created. | — |
Payment SettingsOptional | {"payment_method_types":"["card"]"} | Payment options. Object with payment_method_types (e.g. ["card", "ach_debit"]). | — |
Rendering OptionsOptional | {"amount_tax_display":"exclude_tax"} | Display options. Object with amount_tax_display (e.g. "exclude_tax", "include_inclusive_tax"). | — |
Statement DescriptorOptional | "UPDATED" | Text shown on the customer's bank statement (max 22 characters). | — |
Transfer DataOptional | {"destination":"acct_456"} | Transfer options. Object with destination (connected account ID, e.g. acct_123). | — |
Invoice NumberOptional | "INV-0001" | A custom invoice number. | Must be unique across all invoices on the account |
Automatically Finalizes AtOptional | 1672531200 | Unix timestamp at which the draft invoice will be automatically finalized. | — |
Effective AtOptional | 1672531200 | Unix timestamp at which the invoice becomes effective. | — |
IssuerOptional | {"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 CostOptional | {"shipping_rate":"shr_123"} | Shipping cost to add to the invoice. Object with shipping_rate (ID) or shipping_rate_data (inline data). | — |
Shipping DetailsOptional | {"name":"John Doe","address":{"line1":"123 Main St","country":"US"}} | Shipping details for the invoice. Object with address and name. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | "in_123" | Invoice ID to delete | Required |
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the draft invoice to finalize. | Required |
Auto AdvanceOptional | true | When off, the invoice stays in manual collection after finalization and is not automatically charged or sent. | Boolean |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the open invoice to pay. | Required |
Paid Out of BandOptional | true | Marks 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 MethodOptional | pm_123 | Payment Method ID to charge; defaults to the invoice's default payment method. | Fill either Payment Method or Source, not both |
ForgiveOptional | true | If 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 SessionOptional | true | Indicates the payment is off-session (the customer is not actively present). | Boolean |
SourceOptional | card_123 | Legacy Source ID to charge. | Fill either Payment Method or Source, not both |
MandateOptional | mandate_123 | Mandate ID to use for this payment. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the finalized invoice to send. | Required / only finalized invoices can be sent |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the open or finalized invoice to void. | Required / voided invoices cannot be reopened |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the open invoice to mark as uncollectible. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the invoice to attach the payment to. | Required |
Payment Intent | pi_123 | PaymentIntent 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | cus_123 | Customer ID to generate the preview for. | — |
SubscriptionOptional | sub_123 | Subscription ID to preview the upcoming invoice for. | — |
CurrencyOptional | usd | Three-letter ISO currency code for the preview. | — |
Customer DetailsOptional | {"address": {"country": "US"}} | Inline customer info overriding stored details for this preview only (address, shipping, tax_exempt, tax_ids). | Object |
Subscription DetailsOptional | {"proration_behavior": "create_prorations"} | Subscription modifications to preview (items, trial_end, proration_behavior). | Object |
Automatic TaxOptional | {"enabled": true} | Automatic tax settings; set enabled to turn on Stripe Tax. | Object |
DiscountsOptional | [{"coupon": "SUMMER20"}] | Discounts to apply in this preview. | Array of discount objects |
Invoice ItemsOptional | [{"amount": 1000, "currency": "usd", "description": "Consulting"}] | Items to add for this preview. | Array of invoice item objects |
On Behalf OfOptional | acct_123 | Connected account ID on whose behalf the preview is generated. | — |
ScheduleOptional | sub_sched_123 | Subscription Schedule ID to preview. | — |
Schedule DetailsOptional | {"phases": []} | Schedule modification details to preview. | Object |
IssuerOptional | {"type": "account", "account": "acct_123"} | Connected account that issues the invoice (type, optional account). | Object |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the invoice whose line items to list. | Required |
LimitOptional | 10 | Maximum number of line items to return. Default 10. | Valid: 1–100 |
Starting AfterOptional | il_123 | Pagination cursor: return line items after this object id. | — |
Ending BeforeOptional | il_456 | Pagination cursor: return line items before this object id. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID 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 MetadataOptional | {"order_id": "123"} | Metadata to set on the invoice after adding lines; empty object clears all metadata. | Object |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID 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 ID | il_123 | Invoice line item ID to remove. | Required |
↳ Behavior | delete | delete permanently removes the line; unassign detaches it for reassignment. | Required / Valid: delete, unassign |
Invoice MetadataOptional | {"order_id": "123"} | Metadata to set on the invoice after removing lines; empty object clears all metadata. | Object |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID 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 MetadataOptional | {"order_id": "123"} | Metadata to set on the invoice after updating lines; empty object clears all metadata. | Object |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice ID | in_123 | ID of the invoice that contains the line item. | Required |
Line Item ID | il_123 | ID of the line item to update. | Required |
AmountOptional | 1500 | Updated amount in the smallest currency unit (e.g. cents). | Provide only one pricing form: amount, pricing, or price_data |
PricingOptional | {"price": "price_123"} | Attach a different Stripe Price (price). | Provide only one pricing form |
Price DataOptional | {"currency": "usd", "product": "prod_123", "unit_amount": 1500} | Inline price data (currency, product, unit_amount). | Provide only one pricing form |
DescriptionOptional | Updated consulting services | Updated description shown on the invoice. | — |
QuantityOptional | 2 | Updated quantity. | Non-negative integer; not used with amount pricing |
DiscountableOptional | true | Whether discounts apply to this line item. | Boolean |
DiscountsOptional | [{"coupon": "SUMMER20"}] | Discounts to apply; empty array removes all. | Array of discount objects |
MetadataOptional | {"project_id": "proj_123"} | Custom key-value pairs for this line item. | Object |
PeriodOptional | {"start": 1672531200, "end": 1675209600} | Billing period (start, end as Unix timestamps). | Object |
Tax AmountsOptional | [{"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 RatesOptional | ["txr_123"] | Stripe Tax Rate IDs to apply; empty array removes all. | Array of strings |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | "cus_123" | Only list subscriptions for this customer (e.g. cus_123). | — |
Customer AccountOptional | "acct_123" | Only list subscriptions for this customer account ID. | — |
PriceOptional | "price_123" | Only list subscriptions that include this price (e.g. price_123). | — |
StatusOptional | "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 |
LimitOptional | 10 | Maximum number of subscriptions to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "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 BeforeOptional | "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 MethodOptional | "charge_automatically" | Filter by collection method: charge_automatically or send_invoice. | Valid: charge_automatically, send_invoice |
Automatic TaxOptional | {"enabled":"true"} | Filter by automatic tax settings. | — |
CreatedOptional | {"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 StartOptional | {"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 EndOptional | {"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 ClockOptional | "clock_123" | Only return subscriptions attached to this test clock id (e.g. clock_123). Test clocks exist in test mode only. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Subscription ID | "sub_123" | Stripe Subscription ID (e.g. sub_123) of the subscription to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 EndOptional | "false" | Cancel the subscription at the end of the current billing period. | — |
Default Payment MethodOptional | "pm_123" | Stripe Payment Method ID (e.g. pm_123) to use as the default for this subscription. | — |
DescriptionOptional | "Premium plan" | Customer-facing description for this subscription (max 500 characters). | — |
Collection MethodOptional | "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 |
CurrencyOptional | "usd" | Three-letter ISO currency code (e.g. usd, eur). | — |
Trial Period DaysOptional | 14 | Number of days for the free trial period (non-negative integer). | — |
MetadataOptional | "{"order_id": "ord_123"}" | Custom key-value pairs (e.g. for your own IDs or labels). | — |
Days Until DueOptional | 30 | Days until payment is due (positive integer). | Only used when collection_method is send_invoice |
Backdate Start DateOptional | 1672531200 | Backdate the subscription start date to this Unix timestamp. | — |
Billing Cycle AnchorOptional | "now" | Aligns future billing dates to a fixed anchor. Accepts a Unix timestamp or now. | — |
Cancel AtOptional | "1672531200" | Schedule cancellation at a specific time. Accepts a Unix timestamp, max_period_end, or min_period_end. | — |
Default Tax RatesOptional | "["txr_123"]" | Tax rate IDs to apply to items without specific rates. | — |
Off SessionOptional | "true" | Indicates that this payment is off-session (customer not actively in the checkout flow). | — |
Payment BehaviorOptional | "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 SettingsOptional | "{"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 BehaviorOptional | "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 EndOptional | "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 PlanOptional | "true" | Use the plan's built-in trial period days for this subscription. | — |
DiscountsOptional | "[{"coupon": "SUMMER20"}]" | Discounts to apply to this subscription. Each object can include a coupon, discount, or promotion_code. | — |
Add Invoice ItemsOptional | "[{"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 PercentOptional | 10 | Platform 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 OfOptional | "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 SourceOptional | "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 ModeOptional | {"type":"flexible"} | Controls how prorations and invoices are calculated for this subscription. | — |
Billing ThresholdsOptional | {"amount_gte":5000} | Thresholds that trigger automatic invoice generation. | — |
Customer AccountOptional | "acct_123" | Stripe Connect account ID representing the customer. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Subscription ID | "sub_123" | Stripe Subscription ID (e.g. sub_123) of the subscription to update. | Required |
Default Payment MethodOptional | "pm_456" | Stripe Payment Method ID (e.g. pm_456) to set as the default for this subscription. | — |
DescriptionOptional | "Premium plan" | Customer-facing description for this subscription (max 500 characters). | — |
ItemsOptional | [{"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 MethodOptional | "charge_automatically" | How to collect payment for this subscription. | Valid: charge_automatically, send_invoice |
DiscountsOptional | [{"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. | — |
MetadataOptional | {"order_id":"ord_123"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
Billing Cycle AnchorOptional | "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 AtOptional | "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 DueOptional | 30 | Days until payment is due (positive integer). | Only used when collection_method is send_invoice |
Default SourceOptional | "card_456" | Default payment source ID. Superseded by default_payment_method when both are set. | — |
Default Tax RatesOptional | ["txr_456"] | Tax rate IDs to apply to items without specific rates. Pass an empty array to clear. | — |
Off SessionOptional | true | Indicates 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 BehaviorOptional | "allow_incomplete" | Controls what happens when payment fails on update. | Valid: allow_incomplete, default_incomplete, pending_if_incomplete, error_if_incomplete |
Payment SettingsOptional | "{"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 BehaviorOptional | "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 DateOptional | 1672531200 | Custom 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 EndOptional | "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 PlanOptional | true | Use the plan's built-in trial period. | Mutually exclusive with trial_end |
Add Invoice ItemsOptional | [{"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 PercentOptional | 10 | Platform 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 OfOptional | "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 ThresholdsOptional | {"amount_gte":5000} | Thresholds that trigger automatic invoice generation. | — |
Cancellation DetailsOptional | {"feedback":"too_expensive"} | Details about why this subscription was cancelled. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Subscription ID | "sub_123" | Stripe Subscription ID (e.g. sub_123) of the subscription to cancel. The subscription is canceled immediately. | Required |
Invoice NowOptional | false | Create a final invoice immediately for any un-invoiced metered usage. | — |
ProrateOptional | false | Generate a proration credit for unused time remaining in the billing period. | — |
Cancellation DetailsOptional | {"comment":"No longer needed","feedback":"too_expensive"} | Details about why this subscription was canceled. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Subscription ID | sub_123 | ID of the paused subscription to resume. | Required. Must be in paused status; Stripe rejects any other status (including canceled) |
Billing Cycle AnchorOptional | now | How to reset billing timing on resume. | Valid: now, unchanged |
Proration BehaviorOptional | create_prorations | Controls proration invoicing when the anchor is unchanged. | Valid: create_prorations, none, always_invoice |
Proration DateOptional | 1672531200 | Apply prorations as if resumption occurred at this Unix timestamp (seconds). | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Subscription ID | sub_123 | ID 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Query | status:"active" AND metadata["plan"]:"pro" | Search Query Language expression. Searchable fields: status, created, canceled_at, ended_at, metadata["key"]. | Required |
LimitOptional | 10 | Results per page (Stripe default 10). | Valid: 1–100 |
PageOptional | WyJzdWJfMSJd | Pagination token: the previous response's next_page value. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Amount | 1000 | Amount in the smallest currency unit (1000 cents = $10.00). | Required |
Currency | usd | Three-letter ISO currency code. | Required |
CustomerOptional | cus_123 | Customer to associate with this payment. | — |
DescriptionOptional | Payment for order #123 | Arbitrary string attached to the object. | — |
Payment MethodOptional | pm_123 | Payment Method to attach and charge. | — |
Receipt EmailOptional | customer@example.com | Email to send the payment receipt to. | — |
Automatic Payment MethodsOptional | {"enabled":true} | Enable Stripe-managed automatic payment methods. | — |
MetadataOptional | {"order_id":"123"} | Custom key-value pairs. | — |
ConfirmOptional | false | Confirm the PaymentIntent immediately on creation. | — |
Capture MethodOptional | automatic | When funds are captured. | Valid: automatic, automatic_async, manual |
Confirmation MethodOptional | automatic | Confirmation method. | Valid: automatic, manual |
Off SessionOptional | true | Indicates the payment is off-session. | Requires Confirm on. Valid: false, true, one_off, recurring |
Payment Method TypesOptional | ["card"] | List of payment method types to accept. | — |
Return URLOptional | https://example.com/checkout/complete | URL to redirect to after authentication. | Requires Confirm on |
Setup Future UsageOptional | off_session | Save the payment method for future payments. | Valid: off_session, on_session |
ShippingOptional | {"name":"John Doe","address":{…}} | Shipping information. | — |
Statement DescriptorOptional | ORDER 123 | Text shown on the customer's bank statement. | Max 22 characters |
Statement Descriptor SuffixOptional | ORDER 123 | Suffix appended to the account's descriptor prefix for card charges. | — |
Transfer DataOptional | {"destination":"acct_123"} | Transfer options for connected accounts. | — |
Transfer GroupOptional | group_123 | Identifies the resulting payment as part of a group. | — |
Use Stripe SDKOptional | false | true 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent ID | pi_123 | ID of the payment intent to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent ID | pi_123 | ID of the payment intent to update. | Required |
AmountOptional | 1500 | Updated amount in the smallest currency unit. | — |
CurrencyOptional | eur | Three-letter ISO currency code. | — |
CustomerOptional | cus_456 | Customer to associate with this payment. | — |
DescriptionOptional | Updated payment | Arbitrary string attached to the object. | — |
Payment MethodOptional | pm_456 | Payment Method to attach and charge. | — |
Receipt EmailOptional | updated@example.com | Email to send the payment receipt to. | — |
MetadataOptional | {"order_id":"456"} | Custom key-value pairs. | — |
Capture MethodOptional | automatic | When funds are captured. | Valid: automatic, automatic_async, manual |
Setup Future UsageOptional | on_session | Save the payment method for future payments. | Valid: off_session, on_session |
ShippingOptional | {"name":"Jane Doe","address":{…}} | Shipping information. | — |
Statement DescriptorOptional | UPDATED 123 | Text shown on the customer's bank statement. | Max 22 characters |
Statement Descriptor SuffixOptional | NEW | Suffix appended to the account's descriptor prefix for card charges. | — |
Transfer DataOptional | {"destination":"acct_456"} | Transfer options for connected accounts. | — |
Transfer GroupOptional | group_456 | Identifies 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | cus_123 | Only return payment intents for this customer. | — |
LimitOptional | 10 | Maximum number of payment intents to return (default 10). | Valid: 1–100 |
Starting AfterOptional | pi_123 | Return items after this ID (cursor). | — |
Ending BeforeOptional | pi_456 | Return items before this ID (cursor). | — |
CreatedOptional | {"gt":1609459200} | Filter by creation date with keys gt, gte, lt, lte (Unix timestamps in seconds). | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent ID | pi_123 | ID of the payment intent to confirm. | Required. Must be in requires_confirmation or requires_payment_method status |
Payment MethodOptional | pm_123 | Payment Method to attach and charge. | Required if the intent has no payment method attached and no confirmation token is supplied |
Return URLOptional | https://example.com/checkout/complete | URL to redirect to after authentication or cancellation. | — |
Receipt EmailOptional | customer@example.com | Email to send the payment receipt to. | — |
Confirmation TokenOptional | ctoken_123 | ConfirmationToken ID; request properties take precedence over the token. | — |
Capture MethodOptional | automatic | When funds are captured. | Valid: automatic, automatic_async, manual |
Setup Future UsageOptional | off_session | Save the payment method for future payments. | Valid: off_session, on_session |
Off SessionOptional | false | true if the customer is not present during this attempt. | — |
Error on Requires ActionOptional | false | Fail the attempt if customer action would be required. | — |
Use Stripe SDKOptional | false | true if confirming with Stripe.js on the client. | — |
ShippingOptional | {"name":"John Doe","address":{…}} | Shipping information. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent ID | pi_123 | ID of the payment intent to capture. | Required. Must be in requires_capture status |
Amount to CaptureOptional | 1000 | Amount in cents to capture (defaults to the full amount_capturable). | — |
Final CaptureOptional | false | Set false to retain uncaptured funds for future captures. | Multicapture-only; Stripe rejects the parameter's presence (any value) on non-multicapture intents |
Statement DescriptorOptional | ORDER 123 | Text shown on the customer's statement. | Max 22 characters; not valid for card charges |
Statement Descriptor SuffixOptional | ORDER 123 | Suffix appended to the account's descriptor prefix for card charges. | — |
MetadataOptional | {"order_id":"123"} | Custom key-value pairs. | — |
Transfer DataOptional | {"destination":"acct_123"} | Transfer options for connected accounts. | — |
Application Fee AmountOptional | 100 | Application fee in cents to collect on behalf of the connected account. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent ID | pi_123 | ID of the payment intent to cancel. | Required. Must have status requires_payment_method, requires_capture, requires_confirmation, requires_action, or processing |
Cancellation ReasonOptional | requested_by_customer | Reason for cancellation. | Valid: duplicate, fraudulent, requested_by_customer, abandoned |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Query | status:"succeeded" AND currency:"usd" AND amount>5000 | Search Query Language expression. Supported fields: amount, currency, customer, description, metadata, payment_method_types, receipt_email, setup_future_usage, status. | Required |
LimitOptional | 10 | Maximum number of results to return (default 10). | Valid: 1–100 |
PageOptional | eyJsaW1pdCI6MX0 | Cursor from the next_page field of a previous response. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment Intent | pi_123 | PaymentIntent to refund. | Provide exactly one of Payment Intent or Charge |
Charge | ch_123 | Charge to refund. | Provide exactly one of Payment Intent or Charge |
AmountOptional | 500 | Amount to refund in the smallest currency unit (500 = $5.00). | Omit for a full refund of the remaining balance |
ReasonOptional | requested_by_customer | Reason for the refund. fraudulent adds the associated card to Stripe's block list, so use it deliberately. | Valid: requested_by_customer, duplicate, fraudulent |
MetadataOptional | {"internal_ref":"42"} | Custom key-value pairs attached to the refund. | — |
Instructions EmailOptional | customer@example.com | For payment methods without native refund support: email to send refund instructions to. | — |
Refund Application FeeOptional | false | Connect only: whether to refund the application fee proportionally. | Valid: true, false |
Reverse TransferOptional | false | Connect only: whether to reverse the transfer to the connected account. | Valid: true, false |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Refund ID | re_123 | Stripe Refund ID of the refund to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Refund ID | re_123 | Stripe Refund ID of the refund to update. | Required |
MetadataOptional | {"internal_ref":"42"} | Custom key-value pairs, the only mutable part of a refund. Keys are merged; an empty-string value deletes the key. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Payment IntentOptional | pi_123 | Only return refunds for this PaymentIntent. | — |
ChargeOptional | ch_123 | Only return refunds for this Charge. | — |
LimitOptional | 10 | Maximum number of refunds to return; Stripe returns 10 when empty. | Valid: 1–100 |
Starting AfterOptional | re_123 | Cursor to page forward: returns refunds after this refund id. | — |
Ending BeforeOptional | re_456 | Cursor to page backward: returns refunds before this refund id. | — |
CreatedOptional | {"gte":1704067200} | Filter by creation date using keys gt, gte, lt, lte (Unix timestamps in seconds). | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Refund ID | re_123 | Stripe Refund ID of the refund to cancel. Only works while the refund is in requires_action status; a succeeded refund cannot be canceled. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 PageOptional | {"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 IDOptional | "cus_123" | Existing Stripe customer to attach the session to. | — |
Customer EmailOptional | "customer@example.com" | Used when no Customer ID is provided. | — |
CurrencyOptional | "usd" | Three-letter ISO currency code. | — |
Payment Method TypesOptional | ["card"] | Payment methods to offer. | Leave empty to use the Stripe defaults |
Allow Promotion CodesOptional | true | Lets the customer enter a promotion code at checkout. | Cannot be combined with Discounts, even when switched off after being touched |
DiscountsOptional | [{"coupon":"SUMMER20"}] | Discounts applied to the session. | Cannot be combined with Allow Promotion Codes |
Submit TypeOptional | "pay" | Wording on the submit button. | Valid: auto, pay, book, donate |
Billing Address CollectionOptional | "required" | When to ask for a billing address. | Valid: auto, required |
Phone Number CollectionOptional | {"enabled":true} | Ask for the customer’s phone number. | — |
Shipping Address CollectionOptional | {"allowed_countries":["US","FR"]} | Ask for a shipping address, limited to the countries you allow. | allowed_countries is required inside the object |
Shipping OptionsOptional | [{"shipping_rate":"shr_123"}] | Shipping rates offered at checkout. | — |
Automatic TaxOptional | {"enabled":true} | Let Stripe calculate tax for you. | — |
Tax ID CollectionOptional | {"enabled":true} | Ask for a tax ID at checkout. | — |
Invoice CreationOptional | {"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 DataOptional | {"trial_period_days":14} | Options for the subscription Checkout creates. | Only when Mode is subscription |
Payment Intent DataOptional | {"setup_future_usage":"off_session"} | Options for the payment intent Checkout creates. | Only when Mode is payment |
MetadataOptional | {"order_id":"123"} | Your own key-value pairs, available again in webhooks. | — |
LocaleOptional | "en" | Language of the Checkout page. | — |
Expires AtOptional | 1672531200 | Unix timestamp for when the session expires. | Between 30 minutes and 24 hours from now |
Client Reference IDOptional | "order_123" | Your own reference, to reconcile the session with your records. | — |
Customer CreationOptional | "if_required" | Whether Checkout creates a customer. | Valid: if_required, always. Only when Mode is payment or setup |
Customer UpdateOptional | {"address":"auto"} | What Checkout may update on the customer record. | Only when Customer ID is set. Each key accepts auto or never |
Customer AccountOptional | "acct_123" | Account ID of the customer, for Connect platforms. | — |
UI ModeOptional | "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 CompletionOptional | "always" | What happens once an embedded checkout completes. | Valid: always, if_required, never. Only when UI Mode is embedded_page |
Return PageOptional | {"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 |
PermissionsOptional | {"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 ExpirationOptional | {"recovery":{"enabled":true}} | What happens after the session expires. | — |
Consent CollectionOptional | {"terms_of_service":"required"} | Consent checkboxes shown at checkout. | terms_of_service: none, required. promotions: none, auto |
Custom FieldsOptional | [{"key":"ref","label":{"type":"custom","custom":"Reference"},"type":"text"}] | Extra fields shown on the Checkout page. | — |
Custom TextOptional | {"submit":{"message":"Complete your purchase"}} | Custom wording on the Checkout page. | Keys: submit, shipping_address, after_submit, terms_of_service_acceptance |
Adaptive PricingOptional | {"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 SettingsOptional | {"header":{"visible":true}} | Branding for the Checkout page. | — |
Excluded Payment Method TypesOptional | ["afterpay_clearpay"] | Payment methods to hide from this session. | — |
Name CollectionOptional | {"individual":{"enabled":true}} | Collect business and individual names. | — |
Optional ItemsOptional | [{"price":"price_123","quantity":1}] | Add-ons the customer can choose at checkout. | Max 10 |
Origin ContextOptional | "web" | Where the session is opened from. | Valid: web, mobile_app |
Payment Method CollectionOptional | "always" | When to collect a payment method. | Valid: always, if_required |
Payment Method ConfigurationOptional | "pmc_123" | Payment method configuration to use for this session. | — |
Payment Method DataOptional | {"allow_redisplay":"always"} | Payment method data to pre-fill. | allow_redisplay: always, limited, unspecified |
Payment Method OptionsOptional | {"card":{"installments":{"enabled":true}}} | Options specific to one payment method. | — |
Saved Payment Method OptionsOptional | {"payment_method_save":"enabled"} | Options for saved payment methods. | — |
Integration IdentifierOptional | "my_integration" | Identifier for integration metadata. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Session ID | cs_123 | ID of the checkout session to update. | Required. Only open sessions can be updated |
MetadataOptional | {"order_id":"456"} | Custom key-value pairs attached to the session. | Always updatable |
Collected InformationOptional | {"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 OptionsOptional | [{"shipping_rate":"shr_123"}] | Updated shipping options. | Same permission requirement as Collected Information |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Session ID | "cs_test_123" | Stripe Checkout Session ID (e.g. cs_test_123) to retrieve. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | "cus_123" | Only return sessions for this customer (e.g. cus_123). | — |
Payment IntentOptional | "pi_123" | Only return the session for this Payment Intent ID. | — |
SubscriptionOptional | "sub_123" | Only return the session for this Subscription ID. | — |
StatusOptional | "complete" | Filter by session status: open, complete, or expired. | Valid: open, complete, expired |
LimitOptional | 10 | Maximum number of sessions to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "cs_test_123" | Return items after this ID for forward pagination. | — |
Ending BeforeOptional | "cs_test_456" | Return items before this ID for backward pagination. | — |
CreatedOptional | {"gt":1609459200} | Filter by creation date. Use an object with gt, gte, lt, or lte (Unix timestamps). | — |
Payment LinkOptional | "plink_123" | Only return sessions created by this Payment Link ID. | — |
Customer AccountOptional | "acct_123" | Only return sessions for this customer account ID. | — |
Customer DetailsOptional | {"email":"customer@example.com"} | Filter sessions by customer details. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Session ID | "cs_test_123" | Stripe Checkout Session ID (e.g. cs_test_123) to list line items for. | Required |
LimitOptional | 10 | Maximum number of line items to return. When left empty, Stripe returns 10. | Between 1 and 100 |
Starting AfterOptional | "li_123" | Return items after this line item ID for forward pagination. | — |
Ending BeforeOptional | "li_456" | Return items before this line item ID for backward pagination. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Session ID | "cs_test_123" | Stripe Checkout Session ID (e.g. cs_test_123) to expire. | Required. Must be in open status |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Customer ID | "cus_123" | Stripe Customer ID (e.g. cus_123) who will be billed. | Required |
Amount | 1000 | Amount 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 |
QuantityOptional | 1 | Quantity of items to add. | — |
DescriptionOptional | "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 IDOptional | "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 IDOptional | "sub_123" | Stripe Subscription ID (e.g. sub_123) to attach this item to. | — |
DiscountableOptional | "true" | If enabled, coupon and promotion discounts can apply to this line. | — |
DiscountsOptional | [{"coupon":"SUMMER20"}] | Discounts to apply. Array of objects (e.g. {"coupon": "SUMMER20"}). | — |
MetadataOptional | {"project_id":"proj_456"} | Custom key-value pairs (e.g. for your own IDs or labels). | — |
PeriodOptional | {"start":"1672531200","end":"1675209600"} | Billing period. Object with start and end (Unix timestamps). | — |
Tax BehaviorOptional | "exclusive" | How tax is applied: unspecified, exclusive, or inclusive. | Valid: unspecified, exclusive, inclusive |
Tax CodeOptional | "txcd_10000000" | Stripe Tax Code ID (e.g. txcd_10000000) for this line. | — |
Tax RatesOptional | ["txr_123"] | Array of Stripe Tax Rate IDs (e.g. txr_123) to apply to this line. | — |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice Item ID | ii_123 | ID of the invoice item to fetch. | Required |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice Item ID | ii_123 | ID of the invoice item to update. | Required |
DescriptionOptional | Updated consulting services | Updated description of the invoice item. | — |
AmountOptional | 1500 | Updated amount in the smallest currency unit (e.g. cents). | Provide only one pricing form: amount, unit_amount_decimal, pricing, or price_data |
Decimal AmountOptional | 500.50 | Amount as a decimal string for high-precision billing. | Provide only one pricing form |
PricingOptional | {"price": "price_123"} | Attach a different Stripe Price (price). | Provide only one pricing form |
Price DataOptional | {"currency": "usd", "product": "prod_123", "unit_amount": 1500} | Inline price data (currency, product, unit_amount). | Provide only one pricing form |
QuantityOptional | 2 | Updated quantity of items. | Positive integer; not used with amount pricing |
DiscountableOptional | true | Whether coupon and promotion discounts can apply to this line. | Boolean |
DiscountsOptional | [{"coupon": "SUMMER20"}] | Updated discounts; empty array removes all. | Array of discount objects |
MetadataOptional | {"project_id": "proj_789"} | Custom key-value pairs. | Object |
PeriodOptional | {"start": 1675209600, "end": 1677628800} | Updated billing period (start, end as Unix timestamps). | Object |
Tax BehaviorOptional | exclusive | How tax is applied. | Valid: unspecified, exclusive, inclusive |
Tax CodeOptional | txcd_10000000 | Stripe Tax Code ID for this line. | — |
Tax RatesOptional | ["txr_123"] | Stripe Tax Rate IDs to apply; empty array removes all. | Array of strings |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
CustomerOptional | cus_123 | Only return items for this customer. | — |
InvoiceOptional | in_123 | Only return items for this invoice. | — |
Pending OnlyOptional | true | If on, only return items not yet attached to a finalized invoice. | Boolean |
LimitOptional | 10 | Maximum number of items to return. Default 10. | Valid: 1–100 |
Starting AfterOptional | ii_123 | Pagination cursor: return items after this object id. | — |
Ending BeforeOptional | ii_456 | Pagination cursor: return items before this object id. | — |
CreatedOptional | {"gte": 1609459200} | Filter by creation date using gt/gte/lt/lte (Unix timestamps). | Object |
ExpandOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Invoice Item ID | ii_123 | ID 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)

