Skip to content
Development
Skill

/stripe-pay

Helps users send funds to another Stripe business, transfer money to a Stripe Profile handle or network ID, or ask whether an agent can pay a Stripe business. Use Stripe Directory to find or verify a recipient when the user doesn't provide an exact Stripe Profile handle or

From plugin
ai
2.1k11 skills1 agent2 commands1 MCP

Claude Code

$ npx -y skills add stripe/ai --skill stripe-pay --agent claude-code

SKILL.md

stripe-pay.SKILL.md
name: stripe-pay
description: >-
  Helps users send funds to another Stripe business, transfer money to a Stripe
  Profile handle or network ID, or ask whether an agent can pay a Stripe
  business. Use Stripe Directory to find or verify a recipient when the user
  doesn't provide an exact Stripe Profile handle or network ID.
metadata:
  short-description: Send funds to Stripe businesses
allowed-tools:
  - Bash(stripe directory *)
  - Bash(stripe pay *)
  - Bash(stripe whoami *)

stripe pay

Use `stripe pay` to send money from the authenticated Stripe business to another Stripe business identified by a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) handle, for example `@recipient`.

For the financial-account transfer workflow documented here, both the sender and the receiving business must have a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md). In addition:

  • The sender needs a funded [financial account](https://docs.stripe.com/money-management.md).
  • The receiver needs an eligible transfer destination linked to their [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md).

If the user needs details about financial accounts, read [Money Management](https://docs.stripe.com/money-management.md). In this workflow, the command resolves the recipient’s payout configuration, which can route the payout to an attached financial account or linked bank account, and reports the fee and delivery timing before confirmation. Don’t assume that a transfer is free or instant.

Eligible transfers take priority. If the sender has no eligible financial account or the recipient has no eligible transfer destination, `stripe pay` offers the recipient’s configured payment link, if available. Insufficient funds and currency errors alone don’t trigger this fallback.

For `status: payment_link_available` and `transfer_sent: false`, give the user `payment_link_url` to complete payment in Checkout, where they must enter the amount and check the currency. Transfer arguments don’t carry over. Don’t report payment success from returning or opening the URL, or rerun with `--yes` to pay the link.

Safety Rules

1. Don’t send money unless the user explicitly asks you to make the transfer. 2. Before running a command that can send money, show the exact `stripe pay ...` command you plan to run and get confirmation. 3. Use `--agent` or `--json` first so the user can review the transfer details. 4. Don’t pass `-y` or `--yes` until after the user confirms the reviewed transfer. 5. Don’t guess at the user’s intent. Don’t guess at the username, financial account ID, amount, currency, internal note, memo, or any other detail. Always confirm with the user. 6. Don’t print full API keys back to the user.

Choose the workflow

Read the documentation to accomplish your goal. You must read the relevant page before taking action:

| Goal | Documentation | | --- | --- | | Find or verify a recipient when the user doesn’t provide an exact Stripe Profile handle or network ID | [Use Stripe Directory with AI agents](https://docs.stripe.com/directory.md#agents) | | Review, send, handle approval, resume, or dry-run a transfer | [`stripe pay` CLI reference](https://docs.stripe.com/cli/pay) | | Create or manage a Stripe Profile, including a recipient’s transfer destination | [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md) | | Set up or understand an eligible financial account | [Money Management](https://docs.stripe.com/money-management.md) |

Handle setup errors

If `stripe pay` reports missing setup instead of returning a payment link, don’t continue the transfer. Explain what’s missing and give the user the corresponding next step. Before explaining how to resolve the error, read the documentation for the missing requirement in the workflow table:

  • If the sender is missing a [Stripe Profile](https://docs.stripe.com/get-started/account/profile.md), tell the user to create one.
  • If the sender is missing an eligible financial account, tell the user to set up Global Payouts with an eligible financial account.
  • If the sender is missing both requirements, tell the user to complete both setup steps before trying the transfer again.
  • If the recipient doesn’t have an eligible transfer destination linked to their Stripe Profile, tell the user that the recipient must complete that setup before the transfer can proceed. Don’t retry the transfer until the recipient’s setup is corrected.
  • If the recipient is missing or invalid, read and follow the [Stripe Directory agent workflow](https://docs.stripe.com/directory.md#agents). If the user can provide the recipient’s exact Stripe Profile handle or network ID, ask them for it.

For sender setup, direct the user to the relevant Dashboard page:

  • To create a Stripe Profile, open https://dashboard.stripe.com/profiles and click **Get started**.
  • To set up Global Payouts with an eligible financial account, open https://dashboard.stripe.com/balance/financial-accounts and click **Get started**.
Read more
@stripe
Ships withai

This repository contains Stripe agent plugins and skills, and benchmarks for building AI-powered products and businesses on top of Stripe.

2.1k11 skills1 agent1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
2.1k
Star history of stripe/ai on GitHub, a chart by star-history.com

Other skills on ai.

connect-recommend

connect-recommend

Use this skill when the user asks about Stripe Connect configuration, charge patterns, Dashboard access, or how to get started…

@stripe@stripeInstall Skill
metronome

metronome

Guides Metronome usage-based billing integration decisions — event ingestion (single and batch, idempotency, billable metrics),…

@stripe@stripeInstall Skill
stripe-apps

stripe-apps

Build, modify, or review Stripe Apps and extensions using the relevant documentation and reference guides. Use for custom Stripe…

@stripe@stripeInstall Skill
stripe-best-practices

stripe-best-practices

Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode…

@stripe@stripeInstall Skill
stripe-directory

stripe-directory

Identifies external providers, merchants, nonprofits, platforms, APIs, and software services, and resolves the documented way to…

@stripe@stripeInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about stripe-pay.

Which coding agents can use stripe-pay?
stripe-pay installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.