| name | pp-stripe |
| description | Every Stripe feature, plus a local SQLite mirror with FTS, cross-entity SQL, and analytics no other Stripe tool ships. Trigger phrases: `stripe customer health`, `stripe dunning queue`, `stripe health`, `stripe payout reconcile`, `subs about to expire`, `use stripe-pp-cli`, `run stripe-pp-cli`. |
| author | Chris Rodriguez |
| license | Apache-2.0 |
| argument-hint | <command> [args] | install cli|mcp |
| allowed-tools | Read Bash |
| metadata | {"openclaw":{"requires":{"bins":["stripe-pp-cli"]},"install":[{"kind":"go","bins":["stripe-pp-cli"],"module":"github.com/mvanhorn/printing-press-library/library/payments/stripe/cmd/stripe-pp-cli"}]}} |
Stripe — Printing Press CLI
Prerequisites: Install the CLI
This skill drives the stripe-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- Install via the Printing Press installer. It defaults binaries to
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
npx -y @mvanhorn/printing-press-library install stripe --cli-only
- Verify:
stripe-pp-cli --version
- Ensure the reported install directory is on
$PATH for the agent/runtime that will invoke this skill.
If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.5 or newer):
go install github.com/mvanhorn/printing-press-library/library/payments/stripe/cmd/stripe-pp-cli@latest
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
When to Use This CLI
Reach for stripe-pp-cli when you need to (1) run analytics across customers/subs/invoices that Stripe's dashboard doesn't expose, (2) script payment ops in a CI/agent loop without daemon processes, (3) reconcile payouts and balance transactions, or (4) feed Stripe state into a non-Stripe system (CRM, accounting, outreach automation).
When NOT to Use This CLI (anti-triggers)
Do not use stripe-pp-cli for:
- Live-mode bulk writes you have not audited. Mutating commands (POST/PUT/PATCH/DELETE) against an
sk_live_... key are blocked by default with a clear error; pass --confirm-live (or set STRIPE_CONFIRM_LIVE=1) once you have audited the invocation. Prefer sk_test_... for development regardless.
- In-person Terminal payments.
terminal resource commands are present but Stripe Terminal SDK is not in scope. Use the Terminal iOS/Android SDK.
- Stripe Issuing card management workflows.
issuing commands are REST passthrough only; spending controls, dispute evidence packages not built. Use the Stripe Dashboard.
- Stripe Tax registration.
tax-rates CRUD only; jurisdiction registration not in scope. Use Stripe Tax in Dashboard.
- Connect platform fan-out across many connected accounts. Single account at a time via
Stripe-Account header. Multi-account loops via external script.
- Local mock-server testing. Use stripe-mock directly via
STRIPE_BASE_URL=http://localhost:12111.
Not Yet Wired (deferred to v0.2)
| Area | Status | Workaround |
|---|
| Stripe Issuing (full workflow) | endpoint passthrough only | Use Stripe Dashboard |
| Stripe Terminal (in-person SDK) | endpoint passthrough only | Use Terminal SDK |
| Stripe Tax registration | tax-rates CRUD only | Use Stripe Tax in Dashboard |
localstripe mock server | out of scope | Use stripe-mock via STRIPE_BASE_URL |
| Connect account fan-out | single-account at a time | External script loops |
Unique Capabilities
These capabilities aren't available in any other tool for this API.
Local state that compounds
-
health — Compute a 0-100 health score for one or many customers from local SQLite, factoring in failed-payment count, dispute history, MRR contribution, subscription status, and account age.
Use this to feed customer-health signals into outreach, dunning, and renewal automation without burning hundreds of API calls per customer.
stripe-pp-cli health cus_xyz --json --select score,failed_payments,mrr_contribution
-
dunning-queue — List invoices in past_due/uncollectible state ranked by days-overdue, with last failure reason and customer email pulled from the local store.
When deciding which customers to follow up with about failed payments, this beats walking the Stripe dashboard or chaining 4+ API calls per row.
stripe-pp-cli dunning-queue --json --select invoice,customer_email,days_overdue,last_failure_reason
-
sql — Run read-only SQLite queries against the local Stripe mirror. All synced data lives in a generic 'resources' table — query with json_extract(data, '$.field') and filter by resource_type.
When a one-off question doesn't fit the canned commands, drop into SQL instead of writing a script that hits the API a thousand times.
stripe-pp-cli sql "SELECT json_extract(data,'$.email') AS email, COUNT(*) AS active_subs FROM resources WHERE resource_type='subscriptions' AND json_extract(data,'$.status')='active' GROUP BY json_extract(data,'$.customer') HAVING active_subs > 1" --json
-
payout-reconcile — Join payouts to balance_transactions to charges to customers from local store; flag missing balance_transactions and mismatches; CSV export.
Use this for end-of-period payout reconciliation against bank statements or accounting systems — replaces the manual CSV-pivot ritual.
stripe-pp-cli payout-reconcile --since 7d --csv
-
subs-at-risk — List subscriptions whose default payment method's card expires in a window, sorted by current MRR contribution.
Use this monthly to proactively email customers whose card is about to expire — prevents involuntary churn.
stripe-pp-cli subs-at-risk --within 30d --json --select customer_email,mrr,card_exp
-
metadata-grep — Search every synced resource's metadata bag for a key/value across resource types; returns (resource_type, id, matched_kv) rows.
When integrating Stripe with a CRM via metadata tags, this finds every related resource in one query.
stripe-pp-cli metadata-grep 'crm_id=acme-001' --json
Agent-native plumbing
-
customer-360 — One-shot dossier: customer profile + active subs + recent invoices + payment methods + recent charges + open disputes + lifetime spend.
Use this as the first command when investigating a customer ticket, support escalation, or churn risk — full context in one call.
stripe-pp-cli customer-360 alice@example.com --json --compact
-
events-since — Fetch all Events since a cursor, persist new cursor in profile, no daemon. One-shot replacement for stripe-cli's listen daemon.
Use this in cron-driven agent loops to replay only new events since the last run — no daemon to babysit, no missed events.
stripe-pp-cli events-since --type 'invoice.*' --json --select id,type,created,data.object.id
Command Reference
account — Manage account
account-links — Manage account links
account-sessions — Manage account sessions
accounts — Manage accounts
stripe-pp-cli accounts delete — With Connect, you can delete accounts you manage.
Test-mode accounts can be deleted...
stripe-pp-cli accounts get — Returns a list of accounts connected to your platform via Connect. If you’re not a...
stripe-pp-cli accounts get-account — Retrieves the details of an account.
stripe-pp-cli accounts post — With Connect, you can create Stripe accounts for your users. To do this, you’ll...
stripe-pp-cli accounts post-account — Updates a connected account by setting the values of the parameters passed. Any...
apple-pay — Manage apple pay
stripe-pp-cli apple-pay delete-domains-domain — Delete an apple pay domain.
stripe-pp-cli apple-pay get-domains — List apple pay domains.
stripe-pp-cli apple-pay get-domains-domain — Retrieve an apple pay domain.
stripe-pp-cli apple-pay post-domains — Create an apple pay domain.
application-fees — Manage application fees
stripe-pp-cli application-fees get — Returns a list of application fees you’ve previously collected. The application fees are returned in sorted...
stripe-pp-cli application-fees get-id — Retrieves the details of an application fee that your account has collected. The same information is returned...
apps — Manage apps
stripe-pp-cli apps get-secrets — List all secrets stored on the given scope.
stripe-pp-cli apps get-secrets-find — Finds a secret in the secret store by name and scope.
stripe-pp-cli apps post-secrets — Create or replace a secret in the secret store.
stripe-pp-cli apps post-secrets-delete — Deletes a secret from the secret store by name and scope.
balance — Manage balance
balance-settings — Manage balance settings
balance-transactions — Manage balance transactions
stripe-pp-cli balance-transactions get — Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and...
stripe-pp-cli balance-transactions get-id — Retrieves the balance transaction with the given ID.
Note that this endpoint previously used the path...
billing — Manage billing
stripe-pp-cli billing get-alerts — Lists billing active and inactive alerts
stripe-pp-cli billing get-alerts-id — Retrieves a billing alert given an ID
stripe-pp-cli billing get-credit-balance-summary — Retrieves the credit balance summary for a customer.
stripe-pp-cli billing get-credit-balance-transactions — Retrieve a list of credit balance transactions.
stripe-pp-cli billing get-credit-balance-transactions-id — Retrieves a credit balance transaction.
stripe-pp-cli billing get-credit-grants — Retrieve a list of credit grants.
stripe-pp-cli billing get-credit-grants-id — Retrieves a credit grant.
stripe-pp-cli billing get-meters — Retrieve a list of billing meters.
stripe-pp-cli billing get-meters-id — Retrieves a billing meter given an ID.
stripe-pp-cli billing get-meters-id-event-summaries — Retrieve a list of billing meter event summaries.
stripe-pp-cli billing post-alerts — Creates a billing alert
stripe-pp-cli billing post-alerts-id-activate — Reactivates this alert, allowing it to trigger again.
stripe-pp-cli billing post-alerts-id-archive — Archives this alert, removing it from the list view and APIs. This is non-reversible.
stripe-pp-cli billing post-alerts-id-deactivate — Deactivates this alert, preventing it from triggering.
stripe-pp-cli billing post-credit-grants — Creates a credit grant.
stripe-pp-cli billing post-credit-grants-id — Updates a credit grant.
stripe-pp-cli billing post-credit-grants-id-expire — Expires a credit grant.
stripe-pp-cli billing post-credit-grants-id-void — Voids a credit grant.
stripe-pp-cli billing post-meter-event-adjustments — Creates a billing meter event adjustment.
stripe-pp-cli billing post-meter-events — Creates a billing meter event.
stripe-pp-cli billing post-meters — Creates a billing meter.
stripe-pp-cli billing post-meters-id — Updates a billing meter.
stripe-pp-cli billing post-meters-id-deactivate — When a meter is deactivated, no more meter events will be accepted for this meter. You can’t attach a...
stripe-pp-cli billing post-meters-id-reactivate — When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price.
billing-portal — Manage billing portal
stripe-pp-cli billing-portal get-configurations — Returns a list of configurations that describe the functionality of the customer portal.
stripe-pp-cli billing-portal get-configurations-configuration — Retrieves a configuration that describes the functionality of the customer portal.
stripe-pp-cli billing-portal post-configurations — Creates a configuration that describes the functionality and behavior of a PortalSession
stripe-pp-cli billing-portal post-configurations-configuration — Updates a configuration that describes the functionality of the customer portal.
stripe-pp-cli billing-portal post-sessions — Creates a session of the customer portal.
charges — Manage charges
checkout — Manage checkout
climate — Manage climate
stripe-pp-cli climate get-orders — Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created...
stripe-pp-cli climate get-orders-order — Retrieves the details of a Climate order object with the given ID.
stripe-pp-cli climate get-products — Lists all available Climate product objects.
stripe-pp-cli climate get-products-product — Retrieves the details of a Climate product with the given ID.
stripe-pp-cli climate get-suppliers — Lists all available Climate supplier objects.
stripe-pp-cli climate get-suppliers-supplier — Retrieves a Climate supplier object.
stripe-pp-cli climate post-orders — Creates a Climate order object for a given Climate product. The order will be processed immediately after...
stripe-pp-cli climate post-orders-order — Updates the specified order by setting the values of the parameters passed.
stripe-pp-cli climate post-orders-order-cancel — Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation...
confirmation-tokens — Manage confirmation tokens
country-specs — Manage country specs
coupons — Manage coupons
credit-notes — Manage credit notes
stripe-pp-cli credit-notes get — Returns a list of credit notes.
stripe-pp-cli credit-notes get-id — Retrieves the credit note object with the given identifier.
stripe-pp-cli credit-notes get-preview — Get a preview of a credit note without creating it.
stripe-pp-cli credit-notes get-preview-lines — When retrieving a credit note preview, you’ll get a lines property containing the first...
stripe-pp-cli credit-notes post — Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice’s...
stripe-pp-cli credit-notes post-id — Updates an existing credit note.
customer-sessions — Manage customer sessions
customers — Manage customers
stripe-pp-cli customers delete — Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the...
stripe-pp-cli customers get — Returns a list of your customers. The customers are returned sorted by creation date, with the most recent...
stripe-pp-cli customers get-customer — Retrieves a Customer object.
stripe-pp-cli customers get-search — Search for customers you’ve previously created using Stripe’s <a...
stripe-pp-cli customers post — Creates a new customer object.
stripe-pp-cli customers post-customer — Updates the specified customer by setting the values of the parameters passed. Any parameters not provided are...
disputes — Manage disputes
stripe-pp-cli disputes get — Returns a list of your disputes.
stripe-pp-cli disputes get-dispute — Retrieves the dispute with the given ID.
stripe-pp-cli disputes post — When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can...
entitlements — Manage entitlements
stripe-pp-cli entitlements get-active — Retrieve a list of active entitlements for a customer
stripe-pp-cli entitlements get-active-id — Retrieve an active entitlement
stripe-pp-cli entitlements get-features — Retrieve a list of features
stripe-pp-cli entitlements get-features-id — Retrieves a feature
stripe-pp-cli entitlements post-features — Creates a feature
stripe-pp-cli entitlements post-features-id — Update a feature’s metadata or permanently deactivate it.
ephemeral-keys — Manage ephemeral keys
events — Manage events
stripe-pp-cli events get — List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its...
stripe-pp-cli events get-id — Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the...
exchange-rates — Manage exchange rates
file-links — Manage file links
stripe-pp-cli file-links get — Returns a list of file links.
stripe-pp-cli file-links get-link — Retrieves the file link with the given ID.
stripe-pp-cli file-links post — Creates a new file link object.
stripe-pp-cli file-links post-link — Updates an existing file link object. Expired links can no longer be updated.
files — Manage files
stripe-pp-cli files get — Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation...
stripe-pp-cli files get-file — Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the...
stripe-pp-cli files post — To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file...
financial-connections — Manage financial connections
stripe-pp-cli financial-connections get-accounts — Returns a list of Financial Connections Account objects.
stripe-pp-cli financial-connections get-accounts-account — Retrieves the details of an Financial Connections Account.
stripe-pp-cli financial-connections get-accounts-account-owners — Lists all owners for a given Account
stripe-pp-cli financial-connections get-sessions-session — Retrieves the details of a Financial Connections Session
stripe-pp-cli financial-connections get-transactions — Returns a list of Financial Connections Transaction objects.
stripe-pp-cli financial-connections get-transactions-transaction — Retrieves the details of a Financial Connections Transaction
stripe-pp-cli financial-connections post-accounts-account-disconnect — Disables your access to a Financial Connections Account. You will no longer be able to access data...
stripe-pp-cli financial-connections post-accounts-account-refresh — Refreshes the data associated with a Financial Connections Account.
stripe-pp-cli financial-connections post-accounts-account-subscribe — Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the...
stripe-pp-cli financial-connections post-accounts-account-unsubscribe — Unsubscribes from periodic refreshes of data associated with a Financial Connections Account.
stripe-pp-cli financial-connections post-sessions — To launch the Financial Connections authorization flow, create a Session. The session’s...
forwarding — Manage forwarding
stripe-pp-cli forwarding get-requests — Lists all ForwardingRequest objects.
stripe-pp-cli forwarding get-requests-id — Retrieves a ForwardingRequest object.
stripe-pp-cli forwarding post-requests — Creates a ForwardingRequest object.
identity — Manage identity
stripe-pp-cli identity get-verification-reports — List all verification reports.
stripe-pp-cli identity get-verification-reports-report — Retrieves an existing VerificationReport
stripe-pp-cli identity get-verification-sessions — Returns a list of VerificationSessions
stripe-pp-cli identity get-verification-sessions-session — Retrieves the details of a VerificationSession that was previously created.
When the session status is...
stripe-pp-cli identity post-verification-sessions — Creates a VerificationSession object.
After the VerificationSession is created, display a verification...
stripe-pp-cli identity post-verification-sessions-session — Updates a VerificationSession object.
When the session status is requires_input, you can use...
stripe-pp-cli identity post-verification-sessions-session-cancel — A VerificationSession object can be canceled when it is in requires_input <a...
stripe-pp-cli identity post-verification-sessions-session-redact — Redact a VerificationSession to remove all collected information from Stripe. This will redact the...
invoice-payments — Manage invoice payments
stripe-pp-cli invoice-payments get — When retrieving an invoice, there is an includable payments property containing the first handful of those items....
stripe-pp-cli invoice-payments get-invoicepayments — Retrieves the invoice payment with the given ID.
invoice-rendering-templates — Manage invoice rendering templates
stripe-pp-cli invoice-rendering-templates get — List all templates, ordered by creation date, with the most recently created template appearing first.
stripe-pp-cli invoice-rendering-templates get-template — Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the...
invoiceitems — Manage invoiceitems
stripe-pp-cli invoiceitems delete — Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not...
stripe-pp-cli invoiceitems get — Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently...
stripe-pp-cli invoiceitems get-invoiceitem — Retrieves the invoice item with the given ID.
stripe-pp-cli invoiceitems post — Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the...
stripe-pp-cli invoiceitems post-invoiceitem — Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only...
invoices — Manage invoices
stripe-pp-cli invoices delete — Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no...
stripe-pp-cli invoices get — You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by...
stripe-pp-cli invoices get-invoice — Retrieves the invoice with the given ID.
stripe-pp-cli invoices get-search — Search for invoices you’ve previously created using Stripe’s <a...
stripe-pp-cli invoices post — This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you <a...
stripe-pp-cli invoices post-create-preview — At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you...
stripe-pp-cli invoices post-invoice — Draft invoices are fully editable. Once an invoice is finalize...
issuing — Manage issuing
stripe-pp-cli issuing get-authorizations — Returns a list of Issuing Authorization objects. The objects are sorted in descending order by...
stripe-pp-cli issuing get-authorizations-authorization — Retrieves an Issuing Authorization object.
stripe-pp-cli issuing get-cardholders — Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation...
stripe-pp-cli issuing get-cardholders-cardholder — Retrieves an Issuing Cardholder object.
stripe-pp-cli issuing get-cards — Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date,...
stripe-pp-cli issuing get-cards-card — Retrieves an Issuing Card object.
stripe-pp-cli issuing get-disputes — Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation...
stripe-pp-cli issuing get-disputes-dispute — Retrieves an Issuing Dispute object.
stripe-pp-cli issuing get-personalization-designs — Returns a list of personalization design objects. The objects are sorted in descending order by creation date,...
stripe-pp-cli issuing get-personalization-designs-personalization-design — Retrieves a personalization design object.
stripe-pp-cli issuing get-physical-bundles — Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the...
stripe-pp-cli issuing get-physical-bundles-physical-bundle — Retrieves a physical bundle object.
stripe-pp-cli issuing get-tokens — Lists all Issuing Token objects for a given card.
stripe-pp-cli issuing get-tokens-token — Retrieves an Issuing Token object.
stripe-pp-cli issuing get-transactions — Returns a list of Issuing Transaction objects. The objects are sorted in descending order by...
stripe-pp-cli issuing get-transactions-transaction — Retrieves an Issuing Transaction object.
stripe-pp-cli issuing post-authorizations-authorization — Updates the specified Issuing Authorization object by setting the values of the parameters passed....
stripe-pp-cli issuing post-authorizations-authorization-approve — [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the...
stripe-pp-cli issuing post-authorizations-authorization-decline — [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the...
stripe-pp-cli issuing post-cardholders — Creates a new Issuing Cardholder object that can be issued cards.
stripe-pp-cli issuing post-cardholders-cardholder — Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any...
stripe-pp-cli issuing post-cards — Creates an Issuing Card object.
stripe-pp-cli issuing post-cards-card — Updates the specified Issuing Card object by setting the values of the parameters passed. Any...
stripe-pp-cli issuing post-disputes — Creates an Issuing Dispute object. Individual pieces of evidence within the evidence...
stripe-pp-cli issuing post-disputes-dispute — Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any...
stripe-pp-cli issuing post-disputes-dispute-submit — Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required...
stripe-pp-cli issuing post-personalization-designs — Creates a personalization design object.
stripe-pp-cli issuing post-personalization-designs-personalization-design — Updates a card personalization object.
stripe-pp-cli issuing post-tokens-token — Attempts to update the specified Issuing Token object to the status specified.
stripe-pp-cli issuing post-transactions-transaction — Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any...
mandates — Manage mandates
payment-attempt-records — Manage payment attempt records
payment-intents — Manage payment intents
stripe-pp-cli payment-intents get — Returns a list of PaymentIntents.
stripe-pp-cli payment-intents get-intent — Retrieves the details of a PaymentIntent that has previously been created.
You can retrieve a...
stripe-pp-cli payment-intents get-search — Search for PaymentIntents you’ve previously created using Stripe’s <a...
stripe-pp-cli payment-intents post — Creates a PaymentIntent object.
After the PaymentIntent is created, attach a payment method and <a...
stripe-pp-cli payment-intents post-intent — Updates properties on a PaymentIntent object without confirming.
Depending on which properties you update,...
payment-links — Manage payment links
payment-method-configurations — Manage payment method configurations
stripe-pp-cli payment-method-configurations get — List payment method configurations
stripe-pp-cli payment-method-configurations get-configuration — Retrieve payment method configuration
stripe-pp-cli payment-method-configurations post — Creates a payment method configuration
stripe-pp-cli payment-method-configurations post-configuration — Update payment method configuration
payment-method-domains — Manage payment method domains
stripe-pp-cli payment-method-domains get — Lists the details of existing payment method domains.
stripe-pp-cli payment-method-domains get-paymentmethoddomains — Retrieves the details of an existing payment method domain.
stripe-pp-cli payment-method-domains post — Creates a payment method domain.
stripe-pp-cli payment-method-domains post-paymentmethoddomains — Updates an existing payment method domain.
payment-methods — Manage payment methods
payment-records — Manage payment records
payouts — Manage payouts
plans — Manage plans
stripe-pp-cli plans delete — Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.
stripe-pp-cli plans get — Returns a list of your plans.
stripe-pp-cli plans get-plan — Retrieves the plan with the given ID.
stripe-pp-cli plans post — You can now model subscriptions more flexibly using the Prices API. It replaces the Plans...
stripe-pp-cli plans post-plan — Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left...
prices — Manage prices
products — Manage products
stripe-pp-cli products delete-id — Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally,...
stripe-pp-cli products get — Returns a list of your products. The products are returned sorted by creation date, with the most recently...
stripe-pp-cli products get-id — Retrieves the details of an existing product. Supply the unique product ID from either a product creation request...
stripe-pp-cli products get-search — Search for products you’ve previously created using Stripe’s <a...
stripe-pp-cli products post — Creates a new product object.
stripe-pp-cli products post-id — Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be...
promotion-codes — Manage promotion codes
stripe-pp-cli promotion-codes get — Returns a list of your promotion codes.
stripe-pp-cli promotion-codes get-promotioncodes — Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing...
stripe-pp-cli promotion-codes post — A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer,...
stripe-pp-cli promotion-codes post-promotioncodes — Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design,...
quotes — Manage quotes
stripe-pp-cli quotes get — Returns a list of your quotes.
stripe-pp-cli quotes get-quote — Retrieves the quote with the given ID.
stripe-pp-cli quotes post — A quote models prices and services for a customer. Default options for header,...
stripe-pp-cli quotes post-quote — A quote models prices and services for a customer.
radar — Manage radar
stripe-pp-cli radar delete-value-list-items-item — Deletes a ValueListItem object, removing it from its parent value list.
stripe-pp-cli radar delete-value-lists-value-list — Deletes a ValueList object, also deleting any items contained within the value list. To be deleted,...
stripe-pp-cli radar get-early-fraud-warnings — Returns a list of early fraud warnings.
stripe-pp-cli radar get-early-fraud-warnings-early-fraud-warning — Retrieves the details of an early fraud warning that has previously been created.
Please refer to the <a...
stripe-pp-cli radar get-value-list-items — Returns a list of ValueListItem objects. The objects are sorted in descending order by creation...
stripe-pp-cli radar get-value-list-items-item — Retrieves a ValueListItem object.
stripe-pp-cli radar get-value-lists — Returns a list of ValueList objects. The objects are sorted in descending order by creation date,...
stripe-pp-cli radar get-value-lists-value-list — Retrieves a ValueList object.
stripe-pp-cli radar post-payment-evaluations — Request a Radar API fraud risk score from Stripe for a payment before sending it for external processor...
stripe-pp-cli radar post-value-list-items — Creates a new ValueListItem object, which is added to the specified parent value list.
stripe-pp-cli radar post-value-lists — Creates a new ValueList object, which can then be referenced in rules.
stripe-pp-cli radar post-value-lists-value-list — Updates a ValueList object by setting the values of the parameters passed. Any parameters not...
refunds — Manage refunds
stripe-pp-cli refunds get — Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds...
stripe-pp-cli refunds get-refund — Retrieves the details of an existing refund.
stripe-pp-cli refunds post — When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
...
stripe-pp-cli refunds post-refund — Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you...
reporting — Manage reporting
stripe-pp-cli reporting get-report-runs — Returns a list of Report Runs, with the most recent appearing first.
stripe-pp-cli reporting get-report-runs-report-run — Retrieves the details of an existing Report Run.
stripe-pp-cli reporting get-report-types — Returns a full list of Report Types.
stripe-pp-cli reporting get-report-types-report-type — Retrieves the details of a Report Type. (Certain report types require a <a...
stripe-pp-cli reporting post-report-runs — Creates a new object and begin running the report. (Certain report types require a <a...
reviews — Manage reviews
setup-attempts — Manage setup attempts
setup-intents — Manage setup intents
stripe-pp-cli setup-intents get — Returns a list of SetupIntents.
stripe-pp-cli setup-intents get-intent — Retrieves the details of a SetupIntent that has previously been created.
Client-side retrieval using a...
stripe-pp-cli setup-intents post — Creates a SetupIntent object.
After you create the SetupIntent, attach a payment method and <a...
stripe-pp-cli setup-intents post-intent — Updates a SetupIntent object.
shipping-rates — Manage shipping rates
stripe-pp-cli shipping-rates get — Returns a list of your shipping rates.
stripe-pp-cli shipping-rates get-token — Returns the shipping rate object with the given ID.
stripe-pp-cli shipping-rates post — Creates a new shipping rate object.
stripe-pp-cli shipping-rates post-token — Updates an existing shipping rate object.
sigma — Manage sigma
sources — Manage sources
stripe-pp-cli sources get — Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will...
stripe-pp-cli sources post — Creates a new source object.
stripe-pp-cli sources post-source — Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be...
subscription-items — Manage subscription items
stripe-pp-cli subscription-items delete-item — Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the...
stripe-pp-cli subscription-items get — Returns a list of your subscription items for a given subscription.
stripe-pp-cli subscription-items get-item — Retrieves the subscription item with the given ID.
stripe-pp-cli subscription-items post — Adds a new item to an existing subscription. No existing items will be changed or replaced.
stripe-pp-cli subscription-items post-item — Updates the plan or quantity of an item on a current subscription.
subscription-schedules — Manage subscription schedules
stripe-pp-cli subscription-schedules get — Retrieves the list of your subscription schedules.
stripe-pp-cli subscription-schedules get-schedule — Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription...
stripe-pp-cli subscription-schedules post — Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
stripe-pp-cli subscription-schedules post-schedule — Updates an existing subscription schedule.
subscriptions — Manage subscriptions
stripe-pp-cli subscriptions delete-exposed-id — Cancels a customer’s subscription immediately. The customer won’t be charged again for the subscription....
stripe-pp-cli subscriptions get — By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions,...
stripe-pp-cli subscriptions get-exposed-id — Retrieves the subscription with the given ID.
stripe-pp-cli subscriptions get-search — Search for subscriptions you’ve previously created using Stripe’s <a...
stripe-pp-cli subscriptions post — Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled...
stripe-pp-cli subscriptions post-exposed-id — Updates an existing subscription to match the specified parameters. When changing prices or quantities, we...
tax — Manage tax
stripe-pp-cli tax get-associations-find — Finds a tax association object by PaymentIntent id.
stripe-pp-cli tax get-calculations-calculation — Retrieves a Tax Calculation object, if the calculation hasn’t expired.
stripe-pp-cli tax get-calculations-calculation-line-items — Retrieves the line items of a tax calculation as a collection, if the calculation hasn’t expired.
stripe-pp-cli tax get-registrations — Returns a list of Tax Registration objects.
stripe-pp-cli tax get-registrations-id — Returns a Tax Registration object.
stripe-pp-cli tax get-settings — Retrieves Tax Settings for a merchant.
stripe-pp-cli tax get-transactions-transaction — Retrieves a Tax Transaction object.
stripe-pp-cli tax get-transactions-transaction-line-items — Retrieves the line items of a committed standalone transaction as a collection.
stripe-pp-cli tax post-calculations — Calculates tax based on the input and returns a Tax Calculation object.
stripe-pp-cli tax post-registrations — Creates a new Tax Registration object.
stripe-pp-cli tax post-registrations-id — Updates an existing Tax Registration object.
A registration cannot be deleted after it has...
stripe-pp-cli tax post-settings — Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can...
stripe-pp-cli tax post-transactions-create-from-calculation — Creates a Tax Transaction from a calculation, if that calculation hasn’t expired. Calculations expire after 90...
stripe-pp-cli tax post-transactions-create-reversal — Partially or fully reverses a previously created Transaction.
tax-codes — Manage tax codes
tax-ids — Manage tax ids
stripe-pp-cli tax-ids delete-id — Deletes an existing account or customer tax_id object.
stripe-pp-cli tax-ids get — Returns a list of tax IDs.
stripe-pp-cli tax-ids get-id — Retrieves an account or customer tax_id object.
stripe-pp-cli tax-ids post — Creates a new account or customer tax_id object.
tax-rates — Manage tax rates
stripe-pp-cli tax-rates get — Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created...
stripe-pp-cli tax-rates get-taxrates — Retrieves a tax rate with the given ID
stripe-pp-cli tax-rates post — Creates a new tax rate.
stripe-pp-cli tax-rates post-taxrates — Updates an existing tax rate.
terminal — Manage terminal
stripe-pp-cli terminal delete-configurations-configuration — Deletes a Configuration object.
stripe-pp-cli terminal delete-locations-location — Deletes a Location object.
stripe-pp-cli terminal delete-readers-reader — Deletes a Reader object.
stripe-pp-cli terminal get-configurations — Returns a list of Configuration objects.
stripe-pp-cli terminal get-configurations-configuration — Retrieves a Configuration object.
stripe-pp-cli terminal get-locations — Returns a list of Location objects.
stripe-pp-cli terminal get-locations-location — Retrieves a Location object.
stripe-pp-cli terminal get-readers — Returns a list of Reader objects.
stripe-pp-cli terminal get-readers-reader — Retrieves a Reader object.
stripe-pp-cli terminal post-configurations — Creates a new Configuration object.
stripe-pp-cli terminal post-configurations-configuration — Updates a new Configuration object.
stripe-pp-cli terminal post-connection-tokens — To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe,...
stripe-pp-cli terminal post-locations — Creates a new Location object. For further details, including which address fields are required in...
stripe-pp-cli terminal post-locations-location — Updates a Location object by setting the values of the parameters passed. Any parameters not...
stripe-pp-cli terminal post-onboarding-links — Creates a new OnboardingLink object that contains a redirect_url used for onboarding onto Tap to Pay...
stripe-pp-cli terminal post-readers — Creates a new Reader object.
stripe-pp-cli terminal post-readers-reader — Updates a Reader object by setting the values of the parameters passed. Any parameters not provided...
stripe-pp-cli terminal post-readers-reader-cancel-action — Cancels the current reader action. See <a href='/docs/terminal/payments/collect-card-payment?terminal-sdk-platform...
stripe-pp-cli terminal post-readers-reader-collect-inputs — Initiates an input collection flow on a Reader to display...
stripe-pp-cli terminal post-readers-reader-collect-payment-method — Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation....
stripe-pp-cli terminal post-readers-reader-confirm-payment-intent — Finalizes a payment on a Reader. See <a href='/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=s...
stripe-pp-cli terminal post-readers-reader-process-payment-intent — Initiates a payment flow on a Reader. See <a href='/docs/terminal/payments/collect-card-payment?terminal-sdk-platf...
stripe-pp-cli terminal post-readers-reader-process-setup-intent — Initiates a SetupIntent flow on a Reader. See <a href='/docs/terminal/features/saving-payment-details/save-directl...
stripe-pp-cli terminal post-readers-reader-refund-payment — Initiates an in-person refund on a Reader. See <a href='/docs/terminal/payments/regional?integration-country=CA#re...
stripe-pp-cli terminal post-readers-reader-set-reader-display — Sets the reader display to show cart details.
test-helpers — Manage test helpers
stripe-pp-cli test-helpers delete-test-clocks-test-clock — Deletes a test clock.
stripe-pp-cli test-helpers get-test-clocks — Returns a list of your test clocks.
stripe-pp-cli test-helpers get-test-clocks-test-clock — Retrieves a test clock.
stripe-pp-cli test-helpers post-confirmation-tokens — Creates a test mode Confirmation Token server side for your integration tests.
stripe-pp-cli test-helpers post-customers-customer-fund-cash-balance — Create an incoming testmode bank transfer
stripe-pp-cli test-helpers post-issuing-authorizations — Create a test-mode authorization.
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-capture — Capture a test-mode authorization.
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-expire — Expire a test-mode Authorization.
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-finalize-amount — Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated...
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-fraud-challenges-respond — Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a...
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-increment — Increment a test-mode Authorization.
stripe-pp-cli test-helpers post-issuing-authorizations-authorization-reverse — Reverse a test-mode Authorization.
stripe-pp-cli test-helpers post-issuing-cards-card-shipping-deliver — Updates the shipping status of the specified Issuing Card object to delivered.
stripe-pp-cli test-helpers post-issuing-cards-card-shipping-fail — Updates the shipping status of the specified Issuing Card object to failure.
stripe-pp-cli test-helpers post-issuing-cards-card-shipping-return — Updates the shipping status of the specified Issuing Card object to returned.
stripe-pp-cli test-helpers post-issuing-cards-card-shipping-ship — Updates the shipping status of the specified Issuing Card object to shipped.
stripe-pp-cli test-helpers post-issuing-cards-card-shipping-submit — Updates the shipping status of the specified Issuing Card object to submitted. This...
stripe-pp-cli test-helpers post-issuing-personalization-designs-personalization-design-activate — Updates the status of the specified testmode personalization design object to active.
stripe-pp-cli test-helpers post-issuing-personalization-designs-personalization-design-deactivate — Updates the status of the specified testmode personalization design object to inactive.
stripe-pp-cli test-helpers post-issuing-personalization-designs-personalization-design-reject — Updates the status of the specified testmode personalization design object to rejected.
stripe-pp-cli test-helpers post-issuing-transactions-create-force-capture — Allows the user to capture an arbitrary amount, also known as a forced capture.
stripe-pp-cli test-helpers post-issuing-transactions-create-unlinked-refund — Allows the user to refund an arbitrary amount, also known as a unlinked refund.
stripe-pp-cli test-helpers post-issuing-transactions-transaction-refund — Refund a test-mode Transaction.
stripe-pp-cli test-helpers post-refunds-refund-expire — Expire a refund with a status of requires_action.
stripe-pp-cli test-helpers post-terminal-readers-reader-present-payment-method — Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or...
stripe-pp-cli test-helpers post-terminal-readers-reader-succeed-input-collection — Use this endpoint to trigger a successful input collection on a simulated reader.
stripe-pp-cli test-helpers post-terminal-readers-reader-timeout-input-collection — Use this endpoint to complete an input collection with a timeout error on a simulated reader.
stripe-pp-cli test-helpers post-test-clocks — Creates a new test clock that can be attached to new customers and quotes.
stripe-pp-cli test-helpers post-test-clocks-test-clock-advance — Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to...
stripe-pp-cli test-helpers post-treasury-inbound-transfers-id-fail — Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must...
stripe-pp-cli test-helpers post-treasury-inbound-transfers-id-return — Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The...
stripe-pp-cli test-helpers post-treasury-inbound-transfers-id-succeed — Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must...
stripe-pp-cli test-helpers post-treasury-outbound-payments-id — Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable,...
stripe-pp-cli test-helpers post-treasury-outbound-payments-id-fail — Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must...
stripe-pp-cli test-helpers post-treasury-outbound-payments-id-post — Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must...
stripe-pp-cli test-helpers post-treasury-outbound-payments-id-return — Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must...
stripe-pp-cli test-helpers post-treasury-outbound-transfers-outbound-transfer — Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable,...
stripe-pp-cli test-helpers post-treasury-outbound-transfers-outbound-transfer-fail — Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must...
stripe-pp-cli test-helpers post-treasury-outbound-transfers-outbound-transfer-post — Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must...
stripe-pp-cli test-helpers post-treasury-outbound-transfers-outbound-transfer-return — Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must...
stripe-pp-cli test-helpers post-treasury-received-credits — Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t...
stripe-pp-cli test-helpers post-treasury-received-debits — Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t...
tokens — Manage tokens
topups — Manage topups
stripe-pp-cli topups get — Returns a list of top-ups.
stripe-pp-cli topups get-topup — Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned...
stripe-pp-cli topups post — Top up the balance of an account
stripe-pp-cli topups post-topup — Updates the metadata of a top-up. Other top-up details are not editable by design.
transfers — Manage transfers
stripe-pp-cli transfers get — Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with...
stripe-pp-cli transfers get-transfer — Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation...
stripe-pp-cli transfers post — To send funds from your Stripe account to a connected account, you create a new transfer object. Your <a...
stripe-pp-cli transfers post-transfer — Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will...
treasury — Manage treasury
stripe-pp-cli treasury get-credit-reversals — Returns a list of CreditReversals.
stripe-pp-cli treasury get-credit-reversals-credit-reversal — Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the...
stripe-pp-cli treasury get-debit-reversals — Returns a list of DebitReversals.
stripe-pp-cli treasury get-debit-reversals-debit-reversal — Retrieves a DebitReversal object.
stripe-pp-cli treasury get-financial-accounts — Returns a list of FinancialAccounts.
stripe-pp-cli treasury get-financial-accounts-financial-account — Retrieves the details of a FinancialAccount.
stripe-pp-cli treasury get-financial-accounts-financial-account-features — Retrieves Features information associated with the FinancialAccount.
stripe-pp-cli treasury get-inbound-transfers — Returns a list of InboundTransfers sent from the specified FinancialAccount.
stripe-pp-cli treasury get-inbound-transfers-id — Retrieves the details of an existing InboundTransfer.
stripe-pp-cli treasury get-outbound-payments — Returns a list of OutboundPayments sent from the specified FinancialAccount.
stripe-pp-cli treasury get-outbound-payments-id — Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the...
stripe-pp-cli treasury get-outbound-transfers — Returns a list of OutboundTransfers sent from the specified FinancialAccount.
stripe-pp-cli treasury get-outbound-transfers-outbound-transfer — Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the...
stripe-pp-cli treasury get-received-credits — Returns a list of ReceivedCredits.
stripe-pp-cli treasury get-received-credits-id — Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the...
stripe-pp-cli treasury get-received-debits — Returns a list of ReceivedDebits.
stripe-pp-cli treasury get-received-debits-id — Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit...
stripe-pp-cli treasury get-transaction-entries — Retrieves a list of TransactionEntry objects.
stripe-pp-cli treasury get-transaction-entries-id — Retrieves a TransactionEntry object.
stripe-pp-cli treasury get-transactions — Retrieves a list of Transaction objects.
stripe-pp-cli treasury get-transactions-id — Retrieves the details of an existing Transaction.
stripe-pp-cli treasury post-credit-reversals — Reverses a ReceivedCredit and creates a CreditReversal object.
stripe-pp-cli treasury post-debit-reversals — Reverses a ReceivedDebit and creates a DebitReversal object.
stripe-pp-cli treasury post-financial-accounts — Creates a new FinancialAccount. Each connected account can have up to three FinancialAccounts by default.
stripe-pp-cli treasury post-financial-accounts-financial-account — Updates the details of a FinancialAccount.
stripe-pp-cli treasury post-financial-accounts-financial-account-close — Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending...
stripe-pp-cli treasury post-financial-accounts-financial-account-features — Updates the Features associated with a FinancialAccount.
stripe-pp-cli treasury post-inbound-transfers — Creates an InboundTransfer.
stripe-pp-cli treasury post-inbound-transfers-inbound-transfer-cancel — Cancels an InboundTransfer.
stripe-pp-cli treasury post-outbound-payments — Creates an OutboundPayment.
stripe-pp-cli treasury post-outbound-payments-id-cancel — Cancel an OutboundPayment.
stripe-pp-cli treasury post-outbound-transfers — Creates an OutboundTransfer.
stripe-pp-cli treasury post-outbound-transfers-outbound-transfer-cancel — An OutboundTransfer can be canceled if the funds have not yet been paid out.
webhook-endpoints — Manage webhook endpoints
Finding the right command
When you know what you want to do but not which command does it, ask the CLI directly:
stripe-pp-cli which "<capability in your own words>"
which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
Recipes
Find double-subscribed customers
stripe-pp-cli sql 'SELECT json_extract(s.data,"$.customer") AS cid, COUNT(*) AS subs FROM resources s WHERE s.resource_type="subscriptions" AND json_extract(s.data,"$.status")="active" GROUP BY cid HAVING subs > 1' --json
All Stripe data lives in the generic resources table; query JSON fields with json_extract.
Top 10 customers with at-risk PM
stripe-pp-cli subs-at-risk --within 30d --limit 10 --json --select customer_email,mrr,card_exp
Email these customers proactively before involuntary churn hits.
Replay missed events since last cron tick
stripe-pp-cli events-since --type 'invoice' --json --select id,type,created,data.object.id
Cursor-driven event tail — one-shot, agent-friendly, persists cursor between runs.
Reconcile this week's payouts
stripe-pp-cli payout-reconcile --since 7d --csv
Joins payout → balance_transactions → charges → customers; flags missing rows.
Compact customer dossier for agent context
stripe-pp-cli customer-360 alice@example.com --json --select customer.email,active_subscriptions,open_disputes,lifetime_spend
Use --select to project deeply-nested fields; saves tokens vs full dossier.
Auth Setup
Authenticate by exporting STRIPE_SECRET_KEY=sk_test_... (recommended) or running stripe-pp-cli auth set-token <key> to persist it. Test-mode keys (sk_test_...) and live-mode keys (sk_live_...) are accepted; this v1 does NOT yet enforce a live-mode write guard, so audit any live invocation before running mutating commands.
Run stripe-pp-cli doctor to verify setup.
Agent Mode
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
-
Pipeable — JSON on stdout, errors on stderr
-
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
stripe-pp-cli account --agent --select id,name,status
-
Previewable — --dry-run shows the request without sending
-
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
-
Explicit retries — use --idempotent only when an already-existing create should count as success, and --ignore-missing only when a missing delete target should count as success
Response envelope
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
Agent Feedback
When you (or the agent) notice something off about this CLI, record it:
stripe-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
stripe-pp-cli feedback --stdin < notes.txt
stripe-pp-cli feedback list --json --limit 10
Entries are stored locally at ~/.stripe-pp-cli/feedback.jsonl. They are never POSTed unless STRIPE_FEEDBACK_ENDPOINT is set AND either --send is passed or STRIPE_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Output Delivery
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
Named Profiles
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
stripe-pp-cli profile save briefing --json
stripe-pp-cli --profile briefing account
stripe-pp-cli profile list --json
stripe-pp-cli profile show briefing
stripe-pp-cli profile delete briefing --yes
Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
Exit Codes
| Code | Meaning |
|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Argument Parsing
Parse $ARGUMENTS:
- Empty,
help, or --help → show stripe-pp-cli --help output
- Starts with
install → ends with mcp → MCP installation; otherwise → see Prerequisites above
- Anything else → Direct Use (execute as CLI command with
--agent)
MCP Server Installation
- Install the MCP server:
go install github.com/mvanhorn/printing-press-library/library/payments/stripe/cmd/stripe-pp-mcp@latest
- Register with Claude Code:
claude mcp add stripe-pp-mcp -- stripe-pp-mcp
- Verify:
claude mcp list
Direct Use
- Check if installed:
which stripe-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).
- Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the
--agent flag:
stripe-pp-cli <command> [subcommand] [args] --agent
- If ambiguous, drill into subcommand help:
stripe-pp-cli <command> --help.