.png)

Stripe Connect Integration Guide
Connect platforms and enterprise systems to Stripe Connect through REST APIs, webhook events, account authorization, and workflow orchestration.
Stripe Connect integration options at a glance
Stripe Connect provides a versioned REST API for managing connected Accounts, PaymentIntents, Charges, Transfers, Payouts, ApplicationFees, Customers, and related resources. Platforms can receive event-specific webhook notifications for connected-account activity and payment lifecycle changes. Authentication uses secret or restricted API keys, connected-account context, and OAuth for applicable Connect authorization flows, while webhook requests use signature verification. Stripe list endpoints are cursor-paginated, and the Files API supports selected document workflows. Martini can consume these APIs, receive and validate webhook events, coordinate real-time and scheduled workflows, map Stripe JSON into enterprise models, and apply reconciliation, retry, and idempotency controls.
| Integration point | Supported by Stripe Connect? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Stripe’s primary interface for creating and retrieving Accounts, PaymentIntents, Charges, Transfers, Payouts, ApplicationFees, Customers, and other resources. | Martini can consume Stripe REST endpoints from workflows, map request and response payloads, apply business rules, and expose APIs that orchestrate Stripe operations. |
| Webhooks and outbound callbacks | Yes | Connect platforms can receive selected events such as account.updated, payment_intent.succeeded, charge.refunded, payout.failed, and transfer.created. | Martini can expose a receiving API or workflow entry point, verify Stripe signatures, persist event IDs, route by event type, and process events asynchronously. |
| Authentication | Yes | Stripe supports secret and restricted API keys, connected-account request context, OAuth for applicable Connect flows, and signed webhook requests. | Martini can store keys and webhook secrets in secure environment configuration and call Stripe with the required authentication and account context. |
| Pagination and incremental retrieval | Yes | Stripe list endpoints use cursor-based pagination with parameters such as starting_after and ending_before; reconciliation can combine API reads with webhook events. | Martini workflows can persist cursors or checkpoints, iterate pages, retrieve complete objects, and resume after interruptions. |
| Bulk and asynchronous processing | Limited | Stripe supports paginated collection retrieval and asynchronous processing in selected product flows, but not one general-purpose bulk API for all Connect objects. | Martini can schedule controlled batches, limit concurrency, checkpoint progress, and combine batch retrieval with event-driven updates. |
| File and attachment APIs | Yes | The Files API and File Links support selected identity, dispute, tax, and other document workflows subject to file purpose and account permissions. | Martini can call supported file endpoints, transfer or transform file metadata, and route document information to approved enterprise systems. |
| SDKs | Yes | Stripe publishes SDKs for several programming languages, although the documented Connect integration surface remains the REST API and webhooks. | Martini does not require an SDK for REST consumption and can use custom JVM-compatible logic when implementation-specific client behavior is required. |
How Stripe Connect exposes data and business events
Stripe Connect REST APIs
Stripe’s versioned REST API is the principal integration surface for Connect. It provides operations for connected Accounts, PaymentIntents, Charges, Transfers, Payouts, ApplicationFees, Customers, and other Stripe resources.
Martini implementation pattern
Martini implementation pattern: a workflow or Martini API receives a business request, authenticates to Stripe with the appropriate key and connected-account context, calls the required REST endpoint, maps the JSON response, and persists identifiers and status for later processing.
Implementation sequence
Stripe Connect webhooks
Stripe supports event-specific webhook notifications for platform and connected-account activity. Important events include account.updated, payment_intent.succeeded, charge.refunded, payout.failed, transfer.failed, and balance.available.
Martini implementation pattern
Martini implementation pattern: expose a receiving API, verify the Stripe-Signature header with the configured endpoint secret, durably record the event ID, route by event type, and retrieve the latest Stripe object when the event payload is incomplete or ordering is uncertain.
Implementation sequence
Stripe Connect pagination and reconciliation
Stripe list endpoints return cursor-paginated results rather than an unrestricted complete collection. Stripe does not provide one universal change-data-capture stream for every object, so important processes should combine events with reconciliation reads.
Martini implementation pattern
Martini implementation pattern: a scheduled workflow loads the stored cursor or checkpoint, retrieves pages using Stripe pagination parameters, maps each object, records progress, and resumes safely after transient failures or interrupted runs.
Implementation sequence
Stripe Files API
Stripe provides Files and File Links APIs for supported document and file-use cases, including selected identity, dispute, and tax workflows. Availability depends on file purpose and account permissions.
Martini implementation pattern
Martini implementation pattern: a workflow authenticates with the applicable account context, retrieves or uploads supported file information, validates purpose and permissions, and passes approved metadata or content to an enterprise document or case process.
Implementation sequence
Common Stripe Connect integration patterns
Pattern 1: Orchestrate marketplace payment and settlement
When to use this pattern
Use this pattern when a commerce or booking application needs to collect a payment, apply a platform fee, and coordinate a Transfer for a connected Account. The flow should distinguish payment authorization, settlement, transfer, and later payout states.
Integration direction
Example Mapping
| Stripe Connect Field | Canonical Field | Target Field |
|---|---|---|
| order.id | businessOrderId | metadata.order_id |
| amount | amountMinorUnit | PaymentIntent.amount |
| currency | currencyCode | PaymentIntent.currency |
| seller.accountId | connectedAccountId | Stripe-Account context |
Martini implementation pattern
A Martini API accepts the order or booking request, validates the connected Account, amount, currency, and platform rules, then invokes a workflow to create or confirm the PaymentIntent and coordinate any ApplicationFee or Transfer. The workflow stores Stripe identifiers and uses webhook events for subsequent status changes, with idempotency keys and retry handling for safe recovery.
Martini capabilities used
- APIs
- workflows
- API consumption
- data mapping
- business rules
- idempotency and error handling
Pattern 2: Synchronize connected-account onboarding
When to use this pattern
Use this pattern when an internal platform, CRM, or support team needs current onboarding, capability, requirement, or verification status for connected Accounts.
Integration direction
Example Mapping
| Stripe Connect Field | Canonical Field | Target Field |
|---|---|---|
| Account.id | connectedAccountId | Salesforce Account.stripe_account_id |
| Account.details_submitted | onboardingComplete | Salesforce Account.onboarding_status |
| Account.requirements.currently_due | outstandingRequirements | Salesforce Account.open_requirements |
| Account.capabilities | paymentCapabilities | Salesforce Account.capabilities |
Martini implementation pattern
Martini receives account.updated events for near-real-time updates and runs scheduled reconciliation reads to recover missed events. It maps status and requirements, applies routing rules for accounts needing attention, updates Salesforce, and records failed updates for bounded retry.
Martini capabilities used
- webhook consumption
- scheduled workflows
- data mapping
- validation
- business rules
- error handling
Pattern 3: Reconcile payments, fees, transfers, and payouts
When to use this pattern
Use this pattern when finance teams need complete Stripe Connect activity in an accounting or analytics platform. Webhooks provide timely changes while paginated reads verify completeness and recover from missed processing.
Integration direction
Example Mapping
| Stripe Connect Field | Canonical Field | Target Field |
|---|---|---|
| PaymentIntent.id | paymentReference | NetSuite external_id |
| ApplicationFee.amount | platformFeeMinorUnit | NetSuite fee_amount |
| Transfer.amount | connectedAccountSettlementMinorUnit | NetSuite transfer_amount |
| Payout.arrival_date | payoutDate | NetSuite settlement_date |
Martini implementation pattern
Scheduled Martini workflows traverse Stripe cursors, normalize integer monetary amounts and currency codes, associate related Charges, ApplicationFees, Transfers, and Payouts, and write reconciliation results to NetSuite. The workflow checkpoints progress, handles rate limits with bounded backoff, and sends unmatched or failed items to an exception path.
Martini capabilities used
- scheduling
- workflow orchestration
- pagination handling
- mapping and transformation
- database or API persistence
- retry and monitoring
Pattern 4: Process refunds, disputes, and failed payouts
When to use this pattern
Use this pattern when payment exceptions require operational action in a support, case-management, or order system. Selected Stripe events initiate processing, while API retrieval provides authoritative detail for the case.
Integration direction
Example Mapping
| Stripe Connect Field | Canonical Field | Target Field |
|---|---|---|
| event.type | exceptionType | ServiceNow case_type |
| event.data.object.id | stripeObjectId | ServiceNow external_reference |
| PaymentIntent.status | paymentStatus | ServiceNow payment_status |
| Payout.failure_message | failureReason | ServiceNow work_notes |
Martini implementation pattern
A Martini webhook workflow verifies and records the Stripe event, classifies refunds, disputes, failed payments, or failed payouts, retrieves current object data when needed, and creates or updates a ServiceNow case. Duplicate event IDs are ignored, transient target failures are retried, and unresolved cases remain available for reconciliation.
Martini capabilities used
- webhook consumption
- event routing
- API consumption
- data enrichment
- business rules
- idempotency and error handling
Applications commonly integrated with Stripe Connect
Stripe Connect can be integrated with adjacent business applications when payment, marketplace, onboarding, settlement, or operational data must move between systems. Martini can orchestrate these flows without requiring a dedicated Stripe Connect connector.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Shopify | Synchronize orders, payment status, refunds, and marketplace or seller settlement information where the commerce implementation uses Stripe Connect. | Shopify → Martini → Stripe Connect | Martini receives Shopify order or payment data, validates the connected Account and amount, calls Stripe Connect REST endpoints, stores Stripe identifiers, and routes later payment or refund events back to Shopify. |
| Salesforce | Synchronize Customers, connected-account onboarding status, payment activity, and support or sales context. | Stripe Connect → Martini → Salesforce | A Martini webhook workflow receives relevant Stripe events, retrieves current Account or payment details when needed, maps them to Salesforce objects, and applies idempotent updates. |
| NetSuite | Post payments, fees, transfers, refunds, payouts, and reconciliation results to finance and accounting processes. | Stripe Connect → Martini → NetSuite | Scheduled Martini workflows retrieve paginated Stripe data, normalize monetary values and currencies, map ApplicationFees, Transfers, Charges, and Payouts to NetSuite records, and retry transient failures. |
| ServiceNow | Create operational or finance cases for failed payouts, disputes, account verification issues, and payment exceptions. | Stripe Connect → Martini → ServiceNow | Stripe webhook events initiate Martini workflows that classify the exception, enrich it with current Stripe data, apply routing rules, and create or update a ServiceNow case. |
| Zendesk | Give support agents payment, refund, dispute, and connected-account context while controlling which support actions can be performed. | Stripe Connect → Martini → Zendesk | Martini maps Stripe Customers, PaymentIntents, Charges, and Disputes into Zendesk context and exposes controlled APIs for authorized support actions. |
| Jira | Create engineering or operations issues for recurring webhook failures, reconciliation exceptions, or integration incidents. | Stripe Connect → Martini → Jira | Martini monitors workflow outcomes, groups repeated Stripe event or reconciliation failures, and creates Jira issues with correlation identifiers and diagnostic status. |
| Workday | Support finance or supplier-payment processes where Stripe payouts or platform activity must be reconciled with enterprise records. | Stripe Connect → Martini → Workday | A scheduled Martini workflow retrieves and transforms payout and settlement data, applies enterprise matching rules, and sends approved results to Workday through its configured interface. |
| Snowflake | Load Stripe payment, transfer, payout, and account data for reporting or reconciliation analytics without direct Stripe database access. | Stripe Connect → Martini → Snowflake | Martini combines webhook-driven changes with paginated REST retrieval, canonicalizes Stripe JSON, and writes approved datasets to Snowflake through the organization’s supported ingestion interface. |
How to build a Stripe Connect integration in Martini
Objective
Establish the Stripe Connect API and webhook security model before implementing business flows.
Instructions in Martini
- Store secret or restricted API keys and webhook signing secrets in Martini secure environment configuration.
- Choose the required connected-account context and OAuth approach where applicable.
- Keep publishable keys out of server-side secret configuration unless they are specifically needed by the surrounding client architecture.
Objective
Select event-driven, API-led, and scheduled entry points according to the Stripe process and its event coverage.
Instructions in Martini
- Use a Martini API for payment, transfer, account, or other synchronous business requests.
- Use a webhook entry point for selected Stripe events.
- Use a scheduler for pagination, reconciliation, and recovery workflows.
Objective
Collect Stripe data safely and obtain complete object state when event payloads or list responses are insufficient.
Instructions in Martini
- Verify the Stripe-Signature header before trusting webhook contents.
- Retrieve the current Stripe object when event ordering or payload completeness requires it.
- Traverse cursor-paginated collections and persist progress for resumable synchronization.
Objective
Coordinate Stripe operations, internal persistence, downstream calls, and asynchronous processing in a maintainable Martini workflow.
Instructions in Martini
- Separate validation, Stripe API calls, transformation, target writes, and exception handling into clear workflow stages.
- Apply connected-account and platform-account routing rules.
- Use asynchronous processing when webhook acceptance should be decoupled from downstream work.
Objective
Convert Stripe JSON and financial status values into canonical enterprise models without losing identifiers or currency precision.
Instructions in Martini
- Map actual Stripe objects such as Account, PaymentIntent, Charge, Transfer, ApplicationFee, and Payout.
- Preserve integer minor-unit amounts and explicit currency codes.
- Store Stripe object IDs, event IDs, business identifiers, and processing status.
Objective
Prevent duplicate financial actions and distinguish retryable failures from permanent validation or authorization errors.
Instructions in Martini
- Use deterministic idempotency keys for supported Stripe mutations.
- Record processed webhook event IDs and handle out-of-order delivery.
- Apply bounded exponential backoff for rate limits and transient failures.
Common Stripe Connect data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Account | Represents the platform account or a connected account, including onboarding, capabilities, requirements, and verification state. | Salesforce, ServiceNow, Workday, internal platform databases | Martini receives account.updated events or retrieves Accounts through paginated API calls, then maps account status and connected-account context to the target model. |
| PaymentIntent | Tracks an attempt to collect payment through confirmation and settlement-related states. | Shopify, Salesforce, order management systems, accounting platforms | Martini creates or retrieves PaymentIntents, stores business and Stripe identifiers, maps lifecycle states, and uses idempotency keys for supported mutation requests. |
| Charge | Represents a charge created against a payment method or through a PaymentIntent, including successful and refunded activity. | NetSuite, Snowflake, customer support platforms | Martini consumes charge events or paginated API results, normalizes amounts and currencies, and routes refunds or exceptions according to business rules. |
| Transfer | Moves funds from a platform Stripe account to a connected Account. | NetSuite, finance systems, reconciliation databases | Martini validates connected-account context, records transfer identifiers, reconciles transfer status, and prevents duplicate financial actions through idempotent workflow design. |
| Payout | Represents funds paid from a Stripe balance to an external bank account or payout destination. | NetSuite, Workday, ServiceNow, Snowflake | Martini processes payout.paid and payout.failed events, supplements them with API retrieval where necessary, and maps payout states into finance or exception workflows. |
| ApplicationFee | Represents a platform fee collected from a transaction involving a connected Account. | NetSuite, Snowflake, finance reporting systems | Martini retrieves and transforms fee data, associates it with the related payment or transfer, and applies reconciliation and currency rules. |
Authentication and security considerations
Authentication and account context
Stripe Connect supports secret and restricted API keys for server-to-server access, OAuth for applicable Connect authorization flows, and requests made in the context of a connected account. Publishable keys are intended for selected client-side operations and do not replace trusted server authentication.
Webhook verification
Stripe signs webhook requests. Martini workflows should verify the Stripe-Signature header with the endpoint signing secret before processing event data, and the secret should be stored in secure environment configuration.
Least privilege and sensitive data
- Use the narrowest applicable API key, OAuth permission, and connected-account access.
- Do not expose secret keys in client-side code or workflow logs.
- Limit payment, identity, and personally identifiable information in logs and downstream payloads.
Operational considerations for Stripe Connect integrations
Rate limits and retries
Handle HTTP 429 responses and transient failures with bounded exponential backoff, appropriate concurrency limits, and retry-related response guidance where applicable.
Pagination and reconciliation
Stripe list endpoints are cursor-paginated. Persist cursors or checkpoints, resume interrupted runs, and combine webhook events with scheduled reads for completeness.
Idempotency and event ordering
Use idempotency keys for supported financial mutations, record processed event IDs, and do not assume webhook events arrive in business order. Retrieve current object state when necessary.
Versions and financial precision
Manage Stripe API versions explicitly, test changes outside production, preserve integer amounts in minor currency units, and distinguish payment, transfer, payout, refund, and dispute states.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Stripe API calls, webhook intake, internal services, databases, and enterprise applications in workflows rather than scattering logic across scripts and point-to-point interfaces.
Reusable integration assets
Teams can expose controlled APIs, reuse validation and transformation logic, and apply consistent authentication, account-context, idempotency, retry, and reconciliation patterns across Stripe Connect processes.
Operational reliability
Martini provides workflow-level error handling, checkpointing, monitoring, and routing for exceptions. This is useful when payment and settlement processes require traceability beyond a single API call.
Frequently asked questions
Stripe Connect integrates primarily through its versioned REST API and event-specific webhooks. Enterprise workflows can manage connected Accounts, PaymentIntents, Charges, Transfers, Payouts, ApplicationFees, and Customers, while scheduled paginated retrieval supports reconciliation and recovery. Stripe also documents API keys, connected-account context, applicable OAuth flows, and signed webhook requests.
Yes. Martini can consume the Stripe REST API, receive Stripe Connect webhook events, use secure API-key and webhook-secret configuration, map Stripe JSON into enterprise models, and orchestrate payment, onboarding, settlement, reconciliation, and exception workflows.
No. A dedicated Stripe Connect connector is not required. Martini can integrate through Stripe’s documented REST API, webhook events, authentication mechanisms, connected-account request context, and supported Files API endpoints.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Stripe Connect. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Stripe, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.
The Stripe REST API is the primary method for synchronous operations and data retrieval. Webhooks are appropriate for selected asynchronous state changes, while scheduled cursor-based API reads support reconciliation and recovery. The Files API is relevant only for supported document use cases and permissions.
Yes. Martini can expose an API or workflow entry point for Stripe webhook requests. The implementation should verify the Stripe-Signature header, persist event IDs, route by event type and account context, and retrieve current Stripe data when the event payload is incomplete or out of order.
Stripe list endpoints use cursor-based pagination, so Martini should persist cursors or checkpoints and resume interrupted reads. Webhook processing should record Stripe event IDs, use idempotent workflows, and combine event-driven updates with scheduled reconciliation for important financial data.
Martini can map Stripe objects and JSON payloads into canonical enterprise models, validate amounts and currencies, apply business rules, and route results to target systems. Workflows can distinguish validation or authorization failures from transient errors, apply bounded retries and backoff, and preserve failed items for operational review.
Related Martini documentation
Workflows
Build your Stripe Connect integration with Martini
Use Martini to connect Stripe Connect with enterprise applications through secure APIs, webhook-driven workflows, reconciliation processes, and reusable data transformations.