← Back to all apps

Overview

Tools Available26
CategoryFinance

Payments and business tools

Available Tools

Stripe provides 26 tools that can be used to interact with its services.

Cancel Subscription

cancel_subscription
Full Description

This tool will cancel a subscription in Stripe.

It takes the following arguments:

  • subscription (str, required): The ID of the subscription to cancel.

Parameters

Required
subscriptionstring

The ID of the subscription to cancel.

Create Coupon

create_coupon
Full Description

This tool will create a coupon in Stripe.

It takes several arguments:

  • name (str): The name of the coupon.

Only use one of percent_off or amount_off, not both:

  • percent_off (number, optional): The percentage discount to apply (between 0 and 100).
  • amount_off (number, optional): The amount to subtract from an invoice (in currency minor units, e.g. cents for USD and yen for JPY).

Optional arguments for duration. Use if specific duration is desired, otherwise default to 'once'.

  • duration (str, optional): How long the discount will last ('once', 'repeating', or 'forever'). Defaults to 'once'.
  • duration_in_months (number, optional): The number of months the discount will last if duration is repeating.

Parameters

Required
namestring

Name of the coupon displayed to customers on invoices or receipts

Optional
amount_offnumber

A positive integer representing the amount to subtract from an invoice total (required if percent_off is not passed)

currencystring

Three-letter ISO code for the currency of the amount_off parameter (required if amount_off is passed). Infer based on the amount_off. For example, if a coupon is $2 off, set currency to be USD.

Default: USD
durationstring

How long the discount will last. Defaults to "once"

Options:foreveroncerepeating
Default: once
duration_in_monthsnumber

The number of months the discount will last if duration is repeating

percent_offnumber

A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if amount_off is not passed)

Create Customer

create_customer
Full Description

This tool will create a customer in Stripe.

It takes two arguments:

  • name (str): The name of the customer.
  • email (str, optional): The email of the customer.

Parameters

Required
namestring

The name of the customer

Optional
emailstring

The email of the customer

Create Invoice

create_invoice
Full Description

This tool will create an invoice in Stripe.

It takes two arguments:

  • customer (str): The ID of the customer to create the invoice for.
  • days_until_due (int, optional): The number of days until the invoice is due.

Parameters

Required
customerstring

The ID of the customer to create the invoice for.

Optional
days_until_duenumber

The number of days until the invoice is due.

Create Invoice Item

create_invoice_item
Full Description

This tool will create an invoice item in Stripe.

It takes three arguments:

  • customer (str): The ID of the customer to create the invoice item for.
  • price (str): The ID of the price to create the invoice item for.
  • invoice (str): The ID of the invoice to create the invoice item for.

Parameters

Required
customerstring

The ID of the customer to create the invoice item for.

invoicestring

The ID of the invoice to create the item for.

pricestring

The ID of the price for the item.

Create Payment Link

create_payment_link
Full Description

This tool will create a payment link in Stripe.

It takes two arguments:

  • price (str): The ID of the price to create the payment link for.
  • quantity (int): The quantity of the product to include in the payment link.

Parameters

Required
pricestring

The ID of the price to create the payment link for.

quantitynumber

The quantity of the product to include.

Create Price

create_price
Full Description

This tool will create a price in Stripe. If a product has not already been specified, a product should be created first.

It takes three arguments:

  • product (str): The ID of the product to create the price for.
  • unit_amount (int): The unit amount of the price in currency minor units, e.g. cents for USD and yen for JPY.
  • currency (str): The currency of the price.

Parameters

Required
currencystring

The currency of the price.

productstring

The ID of the product to create the price for.

unit_amountnumber

The unit amount of the price in cents.

Optional
recurringobject

The recurring components of a price such as its interval.

Create Product

create_product
Full Description

This tool will create a product in Stripe.

It takes two arguments:

  • name (str): The name of the product.
  • description (str, optional): The description of the product.

Parameters

Required
namestring

The name of the product.

Optional
descriptionstring

The description of the product.

Create Refund

create_refund
Full Description

This tool will refund a payment intent in Stripe.

It takes three arguments:

  • payment_intent (str): The ID of the payment intent to refund.
  • amount (int, optional): The amount to refund in currency minor units, e.g. cents for USD and yen for JPY.
  • reason (str, optional): The reason for the refund. Options: "duplicate", "fraudulent", "requested_by_customer".

Parameters

Required
payment_intentstring

The ID of the PaymentIntent to refund.

Optional
amountinteger

The amount to refund in cents.

reasonstring

The reason for the refund.

Options:duplicatefraudulentrequested_by_customer

Fetch

fetch
Full Description

Retrieve Stripe object details by ID.

This tool fetches the object information from Stripe including all available fields. Use this after finding the Stripe object ID(s) with the search tool to get complete information for analysis.

It takes one argument:

  • id (str): The unique identifier for the Stripe object (e.g. cus_123, pi_123).

Parameters

Required
idstring

The unique identifier for the Stripe object (e.g. cus_123, pi_123).

Finalize Invoice

finalize_invoice
Full Description

This tool will finalize an invoice in Stripe.

It takes one argument:

  • invoice (str): The ID of the invoice to finalize.

Parameters

Required
invoicestring

The ID of the invoice to finalize.

Get Stripe Account Info

get_stripe_account_info
Full Description

This will get the account info for the logged in Stripe account.

List Coupons

list_coupons
Full Description

This tool will fetch a list of Coupons from Stripe.

It takes one optional argument:

  • limit (int, optional): The number of coupons to return.

Parameters

Optional
limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100.

List Customers

list_customers
Full Description

This tool will fetch a list of Customers from Stripe.

It takes two arguments:

  • limit (int, optional): The number of customers to return.
  • email (str, optional): A case-sensitive filter on the list based on the customer's email field.

Parameters

Optional
emailstring

A case-sensitive filter on the list based on the customer's email field. The value must be a string.

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100.

List Disputes

list_disputes
Full Description

This tool will fetch a list of disputes in Stripe.

It takes the following arguments:

  • charge (string, optional): Only return disputes associated to the charge specified by this charge ID.
  • payment_intent (string, optional): Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.

Parameters

Optional
chargestring

Only return disputes associated to the charge specified by this charge ID.

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Default: 10
payment_intentstring

Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.

List Invoices

list_invoices
Full Description

This tool will fetch a list of Invoices from Stripe.

It takes two arguments:

  • customer (str, optional): The ID of the customer to list invoices for.
  • limit (int, optional): The number of invoices to return.

Parameters

Optional
customerstring

The ID of the customer to list invoices for.

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

List Payment Intents

list_payment_intents
Full Description

This tool will list payment intents in Stripe.

It takes two arguments:

  • customer (str, optional): The ID of the customer to list payment intents for.
  • limit (int, optional): The number of payment intents to return.

Note that the payment intent amount returned is in currency minor units, e.g. cents for USD and yen for JPY.

Parameters

Optional
customerstring

The ID of the customer to list payment intents for.

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100.

List Prices

list_prices
Full Description

This tool will fetch a list of Prices from Stripe.

It takes two arguments.

  • product (str, optional): The ID of the product to list prices for.
  • limit (int, optional): The number of prices to return.

Note that the price unit_amount returned is in currency minor units, e.g. cents for USD and yen for JPY.

Parameters

Optional
limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

productstring

The ID of the product to list prices for.

List Products

list_products
Full Description

This tool will fetch a list of Products from Stripe.

It takes one optional argument:

  • limit (int, optional): The number of products to return.

Parameters

Optional
limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

List Subscriptions

list_subscriptions
Full Description

This tool will list all subscriptions in Stripe.

It takes four arguments:

  • customer (str, optional): The ID of the customer to list subscriptions for.
  • price (str, optional): The ID of the price to list subscriptions for.
  • status (str, optional): The status of the subscriptions to list.
  • limit (int, optional): The number of subscriptions to return.

Parameters

Optional
customerstring

The ID of the customer to list subscriptions for.

limitinteger

A limit on the number of objects to be returned. Limit can range between 1 and 100.

pricestring

The ID of the price to list subscriptions for.

statusstring

The status of the subscriptions to retrieve.

Options:activeallcanceledincompleteincomplete_expiredpast_duetrialingunpaid

Retrieve Balance

retrieve_balance
Full Description

This tool will retrieve the balance from Stripe. It takes no input.

Search

search
Full Description

This tool can be used to search for specific Stripe resources using a custom Stripe query syntax. It is only able to search for the following resources: customers, payment_intents, charges, invoices, prices, products, subscriptions. It returns a maximum of 100 results.

It takes one argument:

  • query (str): The query consisting of the Stripe resource to query for and the query clause in Stripe's custom query syntax to query metadata for.

Parameters

Required
querystring

This query string should be formatted as 'resource:query_clause', where 'resource' is one of (customers, payment_intents, charges, invoices, prices, products, subscriptions), and 'query_clause' is the actual query in Stripe's custom query syntax to query metadata for that resource. For example, for the query: customers:email:"jenny.rosen@example.com" resource: `customers` query_clause: `email:"jenny.rosen@example.com"` A query clause consists of a field, operator, and value. ## Query Fields for customers * created * email * metadata * name * phone ## Query Fields for payment_intents * amount * created * currency * customer * metadata * status ## Query Fields for charges * amount * billing_details.address.postal_code * created * currency * customer * disputed * metadata * payment_method_details.{{SOURCE}}.last4 * payment_method_details.{{SOURCE}}.exp_month * payment_method_details.{{SOURCE}}.exp_year * payment_method_details.{{SOURCE}}.brand * payment_method_details.{{SOURCE}}.fingerprint * refunded * status ## Query Fields for invoices * created * currency * customer * last_finalization_error_code * last_finalization_error_type * metadata * number * receipt_number * status * subscription * total ## Query Fields for prices * active * currency * lookup_key * metadata * product * type ## Query Fields for products * active * description * metadata * name * shippable * url ## Query Fields for subscriptions * created * metadata * status * canceled_at ## Search Operators The following table lists the syntax that you can use to construct a query: | Syntax | Usage | Description | When to Use | Examples | |--------|-------|-------------|-------------|----------| | `:` | `field:value` | Exact match operator (case insensitive) | **ONLY when you know the exact complete value** | `currency:"eur"` returns records where the currency is exactly "EUR" | | `~` | `field~value` | Substring match operator (minimum 3 characters) | **ALWAYS use for domain searches, partial names, email parts** | `email~"foo.com"` returns emails containing "foo.com" | | `AND`, `and` | `field:value1 AND field:value2` | Returns records that match both clauses | Combining multiple conditions | `status:"active" AND amount:500` | | `OR`, `or` | `field:value1 OR field:value2` | Returns records that match either clause | Alternative conditions | `currency:"usd" OR currency:"eur"` | | `-` | `-field:value` | Returns records that don't match the clause | Excluding specific values | `-currency:"jpy"` returns records not in JPY | | `NULL`, `null` | `field:null` | Checks for field presence (empty/null values) | Finding empty fields | `url:null` returns records where URL field is empty | | `>`, `<`, `>=`, `<=`, `=` | `field>value`, `field<value`, etc. | Numeric comparison operators | Amount ranges, dates | `amount>="10"` returns records with amount >= 10 | | `` | `" """` | Escape quotes within quotes | When quotes are in the search value | `description:"the story called "The Sky and the Sea.""` | ## Query Rules * You can combine up to 10 query clauses in a search by separating them with a space or using AND/OR keywords (case insensitive) * You cannot combine AND and OR in the same query * No parentheses are supported for operator precedence * By default, the API combines clauses with AND logic * You must use quotation marks around string values (optional for numeric values) * You can escape quotes inside quotes with a backslash (\) ## Examples Input: Look up charges matching a custom metadata value. Output: charges:metadata['order_id']:'1234567890' Input: Look up charges matching the last 4 digits of the card used for the payment. Output: charges:payment_method_details.card.last4:4242 Input: Look up customers matching an email. Output: customers:email:'jenny.rosen@example.com' Input: Look up PaymentIntents not in the USD currency. Output: payment_intents:-currency:'usd' Input: Filter invoice objects with a total greater than 1000. Output: invoices:total>1000 Input: Filter payments with a amount over $100. Reasoning: Stripe "amount" field is in cents, so we use 1000 instead of 100 Output: payment_intents:amount>1000 Input: Look up charges matching a combination of metadata and currency. Output: charges:metadata['key']:'value' AND currency:'usd' Input: Search for customers with email containing "john". Output: customers:email~"john" Input: Find products where the description field is empty. Output: products:description:null Input: Search for payments with amounts greater than or equal to 5000. Output: payment_intents:amount>=5000 Input: Search for products with description with escaped quotes. Output: products:description:"The story called "The Sky and the Sea"."

Search Stripe Documentation

search_stripe_documentation
Full Description

Search the Stripe documentation for the given question and language.

It takes two arguments:

  • question (str): The user question to search an answer for in the Stripe documentation.
  • language (str, optional): The programming language to search for in the the documentation.

Parameters

Required
questionstring

The user question about integrating with Stripe will be used to search the documentation.

Optional
languagestring

The programming language to search for in the the documentation.

Options:dotnetgojavanodephprubypythoncurl
search_only_api_refboolean

When set to true, search only in the Stripe API reference documentation instead of the full documentation set. Use true when users need specific API implementation details, code examples, or parameter references. Use false (default) for conceptual explanations, best practices, integration guides, or troubleshooting help.

Stripe Integration Recommender

stripe_integration_recommender
Full Description

Guides users through Stripe integration planning via interactive Q&A. Analyzes payment requirements and recommends the appropriate Stripe products (Checkout, Elements, Billing, Connect, etc.) with step-by-step implementation guidance.

WHEN TO USE: Call this tool when the user expresses:

  • Payment keywords: "payments", "checkout", "billing", "subscriptions", "invoices"
  • Commercial intent: "sell", "monetize", "charge users", "e-commerce"
  • Stripe mention: User references "Stripe" directly

IMPORTANT BEHAVIOR:

  • You may call this tool with partial information—the tool will ask clarifying questions. Do not wait until you have complete requirements.
  • Once a plan is in progress, stay in the Q&A flow until completion. If the user asks for clarification or advice (e.g., "what's best for me?"), answer them, then continue with the plan. Only exit early if the user explicitly requests it or the tool returns an unrecoverable error.
  • When the tool returns type="question", present the question to the user exactly as provided.

PARAMETERS:

  • plan_id (optional): Required for continuing/updating. Omit when starting new plan.
  • answer (required): For new plans, provide summary. For existing plans, provide user response. Accepts option selections ('Option 1'), natural language, clarifying questions, or 'UNKNOWN'.
  • notes (optional):

Technical context you've observed (e.g., "Python/Flask backend", "user wants minimal code to go live quickly", "already has Stripe SDK installed").

Returns JSON:

  • type="question": Plan in progress. Contains question to present to user and plan_id to include in next call.
  • type="summary": plan_id, status, summary (blueprints, prerequisites, sample_code)
  • type="error": status, error (code, message, user_visible, agent_guidance)

WORKFLOW:

  • New plan: Call without plan_id + answer → Present question EXACTLY → Get answer → Call with plan_id + answer → Repeat
  • Continue plan: Present question EXACTLY → Analyze code → Formulate answer → Get approval → Call with plan_id + answer + notes → Repeat

LIMITATIONS:

  • Generates integration guidance only; does not execute code or create Stripe resources.
  • Cannot modify completed or expired plans—start a new plan instead.

Parameters

Required
answerstring

For new plans (no plan_id): 2-3 sentence summary including (1) business name and payment model, (2) tech stack with frontend AND backend (use 'UNKNOWN' for unknown components), (3) payment requirements (use 'UNKNOWN' if not specified). For existing plans: User's verbatim response. Accepts option selections ('Option 1'), natural language, clarifying questions, or 'UNKNOWN'.

Optional
notesstring

Optional agent-discovered context from codebase analysis (e.g., 'Found Stripe SDK v12.0.0', 'Existing webhook at /api/stripe'). Helps backend provide accurate recommendations.

plan_idstring

Plan identifier in format lplan_[alphanumeric] from previous response. Required for continuing existing plan. Omit when starting new plan.

Update Dispute

update_dispute
Full Description

When you receive a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help resolve the dispute in your favor. This tool helps.

It takes the following arguments:

  • dispute (string): The ID of the dispute to update
  • evidence (object, optional): Evidence to upload for the dispute.
  • cancellation_policy_disclosure (string)
  • cancellation_rebuttal (string)
  • duplicate_charge_explanation (string)
  • uncategorized_text (string, optional): Any additional evidence or statements.
  • submit (boolean, optional): Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.

Parameters

Required
disputestring

The ID of the dispute to update

Optional
evidenceobject

Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.

submitboolean

Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.

Update Subscription

update_subscription
Full Description

This tool will update an existing subscription in Stripe. If changing an existing subscription item, the existing subscription item has to be set to deleted and the new one has to be added.

It takes the following arguments:

  • subscription (str, required): The ID of the subscription to update.
  • proration_behavior (str, optional): Determines how to handle prorations when the subscription items change. Options: 'create_prorations', 'none', 'always_invoice', 'none_implicit'.
  • items (array, optional): A list of subscription items to update, add, or remove. Each item can have the following properties:
    • id (str, optional): The ID of the subscription item to modify.
    • price (str, optional): The ID of the price to switch to.
    • quantity (int, optional): The quantity of the plan to subscribe to.
    • deleted (bool, optional): Whether to delete this item.

Parameters

Required
subscriptionstring

The ID of the subscription to update.

Optional
itemsarray

A list of subscription items to update, add, or remove.

proration_behaviorstring

Determines how to handle prorations when the subscription items change.

Options:always_invoicecreate_prorationsnonenone_implicit