# Stripe integration for paid acquisition

Hendrik reads Stripe balance transactions, charges, payment intents, refunds, subscriptions, invoices, and disputes so you can separate payment collection from storefront orders.

## Questions Hendrik can help answer

- Do payment and refund facts explain a storefront gap?
- Did disputes or failed payments change the commercial result?
- Is a payment to order match confirmed or only an aggregate comparison?

## Illustrative example

### Compare payment and storefront refund movement

Same 30-day USD windows

*About this example: Synthetic data · illustrative analysis · Hendrik only acts with the permissions you give it.*

- Store refund value (Shopify): US$8,000 → US$13,500
- Processor refund amount (Stripe): US$7,600 → US$9,100
- Disputes opened (Stripe): 8 → 23

### What Hendrik checks

- **Check source scope:** Confirm whether Shopify payments in scope are processed by this Stripe account.
- **Compare dates:** Keep refund creation and payment dates visible.
- **Qualify matching:** Do not assert transaction reconciliation without a proven payment reference.

### What Hendrik sees

Store refunds, processor refunds, and disputes all increased.

### What to do next

Review disputes and payment coverage before treating the store refund increase as complete.

**Limit:** This is an aggregate comparison, not a transaction-level reconciliation.

## What Stripe contributes

Use Stripe with WooCommerce or Shopify and ad data to see whether demand weakened or more payments failed, refunded, or became disputed.

## Data Hendrik reads

- **Charges and payment intents:** Processor payment state.
- **Refunds:** Processor refund records.
- **Disputes:** Dispute data.
- **Balance transactions:** Processor balance movement records.
- **Invoices and subscriptions:** Subscription billing data.

## Setup and access

- **Setup:** When enabled, sign in with Stripe and confirm the account and live or test mode.
- **Permissions:** Stripe Apps OAuth permission (`stripe_apps`). Hendrik uses the connected account to read payment data.
- **Accounts:** One Stripe account and mode.
- **History:** The current product configuration defaults to 90 days. Hendrik shows the actual coverage after the first sync.
- **Refresh:** Configured data streams run from hourly to every 6 hours. Hendrik shows the published freshness for each source after sync.
- **Setup timing:** Stripe starts its initial sync after authorization, account selection, and data checks. The duration depends on the selected account and history.
- **Actions:** Connecting reads Stripe data. It does not create charges, refunds, subscriptions, or payment changes.
- **Availability:** Your workspace shows Connect or Request access for your account.

## What you need to connect

- Confirm the customer’s Stripe account and currency scope.
- State the payment, refund, dispute, or balance date being used.
- Establish an order-to-payment relationship before transaction reconciliation.

## Important limits

- Stripe means customer payment data, not Hendrik billing data.
- Stripe amounts must not be added to commerce revenue as extra revenue.
- Payment settlement and storefront order dates can differ.

## Provider documentation

- [Stripe API](https://docs.stripe.com/api)

## Start with Stripe

[Create a workspace and connect Stripe](https://app.withhendrik.com/auth?mode=sign-up&acquisition_channel=marketing&return_to=%2Fonboarding%2Factivation&cta_location=integration_markdown&landing_page_id=integration-stripe&integration=stripe)
