> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platinur.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stripe

> Sync Stripe charges, customers, and invoices with a restricted read-only key.

## Create the credential

In Stripe, open **Developers → API keys → Restricted keys** and create a key for Platinur. Grant
read access only to the objects you intend to sync: Charges, Customers, and/or Invoices. Platinur
accepts restricted keys beginning with `rk_test_` or `rk_live_`; unrestricted secret keys are
rejected.

Choose the same mode as the data you need: a test-mode key reads test data and a live-mode key
reads live data. Copy the restricted key when Stripe displays it; Stripe will not show the full
value again. Do not grant write permissions, webhook permissions, or access to objects Platinur
will not load.

## Connect

1. Open **Integrations → New Source → Stripe**.
2. Paste the restricted key and choose the Stripe objects to sync.
3. Test the connection and create the source.
4. Open **Schema**, discover the selected objects, and confirm the tables.
5. Run the first sync and optionally add a schedule.

Paste the entire value into **Restricted secret key**. **Test endpoint** verifies the key against
Stripe before the source is created. A successful test only proves the selected key can read the
provider; use **Schema** to confirm Charges, Customers, and/or Invoices and then run **Sync**.

Platinur follows Stripe's cursor until all selected records are read, with bounded retries for
rate limits and provider errors. A sync fails rather than silently returning a partial dataset if
it reaches its safety limit.

## Common failures

* **Key is rejected before testing:** use a restricted `rk_test_` or `rk_live_` key, not `sk_`,
  a publishable `pk_` key, or a copied key with whitespace.
* **401 or permission error:** add read access to the selected Stripe object, create a replacement
  key, and test again.
* **Expected records are absent:** ensure the key mode (test or live) matches the data you expect.
* **Rate limit:** wait for the retry window; reduce overlapping source schedules if it persists.

## Rotate or revoke access

Create a new restricted key with the same minimum read permissions. Paste it in the source
**Config** tab and use **Test endpoint** before deleting the old key. To revoke access, disable or
delete the source and immediately delete the restricted key in Stripe.

See Stripe's [restricted-key documentation](https://docs.stripe.com/keys#limit-access) and
[API rate limits](https://docs.stripe.com/rate-limits).
