← Integrations

Stripe

Available now Revenue

Pulls payments, refunds, fees, payouts and subscription renewals so revenue and Stripe costs show up without manual entry.

What we pull

  • charges
  • refunds
  • balance transactions (fees, net)
  • payouts
  • subscriptions and invoices
  • disputes

Every record lands as a financial event with source_type, external_id (deduplicated on re-sync) and provenance. Mode: live.

Signals and sync

  • Webhooks deliver changes in real time; a scheduled sync fills gaps.
  • Sync interval: every 15 minutes plus webhooks.
  • Health signals: auth_expired, silent (no sync for over twice the interval), error. Each becomes an in-app notification for the owner and shows in Integrations.

Permissions and secrets

  • Restricted API key: Charges (Read)
  • Refunds (Read)
  • Balance and Balance transactions (Read)
  • Payouts (Read)
  • Subscriptions (Read)
  • Invoices (Read)
  • Customers (Read)
  • Disputes (Read)
  • Events (Read)
  • Webhook endpoint signing secret

Secrets are encrypted at rest (AES-256-GCM, per-owner) and never returned by the API; the panel shows only the last 4 characters and the date. Read-only keys wherever the provider offers them.

Availability

Live: connect it from the panel (Integrations → Connect).

Setup steps

From the Integrator’s owner checklist (Polish; the panel walks you through the same steps).

A1. Restricted key (tylko odczyt)

  1. Zaloguj się na https://dashboard.stripe.com i włącz przełącznik Test mode (prawy górny róg).
  2. Developers (dół lewego menu) → API keys+ Create restricted key.
  3. Nazwa: Operlance read-only. Wybierz Providing this key to another website → nie; zwykły restricted key.
  4. Uprawnienia: ustaw Read dla: Charges, Refunds, Payouts, Balance, Balance transactions, Subscriptions, Invoices, Customers, Disputes, Events. Wszystko inne zostaw None. Żadnego Write.
  5. Create key → skopiuj rk_test_… → Railway: STRIPE_SECRET_KEY. Klucz jest pokazany raz. Standardowego sk_test_… nie kopiuj nigdzie.

A2. Webhook endpoint

  1. Developers → Webhooks → + Add endpoint (jeśli zobaczysz nowy widok „Event destinations”: + Add destinationWebhook endpoint).
  2. Endpoint URL: https://api-production-3516.up.railway.app/v1/webhooks/stripe
  3. Listen to: Events on your account. Select events: zaznacz dokładnie: charge.succeeded, charge.failed, charge.refunded, refund.created, invoice.paid, invoice.payment_failed, customer.subscription.deleted, charge.dispute.created, payout.paid, payout.failed.
  4. Add endpoint → na stronie endpointu Signing secret → Reveal → skopiuj whsec_… → Railway: STRIPE_WEBHOOK_SECRET.
  5. Test: na stronie endpointu Send test eventcharge.succeeded. W panelu Operlance (Integrations) powinien pojawić się status connected i ostatni sync.

Live (prawdziwe pieniądze) robimy dopiero po Twojej osobnej zgodzie: te same kroki bez Test mode, klucz rk_live_….