Skip to content

Stripe

Stripe

Stripe is the world’s leading online payment infrastructure platform, offering APIs to accept payments, prevent fraud, and manage charges, subscriptions, and global marketplaces. With the Stripe integration in SquadOS, your agents can create payment intents, manage customers, issue invoices, control subscriptions, and query account balances automatically.

This tool uses an API key (API_KEY) or OAuth 2.0 (OAUTH2) to connect.

You will need the following fields (for API key connection):

FieldRequiredDescription
api_keyYesYour Stripe account API key (secret key, prefixed with sk_live_ in production or sk_test_ in test mode).
  1. Go to dashboard.stripe.com and log in (or create an account).
  2. Click the gear icon (Settings) in the top-right corner.
  3. In the side menu, go to DevelopersAPI keys.
  4. Copy the Secret key (prefixed with sk_live_ for production). For testing, use the sk_test_ key.
  5. Use this value in the api_key field when connecting in SquadOS.
  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for Stripe.
  3. Click the card to open the details and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you enter the API key obtained above (or authorize access via OAuth 2.0).
  5. Once done, you’re sent back to SquadOS with the account connected and the tool available to agents. (Connection-flow details in Organization Tools.)

STRIPE_CREATE_PAYMENT_INTENT

Creates a Stripe PaymentIntent to initiate and process a customer’s payment; using application_fee_amount for a connected account requires the Stripe-Account header.

NameTypeRequiredDescription
amountintegerYesAmount intended to be collected, specified in the smallest currency unit (e.g., 5000 for $50.00 USD).
currencystringYesThree-letter ISO currency code (e.g., usd, eur).
confirmbooleanNoSet to true to attempt to confirm this PaymentIntent immediately after creation. If the payment method requires any follow-up actions (e.g., 3D Secure authentication), this PaymentIntent will transition to a status requiring further action.
customerstringNoID of the Customer for this PaymentIntent, if one exists. Allows attaching payment method to Customer for future use.
metadataobjectNoKey-value pairs to attach to the PaymentIntent for storing additional structured information.
shippingobjectNoShipping information for this PaymentIntent. Required for certain payment methods or if calculating tax.
return_urlstringNoURL to redirect customer to after external authentication (e.g., 3D Secure). Required if confirm is true and payment method requires redirection.
descriptionstringNoArbitrary string for the PaymentIntent, displayed in Stripe dashboard and may be shown to customers.
off_sessionstringNoIndicates if customer is absent (off-session, e.g., for renewals). If true, payment_method must be provided and confirm must be true.
receipt_emailstringNoEmail address for receipt; if specified in live mode, receipt sent regardless of account email settings.
payment_methodstringNoID of PaymentMethod, Card, or compatible Source to attach. Required if confirm is true and automatic_payment_methods is not enabled.
setup_future_usagestringNoIndicates intent to save payment method for future use: on_session (customer present) or off_session (customer absent).
payment_method_typesarrayNoList of payment method types (e.g., card, alipay) this PaymentIntent can use. Required if automatic_payment_methods is disabled.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CONFIRM_PAYMENT_INTENT

Tool to confirm customer intent to pay with current or provided payment method. Use when ready to finalize a PaymentIntent and initiate the payment attempt. A return_url is required if confirmation needs customer action like 3D Secure authentication.

NameTypeRequiredDescription
payment_intent_idstringYesThe ID of the PaymentIntent to confirm.
return_urlstringNoThe URL to redirect your customer back to after they authenticate or cancel their payment. Required if confirmation requires customer action (e.g., 3D Secure).
payment_methodstringNoID of the PaymentMethod to attach to this PaymentIntent.
off_sessionstringNoSet to true to indicate customer is not in checkout flow.
capture_methodstringNoControls fund capture timing: automatic, automatic_async (default), or manual.
setup_future_usagestringNoIndicates intent to reuse payment method: on_session or off_session.
confirmation_tokenstringNoID of the ConfirmationToken to use for confirmation.
payment_method_dataobjectNoHash to create new PaymentMethod with type-specific details. Must include type field (e.g., card, acss_debit).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CAPTURE_PAYMENT_INTENT

Captures the funds of an existing uncaptured PaymentIntent. Use when the PaymentIntent status is requires_capture.

NameTypeRequiredDescription
intentstringYesThe unique identifier of the PaymentIntent to capture.
amount_to_captureintegerNoAmount to capture in smallest currency unit. Must be less than or equal to the original amount. Defaults to full amount_capturable if not provided.
metadataobjectNoSet of key-value pairs for storing additional structured data.
final_capturebooleanNoDefaults to true. Set to false to retain uncaptured funds for future captures (requires multicapture support).
statement_descriptorstringNoCustom statement descriptor for non-card charges. Maximum 22 characters.
application_fee_amountintegerNoApplication fee to be transferred to the app owner’s Stripe account. Cannot exceed the captured amount.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CANCEL_PAYMENT_INTENT

Cancels a PaymentIntent when in cancelable state. Use when a PaymentIntent is no longer needed to prevent further charges. For PaymentIntents with status=requires_capture, the remaining amount_capturable will be automatically refunded.

NameTypeRequiredDescription
payment_intent_idstringYesThe unique identifier of the PaymentIntent to cancel.
cancellation_reasonstringNoReason for canceling this PaymentIntent. Must be one of: duplicate, fraudulent, requested_by_customer, or abandoned.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_LIST_PAYMENT_INTENTS

Tool to list PaymentIntents from Stripe. Use when you need to retrieve a list of payment intents with optional filtering by customer, creation date, or pagination parameters.

NameTypeRequiredDescription
limitintegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
customerstringNoOnly return PaymentIntents for the customer specified by this customer ID.
createdobjectNoFilter by creation date using Unix timestamps. Supported keys: gt, gte, lt, lte.
ending_beforestringNoA cursor for use in pagination. Object ID that defines your place in the list (for fetching the previous page).
starting_afterstringNoA cursor for use in pagination. Object ID that defines your place in the list (for fetching the next page).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_CUSTOMER

Creates a new customer in Stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.

NameTypeRequiredDescription
namestringNoThe customer’s full name or the name of the business.
emailstringNoThe customer’s primary email address, used by Stripe for sending invoices, receipts, and other important communications.
phonestringNoThe customer’s primary phone number. Include the country code for international numbers (e.g., +1 for the USA).
addressobjectNoThe customer’s billing address. Common keys include: line1, line2, city, state, postal_code, country (two-letter ISO country code, e.g., US, GB).
descriptionstringNoAn arbitrary string that you can attach to a customer object for your internal reference (not visible to the customer).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_UPDATE_CUSTOMER

Updates an existing Stripe customer, identified by customer_id, with only the provided details; unspecified fields remain unchanged.

NameTypeRequiredDescription
customer_idstringYesThe unique identifier of the Stripe customer to update.
namestringNoThe customer’s full name or the business name.
emailstringNoThe customer’s email address. Updating this may trigger a verification email to the new address.
phonestringNoThe customer’s primary phone number, preferably in E.164 format.
addressobjectNoDefines the customer’s primary billing address.
metadataobjectNoKey-value pairs for storing additional, unstructured information. Keys up to 40 characters, values up to 500.
descriptionstringNoAn arbitrary string providing additional information about the customer. Maximum 5000 characters.
default_payment_methodstringNoThe ID of a PaymentMethod to set as the customer’s default for subscriptions and invoices.
balanceintegerNoAn integer representing the customer’s account balance in the smallest currency unit. Positive credits, negative debits. Applied to future invoices.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_LIST_CUSTOMERS

Retrieves a list of Stripe customers, with options to filter by email, creation date, or test clock, and support for pagination.

NameTypeRequiredDescription
emailstringNoFilters customers by a case-sensitive email address.
limitintegerNoMaximum number of customer objects to return (range 1-100). Defaults to 10 if unspecified.
createdobjectNoFilters by creation date. Use a dictionary with keys like gte, lte, gt, lt and Unix timestamp values.
ending_beforestringNoPagination cursor; retrieves objects created before the specified object ID to fetch the previous page.
starting_afterstringNoPagination cursor; retrieves objects created after the specified object ID to fetch the next page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_RETRIEVE_CUSTOMER

Retrieves detailed information for an existing Stripe customer using their unique customer ID.

NameTypeRequiredDescription
customer_idstringYesThe unique identifier of the Stripe customer to retrieve. This ID typically starts with cus_.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_SEARCH_CUSTOMERS

Retrieves a list of Stripe customers matching a search query that adheres to Stripe’s Search Query Language.

NameTypeRequiredDescription
querystringYesThe search query string using Stripe’s Search Query Language. Every query must include at least one field:value condition. Supported operators: : for exact match, ~ for substring match (minimum 3 characters), comparison operators for numeric/date fields. To retrieve many/all customers, use created>0.
limitintegerNoMaximum number of results per page (default is 10).
pagestringNoCursor token for pagination. MUST be the exact next_page value from a previous search response — NOT a numeric page number. Omit on first request.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_CHECKOUT_SESSION

Tool to create a Stripe Checkout Session. Use when you need a secure, hosted URL to collect payments or subscriptions via Stripe Checkout.

NameTypeRequiredDescription
modestringYesSession mode: payment (one-time), setup (save payment method), or subscription. Note: setup mode does not use line_items.
line_itemsarrayYesList of items the customer is purchasing. Each item must have either price (ID of existing Price) or price_data (inline price). Required for payment and subscription modes.
success_urlstringYesURL to redirect customers after successful payment or setup.
cancel_urlstringNoURL to redirect customers if they cancel payment.
customerstringNoID of existing Customer to attach or prefill.
metadataobjectNoKey-value pairs to attach to the session.
payment_method_typesarrayNoPayment methods to accept (e.g., ['card', 'ideal', 'sepa_debit']). Defaults to ['card'] if not specified.
allow_promotion_codesbooleanNoWhether to allow promotion codes in the session.
client_reference_idstringNoYour unique reference for the session.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_SUBSCRIPTION

Creates a new, highly configurable subscription for an existing Stripe customer, supporting multiple items, trials, discounts, and various billing/payment options.

NameTypeRequiredDescription
customerstringYesID of the existing Stripe customer.
itemsarrayYesList of items (products/services and pricing) for the subscription.
currencystringNoThree-letter ISO currency code (lowercase) for the subscription.
metadataobjectNoKey-value pairs for additional information about the subscription.
trial_endintegerNoUnix timestamp for trial end. Overrides plan trial period. During the trial, no payment is required.
cancel_atintegerNoUnix timestamp to schedule subscription cancellation.
descriptionstringNoArbitrary string describing the subscription.
off_sessionbooleanNoAllow initial payment attempt off-session (without direct customer interaction).
promotion_codestringNoID of the promotion code to apply.
days_until_dueintegerNoDays until invoice is due (for send_invoice collection method).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CANCEL_SUBSCRIPTION

Cancels a customer’s active Stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.

NameTypeRequiredDescription
subscription_idstringYesIdentifier of the subscription to cancel.
proratebooleanNoIf true, generates a proration invoice item for unused time remaining in the current billing cycle.
invoice_nowbooleanNoIf true, generates a final invoice for any un-invoiced metered usage.
cancellation_detailsobjectNoSpecifies reasons for cancellation. Common keys: comment (free-form text) and feedback (e.g., customer_service, low_usage, switched_service).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_LIST_SUBSCRIPTIONS

Retrieves a list of Stripe subscriptions, optionally filtered by various criteria such as customer, price, status, collection method, and date ranges, with support for pagination.

NameTypeRequiredDescription
customerstringNoID of the customer whose subscriptions will be retrieved.
statusstringNoFilter subscriptions by status (e.g., active, all, canceled). Defaults to non-canceled statuses if unspecified.
limitintegerNoLimit on the number of subscription objects to return (1-100). Default is 10.
pricestringNoID of the recurring price to filter subscriptions by.
createdobjectNoFilter subscriptions by creation date using comparison keys and Unix timestamp values.
collection_methodstringNoFilter subscriptions by collection method: charge_automatically or send_invoice.
ending_beforestringNoCursor for paginating backwards.
starting_afterstringNoCursor for paginating forwards.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_SEARCH_SUBSCRIPTIONS

Searches for subscriptions using Stripe’s Search Query Language. Use when you need to find subscriptions by status, metadata, created timestamp, or canceled_at timestamp.

NameTypeRequiredDescription
querystringYesThe search query string using Stripe’s Search Query Language. Supported search fields for subscriptions: status, metadata, created (Unix timestamp), canceled_at (Unix timestamp). Supports exact matches, range queries, and boolean operators (AND, OR).
limitintegerNoMaximum number of results per page (default is 10, max is 100).
pagestringNoPagination cursor for a specific page; omit for the first page. Use next_page from a previous response for subsequent pages.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_INVOICE

Creates a new draft Stripe invoice for a customer; use to revise an existing invoice, bill for a specific subscription, or apply detailed customizations. Note: Stripe API enforces a maximum value of 99,999,999 (in smallest currency unit) for amount fields.

NameTypeRequiredDescription
customerstringYesThe ID of the customer to be billed.
currencystringNoThe three-letter ISO currency code (e.g., usd, eur). Defaults to the customer’s currency. IMPORTANT: Cannot be used together with subscription.
descriptionstringNoAn arbitrary string attached to the invoice, often visible to the customer.
metadataobjectNoA set of key-value pairs to store additional information about the object.
due_dateintegerNoUnix timestamp for the invoice due date. Must be a future date. Only applicable when collection_method=send_invoice.
auto_advancebooleanNoControls whether Stripe automatically finalizes and attempts payment on this invoice. When false, the invoice remains a draft.
footerstringNoA custom footer text to display on the invoice PDF.
discountsarrayNoThe discounts to apply to the invoice (coupon IDs or discount IDs).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_LIST_INVOICES

Retrieves a list of Stripe invoices, filterable by various criteria and paginatable using invoice ID cursors obtained from previous responses.

NameTypeRequiredDescription
customerstringNoID of the customer whose invoices to retrieve.
statusstringNoFilter invoices by status: draft, open, paid, uncollectible, or void.
limitintegerNoMaximum number of invoice objects to return (1-100). Defaults to 10 if not specified.
subscriptionstringNoID of the subscription whose invoices to retrieve.
createdobjectNoFilter invoices by their creation date. Use keys like gt, gte, lt, lte with Unix timestamp values.
collection_methodstringNoFilter by collection method: charge_automatically or send_invoice.
ending_beforestringNoCursor for backward pagination.
starting_afterstringNoCursor for forward pagination.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_SEARCH_INVOICES

Searches for invoices using Stripe’s Search Query Language. Use when you need to find invoices by status, total amount, customer, currency, or other criteria. Data is typically searchable within one minute, though propagation can lag up to an hour during outages.

NameTypeRequiredDescription
querystringYesThe search query string using Stripe’s Search Query Language. Supported search fields for invoices: created, currency, customer, metadata, number, status, subscription, total. Supports exact matches, range queries, and boolean operators (AND, OR, NOT). Cannot mix AND with OR in the same query.
limitintegerNoMaximum number of results per page (default is 10).
pagestringNoPagination cursor for a specific page; omit for the first page. Use next_page from a previous response for subsequent pages.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_PRODUCT

Creates a new product in Stripe, encoding the request as application/x-www-form-urlencoded by flattening nested structures.

NameTypeRequiredDescription
namestringYesProduct’s name, displayed to customers.
descriptionstringNoProduct description, displayed to customers, providing more details.
activebooleanNoIndicates if the product is available for purchase. Set to false to archive.
imagesarrayNoUp to 8 image URLs for display on product pages or checkout.
metadataobjectNoKey-value pairs for storing additional structured information.
urlstringNoPublicly accessible URL for the product’s webpage or landing page.
tax_codestringNoStripe tax code ID for determining tax rates on sales.
shippablebooleanNoIndicates if the product is a physical good requiring shipping.
statement_descriptorstringNoString (max 22 chars) for customer credit card statements.
default_price_dataobjectNoData used to create a new Price object as the default price for this product.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_PRICE

Creates a new Stripe Price for a product, defining its charges (one-time or recurring) and billing scheme; requires either an existing product ID or product_data.

NameTypeRequiredDescription
currencystringYesThree-letter ISO currency code (e.g., usd, eur). Must be a supported currency.
productstringNoThe ID of the product this price is for. Required if product_data is not provided.
unit_amountintegerNoThe base charge amount in the smallest currency unit (e.g., cents for USD). Required if not using tiers, custom_unit_amount, or currency_options.
recurringobjectNoSpecifies recurring components of a price, such as billing interval and usage type.
activebooleanNoWhether the price can be used for new purchases. Defaults to true.
metadataobjectNoA set of key-value pairs to store additional information about the price.
nicknamestringNoA brief, internal-facing description of the price.
tax_behaviorstringNoSpecifies how tax is applied: inclusive (included), exclusive (added), or unspecified.
billing_schemestringNoDescribes how to compute the price per period: per_unit (default) or tiered.
product_dataobjectNoFields for creating a new product if a product ID is not provided with the price.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_REFUND

Creates a full or partial refund in Stripe, targeting either a specific charge ID or a payment intent ID.

NameTypeRequiredDescription
chargestringNoIdentifier of the charge to refund. Required if payment_intent is not provided.
payment_intentstringNoIdentifier of the PaymentIntent to refund. Required if charge is not provided.
amountintegerNoAmount in smallest currency unit (e.g., 1000 for $10.00 USD) to refund. If omitted, a full refund is issued. Cannot exceed the charge’s remaining refundable amount.
reasonstringNoReasons for issuing a refund: duplicate, fraudulent, or requested_by_customer.
metadataobjectNoKey-value pairs to attach to the refund.
reverse_transferbooleanNoReverse an associated transfer? Reversal is proportional to refund amount.
refund_application_feebooleanNoRefund the application fee? Full refunds refund the entire fee; partials refund proportionally.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_CREATE_CHARGE

Tool to create a charge to request payment from a credit or debit card. Use when you need to charge a payment source directly. Note: This method is deprecated; Stripe recommends using the Payment Intents API instead for new integrations.

NameTypeRequiredDescription
amountintegerYesA positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents for $1.00). Minimum $0.50 USD equivalent.
currencystringYesThree-letter ISO currency code, in lowercase. Must be a supported currency.
sourcestringNoPayment source to charge (card ID, bank account, source, token, or connected account).
customerstringNoID of existing customer to charge. Maximum 500 characters.
capturebooleanNoWhether to immediately capture charge (defaults to true). When false, authorizes for later capture.
descriptionstringNoAn arbitrary string attached to a Charge object. Displayed in web interface and included in receipt emails.
metadataobjectNoKey-value pairs for storing additional structured information.
receipt_emailstringNoEmail address for charge receipt delivery. Maximum 800 characters.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_LIST_CHARGES

Retrieves a list of Stripe charges with filtering and pagination; use valid cursor IDs from previous responses for pagination, and note that charges are typically returned in reverse chronological order.

NameTypeRequiredDescription
customerstringNoFilters charges by the specified customer ID.
limitintegerNoMaximum number of charges to return (default: 10).
createdobjectNoFilters charges by creation date using a dictionary with keys like gt, gte, lt, lte and Unix timestamp values.
payment_intentstringNoFilters charges by the specified PaymentIntent ID.
ending_beforestringNoCursor for pagination. A charge ID that defines your place in the list; returns charges listed before this charge.
starting_afterstringNoCursor for pagination. A charge ID that defines your place in the list; returns charges listed after this charge.
transfer_groupstringNoFilters charges by the specified transfer group ID.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.

STRIPE_RETRIEVE_BALANCE

Retrieves the complete current balance details for the connected Stripe account.

NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError message if execution failed.
successfulbooleanYesWhether the action executed successfully.