Skip to content

stripe

stripe

Stripe REST API — payment processing, billing, subscriptions, invoices, products, and financial infrastructure

Source: Stripe REST API

Credits: Dunkel Cloud GmbH Updated: 2026-04-02

Coverage

22% (78 of ~350 endpoints)

Focus: customers, payment intents, payment methods, charges, subscriptions, invoices, products, prices, refunds, checkout sessions, setup intents, disputes, coupons, payouts, balance, events, webhook endpoints

Missing: Connect (accounts, transfers, application fees), Terminal, Identity, Issuing, Treasury, Tax, Sigma, Reporting, Radar, Climate, Financial Connections, forwarding

Last reviewed: 2026-04-02

Setup

  1. Log in to the Stripe Dashboard at https://dashboard.stripe.com
  2. Navigate to Developers → API keys
  3. Copy the Secret key (starts with sk_test_ for test mode or sk_live_ for live mode)
  4. NEVER use the Publishable key (pk_) — it cannot access server-side endpoints

Environment variable: CREDENTIAL_STRIPE_SECRET_KEY

Authentication docs ↗

Stripe does not use OAuth scopes — the secret key grants full API access. Use restricted keys (Dashboard → API keys → Create restricted key) to limit access to specific resources and operations. Test mode keys (sk_test_) operate on test data only and never affect real charges. Rate limits: 100 read/s and 100 write/s in live mode, 25 read/s and 25 write/s in test mode.

Install

Add to your backends.yaml:

- name: stripe
  transport: rest
  dadl: stripe.dadl
  url: "https://api.stripe.com/v1"

Set the credential:

CREDENTIAL_STRIPE_SECRET_KEY=your-token-here

Tools (96)

GET list_customers List all customers, optionally filtered by email or creation date
GET get_customer Retrieve a single customer by ID
POST create_customer Create a new customer
POST update_customer Update an existing customer
DELETE delete_customer Permanently delete a customer and cancel active subscriptions
GET search_customers Search customers using Stripe Query Language
GET list_payment_intents List all payment intents, optionally filtered by customer or status
GET get_payment_intent Retrieve a payment intent by ID
POST create_payment_intent Create a new payment intent to collect a payment
POST update_payment_intent Update a payment intent (only before confirmation)
POST confirm_payment_intent Confirm a payment intent to proceed with the payment
POST capture_payment_intent Capture a previously authorized payment intent
POST cancel_payment_intent Cancel a payment intent
GET search_payment_intents Search payment intents using Stripe Query Language
GET list_payment_methods List payment methods for a customer
GET get_payment_method Retrieve a payment method by ID
POST create_payment_method Create a payment method
POST update_payment_method Update payment method details
POST attach_payment_method Attach a payment method to a customer
POST detach_payment_method Detach a payment method from its customer
GET list_charges List all charges, optionally filtered by customer or payment intent
GET get_charge Retrieve a charge by ID
POST create_charge Create a charge (legacy — prefer create_payment_intent)
POST update_charge Update a charge (description, metadata, fraud details)
POST capture_charge Capture a previously authorized charge
GET search_charges Search charges using Stripe Query Language
GET list_subscriptions List all subscriptions, optionally filtered by customer or status
GET get_subscription Retrieve a subscription by ID
POST create_subscription Create a subscription for a customer
POST update_subscription Update a subscription (change plan, quantity, trial, etc.)
DELETE cancel_subscription Cancel a subscription immediately or at period end
POST resume_subscription Resume a paused subscription
GET search_subscriptions Search subscriptions using Stripe Query Language
GET list_invoices List all invoices, optionally filtered by customer or status
GET get_invoice Retrieve an invoice by ID
POST create_invoice Create a draft invoice for a customer
POST update_invoice Update a draft or open invoice
DELETE delete_invoice Delete a draft invoice (only draft invoices can be deleted)
POST finalize_invoice Finalize a draft invoice (transitions to open status)
POST pay_invoice Pay an open invoice using the customer's default payment method
POST send_invoice Send a finalized invoice to the customer by email
POST void_invoice Void a finalized invoice (marks as uncollectable, no refund)
POST mark_invoice_uncollectible Mark an invoice as uncollectible
GET search_invoices Search invoices using Stripe Query Language
GET list_products List all products
GET get_product Retrieve a product by ID
POST create_product Create a new product
POST update_product Update a product
DELETE delete_product Delete a product (must have no prices attached)
GET search_products Search products using Stripe Query Language
GET list_prices List all prices, optionally filtered by product or active status
GET get_price Retrieve a price by ID
POST create_price Create a new price for a product
POST update_price Update a price (most fields are immutable — create a new price instead)
GET search_prices Search prices using Stripe Query Language
GET list_refunds List all refunds, optionally filtered by charge or payment intent
GET get_refund Retrieve a refund by ID
POST create_refund Create a refund for a charge or payment intent
POST update_refund Update a refund (metadata only)
POST cancel_refund Cancel a refund that has not yet been processed
GET list_checkout_sessions List all checkout sessions
GET get_checkout_session Retrieve a checkout session by ID
POST create_checkout_session Create a Stripe Checkout session for hosted payment page
POST expire_checkout_session Expire a checkout session (cannot be completed after expiry)
GET list_checkout_session_line_items List line items for a checkout session
GET list_setup_intents List all setup intents
GET get_setup_intent Retrieve a setup intent by ID
POST create_setup_intent Create a setup intent to save payment credentials for future use
POST update_setup_intent Update a setup intent
POST confirm_setup_intent Confirm a setup intent to complete payment method setup
POST cancel_setup_intent Cancel a setup intent
GET list_disputes List all disputes
GET get_dispute Retrieve a dispute by ID
POST update_dispute Update a dispute with evidence
POST close_dispute Close a dispute — accepts the dispute and refunds the customer
GET list_coupons List all coupons
GET get_coupon Retrieve a coupon by ID
POST create_coupon Create a coupon for discounts on subscriptions or invoices
POST update_coupon Update a coupon (name and metadata only)
DELETE delete_coupon Delete a coupon (existing discounts remain active)
GET list_payouts List all payouts
GET get_payout Retrieve a payout by ID
POST create_payout Create a payout to your bank account or debit card
POST update_payout Update a payout (metadata only)
POST cancel_payout Cancel a pending payout
POST reverse_payout Reverse a completed payout (returns funds to Stripe balance)
GET get_balance Retrieve the current account balance (available and pending)
GET list_balance_transactions List balance transactions (all account activity)
GET get_balance_transaction Retrieve a balance transaction by ID
GET list_events List all events (retained for 30 days)
GET get_event Retrieve a specific event by ID
GET list_webhook_endpoints List all webhook endpoint configurations
GET get_webhook_endpoint Retrieve a webhook endpoint by ID
POST create_webhook_endpoint Create a webhook endpoint to receive events
POST update_webhook_endpoint Update a webhook endpoint
DELETE delete_webhook_endpoint Delete a webhook endpoint