The Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.
With the CLI, you can:
- Securely test webhooks without relying on 3rd party software
- Trigger webhook events or resend events for easy testing
- Tail your API request logs in real-time
- Create, retrieve, update, or delete API objects.
Stripe CLI is available for macOS, Windows, and Linux for distros like Ubuntu, Debian, RedHat and CentOS.
If you have Node.js >= 18 installed, you can install via npm:
npm install -g @stripe/cliYou can also directly execute commands via npx, although this won't add stripe to your PATH:
npx @stripe/cli loginHomebrew:
brew install stripeapt (Debian, Ubuntu):
curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee -a /etc/apt/sources.list.d/stripe.list
sudo apt update
sudo apt install stripeyum/dnf (RedHat, Fedora, CentOS):
echo -e "[Stripe]\nname=stripe\nbaseurl=https://packages.stripe.dev/stripe-cli-rpm-local/\nenabled=1\ngpgcheck=0" | sudo tee -a /etc/yum.repos.d/stripe.repo
sudo yum install stripeWinGet:
winget install Stripe.StripeCLIScoop:
scoop bucket add stripe https://github.com/stripe/scoop-stripe-cli.git
scoop install stripeThe CLI is also available as a Docker image: stripe/stripe-cli.
docker run --rm -it stripe/stripe-cli version
stripe version x.y.z (beta)Password Store Setup with Docker
While test mode doesn’t require password store, you will need to set it up if you wish to perform live mode requests.
You can also make live mode requests on a per command basis by attaching the
--api-keyflag.
- Create
entrypoint.sh
#!/bin/sh
if ! [ -f ~/.gnupg/trustdb.gpg ] ; then
chmod 700 ~/.gnupg/
gpg --quick-generate-key stripe-live # This will generate a gpg key called "stripe-live"
fi
if ! [ -f ~/.password-store/.gpg-id ] ; then
pass init stripe-live # This will initialize a password store record named "stripe-live", using the gpg key above
pass insert stripe-live # This will insert value for the password store "stripe-live", which we will put Stripe Live Secret Key in
fi
string="$@"
liveflag="--live"
if [ -z "${string##*$liveflag*}" ] ;then
OPTS="--api-key $(pass show stripe-live)" # This will use the content of the password store "stripe-live" which was inserted in line 8
fi
#pass insert stripe-live
/bin/stripe $@ $OPTS- Create a docker file
Dockerfile-cli
FROM stripe/stripe-cli:vx.x.x
RUN apk add pass gpg-agent
COPY ./entrypoint.sh /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]- Build the docker image
docker build -t stripe-cli -f Dockerfile-cli .- Run the docker image with password volumes, replacing
$commandwith the appropraite Stripe CLI command (i.ecustomers list)
docker run --rm -it -v stripe-config://root/.config/stripe/ -v stripe-gpg://root/.gnupg/ -v stripe-pass://root/.password-store/ stripe-cli $commandFor live mode requests append
--liveafter$command.
Download the latest release for your platform from the GitHub Releases page.
macOS:
tar -xvf stripe_X.X.X_mac-os_ARCH.tar.gzOptionally move the stripe binary to /usr/local/bin for global access.
Linux:
tar -xvf stripe_X.X.X_linux_x86_64.tar.gzMove the stripe binary to a directory on your PATH.
Windows:
Unzip stripe_X.X.X_windows_x86_64.zip and add the path containing stripe.exe to your Path environment variable.
Note: Anti-virus software may flag the binary as unsafe. This is a false positive; see issue #692 for details.
npm install -g @stripe/cliHomebrew:
brew upgrade stripeapt (Debian, Ubuntu):
sudo apt update && sudo apt upgrade stripeyum/dnf (RedHat, Fedora, CentOS):
yum update stripeWinGet:
winget upgrade Stripe.StripeCLIScoop:
scoop update stripedocker pull stripe/stripe-cli:latestBecause Docker containers are ephemeral, the stripe login command isn't supported. Use the --api-key flag instead.
Download the latest release for your platform from the GitHub Releases page and replace your existing binary.
Installing the CLI provides access to the stripe command.
stripe [command]
# Run `--help` for detailed information about CLI commands
stripe [command] helpThe Stripe CLI supports a broad range of commands. Below are some of the most used ones:
loginlistentriggerlogs tailevents resendsamplesservestatusconfigopenget,post&deletecommandsresourcecommands
For a full reference, see the CLI reference site
The Stripe CLI includes a telemetry feature that collects some usage data. See our telemetry reference for details.
Got feedback for us? Please don't hesitate to tell us on feedback.
See CONTRIBUTING.md for details on developing the Stripe CLI. All contributions are governed by the code of conduct.
Copyright (c) Stripe. All rights reserved.
Licensed under the Apache License 2.0 license.
