Stripe

Stripe is a payment processing platform for online businesses.

Overview

Stripe handles online payments, subscriptions, invoicing, and customer billing for businesses worldwide. It integrates with e-commerce platforms, accounting systems, and CRMs, and exposes a rich REST API for managing customers, charges, payment intents, invoices, products, and subscriptions.

In Spojit workflows, Stripe typically acts as the source of truth for payment data. You reconcile charges against orders in your e-commerce platform, sync revenue into NetSuite or a database, and react to subscription or refund events by triggering Slack alerts or downstream automation.

What You Can Do

The Stripe connector exposes these tools:

  • create-charge - create a direct charge against a customer or card.
  • create-customer - create a new Stripe customer record.
  • create-invoice - create an invoice for a customer.
  • create-payment-intent - start a payment intent for a multi-step or SCA-compliant flow.
  • get-customer - fetch a single customer by ID.
  • list-charges - list charges with filters such as customer, date range, or status.
  • list-customers - list customers, optionally filtered by email or metadata.
  • list-invoices - list invoices by customer, status, or date.
  • list-payment-intents - list payment intents for reconciliation or auditing.
  • list-products - list products defined in your Stripe catalog.
  • list-subscriptions - list active and past subscriptions.
  • raw-api-request - call any Stripe REST endpoint not covered by the typed tools.

Authentication

Stripe authenticates with a secret API key. In the Stripe Dashboard go to Developers -> API keys. Use a restricted key (least privilege) where possible and limit the resources it can read or write. Keep the key in test mode while developing and swap to a live key for production. Never paste a publishable key here - Spojit needs the secret key (sk_live_... or sk_test_...).

Setting Up Your Connection

  1. In the Stripe Dashboard, open Developers -> API keys and either copy your secret key or click Create restricted key for a scoped key.
  2. In Spojit, go to Connections in the sidebar.
  3. Click + Add Connection.
  4. Search for Stripe and select it.
  5. Paste your secret API key into the credential field.
  6. Give the connection a name (e.g. "Stripe Live" or "Stripe Test").
  7. Click Save.

Using in a Workflow

Add a Connector node and select your Stripe connection. Use Direct Mode for predictable reconciliation work where you call a specific tool such as list-charges with a known date range. Use Agent Mode for exploratory tasks such as investigating a refund or summarising a customer's history, where the agent can chain get-customer, list-charges, and list-invoices. For endpoints not covered by typed tools (disputes, refunds, payouts), fall back to raw-api-request.

Tips

  • Use restricted keys with read-only access for reporting workflows and a separate key with write access for refund or charge workflows.
  • Filter list-charges and list-payment-intents by created date range to avoid scanning your entire history.
  • For high-volume reconciliation, paginate explicitly using starting_after rather than fetching everything at once.
  • Stripe IDs are stable and prefixed (cus_, ch_, pi_, in_) - store them as foreign keys in downstream systems for reliable joins.
  • Use raw-api-request for refunds (POST /v1/refunds) and disputes since these are not exposed as typed tools.

Common Pitfalls

  • Test mode and live mode are separate environments with separate keys and separate data - confirm which key you pasted before running production workflows.
  • Amounts in Stripe are integers in the smallest currency unit (cents for USD, yen for JPY) - convert before displaying or comparing.
  • Webhook events deliver eventually and may arrive out of order; do not assume a charge.succeeded follows immediately after payment_intent.created.
  • Connect accounts require the Stripe-Account header - use raw-api-request if you need to act on behalf of a connected account.
  • API versioning matters - if you pin a Stripe API version on your account, response shapes may differ from the latest docs.

Common Use Cases

Related Articles

For technical API details and field specifications, see the Stripe connector documentation.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.