Stripe integration

Payments: charges, customers, subscriptions, invoices, products, refunds, payouts

Help CentreConnectors

Overview

Stripe is the dominant card-payment processor with deep automation primitives – charges, subscriptions, invoicing, products, refunds, payouts. The Automize Stripe connector covers the customer lifecycle (create / look up / update), money movement (payment intents, charges, refunds), recurring billing (subscriptions, products, prices), and reporting (balance, payouts).

  • Regions: Stripe is global. Connector talks to api.stripe.com – no region selector. The account's home country is set when the Stripe account was created and affects which payment methods are available.
  • Plans: All Stripe accounts. Connect (platform/marketplace) accounts need an Account header which the connector passes via the connection settings.

Setting up the connection

Auth type: Bearer Token.

  1. Sign in to dashboard.stripe.com → Developers → API keys.
  2. Create a Restricted Key (recommended) or use the Secret Key. Restricted keys let you scope what the connector can touch – minimum needed: Customers (read/write), PaymentIntents (read/write), Invoices, Subscriptions, Products, Prices.
  3. Toggle Test mode on/off to get keys for the right environment. Test keys start with sk_test_, live keys with sk_live_.
  4. In Automize, open Settings → Connectors → Stripe → Add connection. Paste the secret key.

Find your credentials at https://dashboard.stripe.com/apikeys.


Rate limits

Stripe enforces 100 read + 100 write requests per second in live mode, 25/25 in test mode. The connector retries on 429 with exponential backoff (Stripe's recommended Retry-After). For bulk operations (importing 10k+ customers) batch via async + idempotency keys.


Data model

Customer is the root of most flows.

    Customer ─┬─ Payment Methods (cards, bank, wallets)
              ├─ Subscriptions ── Invoices ── Charges / Payment Intents
              ├─ One-off Charges / Payment Intents
              └─ Setup Intents (saving cards for later)
    Product ── Prices ── Subscriptions

Most write endpoints accept an Idempotency-Key header. Use it on every
mutating call to make retries safe.

Available operations

37 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Cancel payment intentGeneralCancel a Stripe PaymentIntent.
Cancel SubscriptionGeneralCancel a subscription
Capture Payment IntentGeneralCapture a previously authorized payment intent
Confirm payment intentGeneralConfirm a Stripe PaymentIntent.
Create chargeGeneralCreate a Stripe charge.
Create checkout sessionGeneralCreate a Stripe Checkout session.
Create customerGeneralCreate a Stripe customer.
Create invoiceGeneralCreate a Stripe invoice for a customer.
Create payment intentGeneralCreate a Stripe PaymentIntent for a payment flow.
Create priceGeneralCreate a Stripe price for a product.
Create productGeneralCreate a Stripe product.
Create refundGeneralCreate a Stripe refund.
Create subscriptionGeneralCreate a Stripe subscription.
Delete customerGeneralDelete a Stripe customer.
Finalize invoiceGeneralFinalize a Stripe draft invoice.
Get balanceGeneralGet the Stripe account balance.
Get customerGeneralGet a Stripe customer by ID.
Get invoiceGeneralGet a Stripe invoice by ID.
Get payment intentGeneralGet a Stripe PaymentIntent by ID.
Get ProductGeneralGet a product by ID
Get SubscriptionGeneralGet subscription details
List chargesGeneralList Stripe charges.
List customersGeneralList Stripe customers.
List invoicesGeneralList Stripe invoices.
List Payment IntentsGeneralList all payment intents
List payoutsGeneralList Stripe payouts.
List PricesGeneralList all prices
List productsGeneralList Stripe products.
List RefundsGeneralList all refunds
List subscriptionsGeneralList Stripe subscriptions.
Pay invoiceGeneralPay a Stripe invoice.
Search customersGeneralSearch Stripe customers by email, name, or metadata.
Send InvoiceGeneralSend an invoice to the customer by email
Update customerGeneralUpdate an existing Stripe customer.
Update InvoiceGeneralUpdate a draft invoice
Update SubscriptionGeneralUpdate a subscription
Void invoiceGeneralVoid a Stripe invoice.

Operations

Cancel payment intent

Cancel a Stripe PaymentIntent.

ParameterRequiredTypeDescription
Payment Intent Id payment_intent_idYestext

Tips

  • Cancels a PI that hasn't yet succeeded. Once succeeded, you must refund instead.

Cancel Subscription

Cancel a subscription

ParameterRequiredTypeDescription
Subscription Id subscription_idYestext

Tips

  • cancel_at_period_end=true lets the customer use it until the cycle ends. Default cancels immediately.

Capture Payment Intent

Capture a previously authorized payment intent

ParameterRequiredTypeDescription
Payment Intent Id payment_intent_idYestext

Confirm payment intent

Confirm a Stripe PaymentIntent.

ParameterRequiredTypeDescription
Payment Intent Id payment_intent_idYestext

Tips

  • Confirms a previously-created PI with a payment method. Use when the PI was created with confirm=false.

Create charge

Create a Stripe charge.

ParameterRequiredTypeDescription
Amount amountYesnumber
Currency currencyYestext
Customer customerYestext
Source sourceYestext
Description descriptionYestext

Tips

  • Legacy – prefer PaymentIntents for new builds. Still valid for simple one-off card charges.

Create checkout session

Create a Stripe Checkout session.

ParameterRequiredTypeDescription
Line Items line_itemsNotext
Mode modeNotext
Success Url success_urlNotext
Cancel Url cancel_urlNotext

Tips

  • Hosted-checkout flow. Returns a url to redirect customers to.
  • Set mode: payment (one-off), subscription (recurring), setup (save card for later).

Create customer

Create a Stripe customer.

ParameterRequiredTypeDescription
Email emailYestext
Name nameYestext
Phone phoneYestext
Metadata metadataYestextarea

Tips

  • Send email + name at minimum. Pass metadata={your_user_id: 'abc'} so you can lookup customers later.
  • Always set an idempotency_key on customer creation – duplicate creates leak resources.

Errors

  • already_exists – Stripe doesn't dedupe on email; this only fires if you sent a customer ID that's in use.

Create invoice

Create a Stripe invoice for a customer.

ParameterRequiredTypeDescription
Customer customerYestext
Collection Method collection_methodYestext
Auto Advance auto_advanceYestext

Tips

  • Auto-advance=true is usually what you want – Stripe finalises and attempts to pay automatically.

Create payment intent

Create a Stripe PaymentIntent for a payment flow.

ParameterRequiredTypeDescription
Amount amountYesnumber
Currency currencyYestext
Customer customerYestextarea
Payment Method Types payment_method_typesNotext
Description descriptionNotext
Metadata metadataNotext

Tips

  • PaymentIntents are the modern way to charge – replaces the legacy Charges API for new builds.
  • amount in smallest currency unit (cents, fen). currency 3-letter ISO.
  • Set confirm=true to attempt immediately; otherwise it stays in requires_payment_method until you supply a method.

Create price

Create a Stripe price for a product.

ParameterRequiredTypeDescription
Product productNotextarea
Unit Amount unit_amountNonumber
Currency currencyYestext
Recurring recurringNotextarea

Tips

  • product (id) + unit_amount + currency. For subscriptions, set recurring={interval:'month'}.

Create product

Create a Stripe product.

ParameterRequiredTypeDescription
Name nameYestext
Description descriptionNotext
Metadata metadataNotext

Tips

  • Products are catalog items. Prices are how you charge for them (per unit, recurring, tiered).

Create refund

Create a Stripe refund.

ParameterRequiredTypeDescription
Charge chargeYestext
Amount amountYesnumber
Reason reasonYestext

Tips

  • Refunds a Charge or PaymentIntent by ID.
  • Partial refunds: pass amount (in smallest unit).
  • reason: duplicate, fraudulent, or requested_by_customer.

Create subscription

Create a Stripe subscription.

ParameterRequiredTypeDescription
Customer customerYestext
Items itemsYestext

Tips

  • customer + items[{price: 'price_id'}] are required.
  • Set trial_period_days for a free trial; default_payment_method to lock the card.

Delete customer

Delete a Stripe customer.

ParameterRequiredTypeDescription
Customer Id customer_idYestext

Finalize invoice

Finalize a Stripe draft invoice.

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

Tips

  • Moves an invoice from draft → open. After this, line items are locked.

Get balance

Get the Stripe account balance.

No input parameters.

Tips

  • Returns available + pending balance per currency. Use before payouts to verify funds.

Get customer

Get a Stripe customer by ID.

ParameterRequiredTypeDescription
Customer Id customer_idYestext

Tips

  • Returns customer with default_source / invoice_settings.

Get invoice

Get a Stripe invoice by ID.

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

Tips

  • status: draft, open, paid, uncollectible, void.

Get payment intent

Get a Stripe PaymentIntent by ID.

ParameterRequiredTypeDescription
Payment Intent Id payment_intent_idYestext

Tips

  • Use to poll status: requires_payment_method, requires_confirmation, requires_action, processing, succeeded, canceled.

Get Product

Get a product by ID

ParameterRequiredTypeDescription
Product Id product_idYestext

Get Subscription

Get subscription details

ParameterRequiredTypeDescription
Subscription Id subscription_idYestext

Tips

  • Returns status: incomplete, active, past_due, canceled, unpaid, trialing.

List charges

List Stripe charges.

No input parameters.

Tips

  • Same paging contract as customers.

List customers

List Stripe customers.

No input parameters.

Tips

  • Cursor pagination via starting_after. Filter by email for lookup.
  • Use Search Customers for SQL-like queries (test mode only without paid features).

List invoices

List Stripe invoices.

No input parameters.

Tips

  • Filter by customer + status for collections workflows.

List Payment Intents

List all payment intents

No input parameters.

Tips

  • Filter by customer to scope; by created[gte]/created[lte] for date ranges.

List payouts

List Stripe payouts.

No input parameters.

Tips

  • Payouts to the connected bank account. Filter by status: pending, paid, failed.

List Prices

List all prices

No input parameters.

Tips

  • Filter by product to find all prices for a SKU.

List products

List Stripe products.

No input parameters.

Tips

  • Filter by active=true to skip archived products.

List Refunds

List all refunds

No input parameters.

Tips

  • Filter by charge or payment_intent.

List subscriptions

List Stripe subscriptions.

No input parameters.

Tips

  • Filter by status=active to find live subs.

Pay invoice

Pay a Stripe invoice.

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

Tips

  • Charges the customer's default payment method for a finalized invoice. Use when auto-advance is off.

Search customers

Search Stripe customers by email, name, or metadata.

No input parameters.

Tips

  • query: Stripe query syntax (e.g. email:'foo@bar.com'). Eventually consistent (~5s lag on writes).

Send Invoice

Send an invoice to the customer by email

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

Update customer

Update an existing Stripe customer.

ParameterRequiredTypeDescription
Customer Id customer_idYestext

Tips

  • PATCH-style – only fields you send are updated. Set a field to '' to clear it.

Update Invoice

Update a draft invoice

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

Update Subscription

Update a subscription

ParameterRequiredTypeDescription
Subscription Id subscription_idYestext

Tips

  • Use proration_behavior to control mid-cycle prorations: create_prorations, none, always_invoice.

Void invoice

Void a Stripe invoice.

ParameterRequiredTypeDescription
Invoice Id invoice_idYestext

FAQ

Test mode vs live mode – how do I switch?
Create two separate connections, each with its respective key (sk_test_ vs sk_live_). Use process variables to switch at runtime.
Why am I getting 429s?
Hit the rate limit. The connector retries automatically; if you keep hitting it, batch more aggressively or spread work across time.
How do I make calls idempotent?
Pass an Idempotency-Key header on every mutating call. Stripe caches the response for 24 hours so retries return the same result.
Connect (platform) accounts – how?
Use the Account field on the connection settings to pass through the Stripe-Account header. Each connected account is a separate connection in Automize.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.