---
title: "Stripe Connector"
description: "Connect Stripe to Tajo with a restricted API key for read-only sync of customers, charges, subscriptions, and invoices into engagement and migration flows."
url: https://tajo.io/docs/connectors/ecommerce/stripe/
markdown: https://tajo.io/docs/connectors/ecommerce/stripe.md
lang: en-US
robots: noindex
---

# Stripe Connector

Connector status: Live Verified. Tajo runs this connector today.

| Source field | Destination field | Sample value |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Connect your Stripe account to Tajo for read-only synchronization of payment data — customers, charges, subscriptions, and invoices — into contact resolution, segmentation, and revenue-driven automations (via Brevo and other engagement providers).

## Overview

| Property | Value |
| --- | --- |
| Auth | Stripe secret key (`sk_live_...` / `sk_test_...`) or restricted key |
| Access | Read-only — Tajo never writes to your Stripe account |
| Base API | `https://api.stripe.com/v1` |
| Sync direction | Stripe → Tajo |
| Real-time webhooks | Not yet — sync is poll-based today |

## Setup

1. In the Stripe Dashboard, open **Developers → API keys**.
2. Create a **restricted key** — read permission on **Customers**, **Charges**, **Subscriptions**, and **Invoices** is sufficient. A restricted key is strongly preferred over the full secret key: Tajo only reads, so grant only reads.
3. Paste the key into the Stripe connection in Tajo.

The connection is validated with a read-only request before any sync starts. Rotate or revoke the key in Stripe at any time.

## What syncs

| Data | What Tajo does with it |
| --- | --- |
| **Customers** | Resolved into contacts (email, name, phone, address) for identity and segmentation. Consent is never inferred from a customer record’s existence. |
| **Charges** | Revenue events for purchase-based lifecycle automations and LTV segmentation |
| **Subscriptions** | Lifecycle status (active, past\_due, canceled…) for dunning, win-back, and retention flows |
| **Invoices** | Payment status for billing-adjacent messaging |

Pagination uses Stripe’s cursor model (`starting_after`), so large accounts sync completely and resumably.

## Current limitations

Stated plainly so you can plan around them:

- **No real-time webhooks yet.** Changes arrive on the sync schedule, not at the moment a payment succeeds. Webhook ingestion is on the roadmap.
- **Read-only.** Tajo does not create or modify customers, payments, or subscriptions in Stripe.
- **No Stripe App.** There is no Tajo app in the Stripe App Marketplace today; the connection is configured in Tajo, not the Stripe Dashboard.

## Troubleshooting

| Symptom | Cause and fix |
| --- | --- |
| 401 from Stripe | Key revoked or rotated — paste the current key into the connection |
| Customers sync but charges don’t | The restricted key is missing read permission on Charges |
| Contact has no email | Stripe customers without an email sync as anonymous revenue records; they join the contact graph if the email is added later |

## Next steps

- [Customer sync](https://tajo.io/docs/skills/data-sync/customer-sync/) — mapping Stripe customers into your system of record
- Build dunning and win-back automations in Tajo on subscription status changes
