Collect Stripe payment intents in Databricks
Load Stripe payment intents, charges and customers into your own Databricks workspace with a custom OWOX connector. Every attempt to collect becomes a row, ready for conversion analysis and models.
Stripe Endpoints
14 Stripe endpoints you can import. Each lands in its own table in your data warehouse.
Balance transactions
Every movement of money through the Stripe balance: charges, refunds, disputes, fees, payouts, adjustments.
16 fieldsTime seriesCharges
One row per charge attempt: amount, outcome, card details, who paid and which invoice or payment intent it belongs to.
33 fieldsTime seriesCustomers
Every customer object: identity, billing country, delinquency and balance.
17 fieldsDisputes
One row per dispute (chargeback) with its status and evidence deadline.
14 fieldsTime seriesEvents
The audit trail: every change Stripe recorded (invoice.paid, customer.subscription.updated, charge.refunded, …) with the id of the object it concerns.
11 fieldsTime seriesInvoice line items
Every line on every invoice: what was billed, for which price and product, for which period.
19 fieldsInvoices
One row per invoice with amounts, status and period.
31 fieldsTime seriesPayment intents
One row per payment attempt lifecycle: how much was asked for, how much was received, and where it stands.
22 fieldsTime seriesPayouts
One row per transfer from the Stripe balance to the bank account: amount, arrival date, status.
18 fieldsTime seriesPrices
Every price (plan) of every product, active or not, with amount, currency and billing interval.
17 fieldsProducts
The catalogue: every product, active or not.
13 fieldsRefunds
One row per refund: how much was returned on which charge, why, and the balance transaction that reversed the money.
13 fieldsTime seriesSubscription items
The lines of every subscription: which price, how many units.
14 fieldsSubscriptions
One row per subscription in any status (status=all), full refresh every run so cancellations and past-due states are current.
23 fields
Why bring payment attempts into your analytics platform
A charge is one try. A payment intent holds every try and where it stopped, including intents that never reached a charge. To measure conversion at the payment step and train models on it, the attempts have to be loaded into the same warehouse as your product data.
- Measure how many attempts end in a succeeded charge
- Join attempts to customers and product events
- Feed fraud or retry models from the same tables
Step 1: Connect Stripe and pick the fields
Create a Data Mart, choose Stripe as the source and add a restricted API key with read access. Open an endpoint and tick only the fields you need.
- Payment intents carries status, amounts, customer, invoice and latest charge
- A custom connector: the restricted API key is yours
Step 2: Load Stripe into Databricks
Each endpoint becomes its own table, and refresh settings are set in the Data Mart. Run it and the first load lands as a table in a schema of the main catalog in Databricks. The location is pre-filled from your storage, and you can change it.
- Payment intents land in their own table in the Databricks catalog
- Every run is logged in Run History
Step 3: Get a business-friendly Stripe output schema
After the first run you get the output schema: every field with its type and a description. amount_received and amount_capturable sit beside the intended amount.
- status runs from requires_payment_method to succeeded
- latest_charge joins to the charge that was tried last
Step 4: Keep the Stripe tables linked
Customers, payment intents and charges stay separate tables, joined by ids. Together they become the checkout part of one Stripe model.
- Payment intents carry customer; charges carry payment_intent
- Add product events to the same model
Step 5: Schedule the Stripe refresh and backfill history
Set it once. A daily scheduled refresh adds new attempts, and a manual backfill loads earlier periods for modelling.
- Daily runs with no pipeline to maintain
- Backfill attempts for the periods you want to model
Step 6: Reuse the same Stripe table everywhere
One table feeds your model, , , assistants and scheduled insights in Slack or email.
- Define conversion once
- Every report reads the same table
- 0.41.0Rotating a warehouse key is one change: Storages share reusable Credentials
- 0.41.0Dates from Google Sheets arrive as dates, not text
- 0.41.0Shared SQL logic stays in one place: build a Data Mart on top of another
- 0.41.0Rotating a connector key is one change: Sources share reusable Credentials
- 0.40.0Connecting a plan from Google Sheets takes fewer guesses
Why OWOX for Stripe in Databricks
Stripe reports each charge. OWOX loads the attempts around them too, into your own Databricks workspace beside everything else you model.
- You own the data. It lands in your own data warehouse, in tables you control.
- Whole attempts included. Intents that stalled or were canceled are rows, so conversion is measurable.
- Notebook-ready. Tables in Databricks are ready for the models your data team already runs.
- One place to fix. When Stripe's API changes, you publish a new connector version that keeps the field names, so the notebooks keep reading the same tables.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.