Stripe

Stripe is a cloud platform that allows private individuals and companies to accept payments over the Internet.

Data integration: Skyvia supports importing data to and from Stripe, exporting Stripe data to CSV files, replicating Stripe data to relational databases, and synchronizing Stripe data with other cloud apps and relational databases.

Backup: Skyvia Backup supports Stripe backup.

Query: Skyvia Query supports Stripe.

Establishing Connection

To create a connection with Stripe, specify the API Key or Secret Key.

Connection Editor window

Getting Credentials

API Key

You can use different types of API keys for Stripe connection.

Publishable Key — an automatically generated REST API key for connecting to Stripe.
Secret Key - API Key used for full access to Stripe objects.
Restricted Key - API Key used for custom access configuration.

More details on Stripe API keys are available here.

To get the API key, perform the following steps:

  1. Go to Stripe.

  2. Click Developers and move to API Keys tab.

    Stripe API Keys

  3. Generate an API key of the needed type or copy the existing one.

Creating Connection

Enter the obtained API Key to the corresponding box to connect to Stripe.

Additional Connection Parameters

Connected Account Id

Enter this parameter if you want to retrieve data from the connected account. The connected account ID value should look like acct_XXXXXXXXXXXXXXXX. When the connected account ID is specified, all the queries and data-related operations in Skyvia are executed against the connected account instead of the main account.

Use Payment Plans

Select this checkbox to enable invoice payment plans. Invoice payment plans allow you to break up an invoice’s total amount into separate payments with different due dates.

As of October 2025, this feature is in private preview. Select this checkbox only if your Stripe account has access to payment plans.

Connector Specifics

Object Peculiarities

Accounts

There are three types of Stripe accounts: standard, custom, and express. Stripe API supports INSERT operation for standard and custom accounts and the UPDATE operation for custom accounts.

Charges

To import data to this object, you must map the CustomerId field. It has to be a customer that has at least one card.

Invoices

Payment Plans currently cannot be collected automatically. If Use Payment Plans checkbox is selected, only the Send Invoice constant can be used for CollectionMethod field. You also need to map the AmountsDue nested object.

Plans

Stripe does not autogenerate the Id field. You must map it to a constant or a unique field to insert data into this object.

Transfers

To import data to this object, you must specify an ID from the Account object as the DestinationId value. Make sure your Stripe account balance covers the transfer amount.

Nested Objects

The following fields store complex structured data in JSON format.

Object Field
BalanceTransactions FeeDetails
Disputes BalanceTransactions
Invoices AmountsDue

Filtering Specifics

Stripe API supports the following native filters:

Objects Fields and Operators
BalanceTransactions *Type * (=), CreatedDate (=, <, <=, >, >=)
Charges *CustomerId * (=), CreatedDate (=, <, <=, >, >=)
Customers Name (=)
Files Purpose (=)
PaymentIntents CustomerId (=)

Incremental Replication and Synchronization

Skyvia fully supports the Incremental Replication for the Products, Orders, and ReportTypes objects. Incremental Replication detects only new records for the Accounts, AllSubscriptionItems, AllSubscriptions, ApplicationFeeRefunds, ApplicationFees, BalanceTransactions, Charges, Coupons, CreditNotes, CustomerBalanceTransactions, Customers, CustomerTaxIds, Disputes, EarlyFraudWarnings, Events, FileLinks, Files, InvoiceItems, Invoices, PaymentIntents, PaymentMethods, Payouts, Persons, Plans, Prices, Quotes, Refunds, Reports, Returns, Reviews, SetupIntents, SKUs, SubscriptionItems, Subscriptions, SubscriptionSchedules, TaxRates, Top-ups, TransferReversals, Transfers, ValueListItems, ValueLists, and WebhookEndpoints objects.

Skyvia fully supports Synchronization for the Products object. Synchronization tracks only new records for the Accounts, AllSubscriptionItems, AllSubscriptions, Charges, CreditNotes, CustomerBalanceTransactions, Customers, FileLinks, Invoices, InvoiceItems, PaymentIntents, Persons, Plans, Prices, Quotes, SetupIntents, SKUs, SubscriptionItems, Subscriptions, SubscriptionSchedules, TaxRates, Top-ups, Transfers, and ValueLists objects.

DML Operations Support

Skyvia supports the following DML operations for Stripe objects.

Operation Object
INSERT, UPDATE, DELETE Accounts, AllSubscriptionItems, BankAccounts, Cards, Customers, ExternalAccounts_BankAccounts, ExternalAccounts_Cards, InvoiceItems, Locations, Persons, Plans, Products, Readers, Skus, SubscriptionItems, ValuesLists
INSERT, UPDATE AllSubscriptions, Charges, CreditNotes, CustomerBalanceTransactions, FileLinks, Invoices, PaymentIntents, PaymentMethodConfigurations, PaymentMethodDomains, Prices, Quotes, Subscriptions, TaxRates, Top-ups, Transfers, SubscriptionSchedules
INSERT, DELETE Coupons, CustomerTaxIds, ValueListItems
INSERT ApplicationFeeRefunds, PaymentMethods, Payouts, Refunds, Reports, SetupIntents, TransferReversals, UsageRecords
UPDATE Disputes

Stored Procedures

CloseDispute

To close a dispute for a charge and change its status from needs_response to _lost, run the command:

call CloseDispute(:disputeId)

An example of a command:

call CloseDispute('du_1MtJUT2eZvKYlo2CNaw2HvEv')

If an object with the specified ID doesn’t exist, the procedure returns an error.

CancelPaymentIntent

To cancel a payment intent, run the command:

call CancelPaymentIntent(:payment_intent_id, :cancellation_reason)

An example of a command:

call CancelPaymentIntent('pi_3MtwBwLkdIwHu7ix28a3tqPa', 'requested_by_customer')

Accepted parameters:

PARAMETER NAME DESCRIPTION
cancellation_reason The reason of canceling the payment intent. Can have one of the following values: 'duplicate', 'fraudulent', 'requested_by_customer', or 'abandoned'.

If an object with the specified ID doesn’t exist, the procedure returns an error.

CancelSetupIntent

To cancel a setup intent, run the command:

call CancelSetupIntent(:setup_intent_id, :cancellation_reason)

An example of a command:

call CancelSetupIntent('seti_1Mm8s8LkdIwHu7ix0OXBfTRG', 'requested_by_customer')

Accepted parameters:

PARAMETER NAME DESCRIPTION
cancellation_reason The reason of canceling the setup intent. Can have one of the following values: 'duplicate', 'requested_by_customer', or 'abandoned'.

If an object with the specified ID doesn’t exist, the procedure returns an error.

CancelPayout

To cancel a pending payout, run the command:

call CancelPayout(:payout_id)

An example of a command:

call CancelPayout('po_1Oj6B8rU4sY9X3L2mQ6T5fZ1')

If an object with the specified ID doesn’t exist, the procedure returns an error.

ReversePayout

To reverse a payout, run the command:

call ReversePayout(:payout_id)

An example of a command:

call ReversePayout('po_1Oj6B8rU4sY9X3L2mQ6T5fZ1')

If an object with the specified ID doesn’t exist, the procedure returns an error.

CancelRefund

To cancel a refund with the status "requires_action", run the command:

call CancelRefund(:refund_id)

An example of a command:

call CancelRefund('re_1Nispe2eZvKYlo2Cd31jOCgZ')

If an object with the specified ID doesn’t exist, the procedure returns an error.

AttachPaymentMethodToCustomer

To attach a payment method to a customer, run the command:

call AttachPaymentMethodToCustomer(:payment_method_id, :customer)

An example of a command:

call AttachPaymentMethodToCustomer('pm_1MqM05LkdIwHu7ixlDxxO6Mc', 'cus_NbZ8Ki3f322LNn')

Accepted parameters:

PARAMETER NAME DESCRIPTION
customer ID of the corresponding customer.

If an object with the specified ID doesn’t exist, the procedure returns an error.

DetachPaymentMethodFromCustomer

To detach a payment method to a customer, run the command:

call DetachPaymentMethodFromCustomer(:payment_method_id)

An example of a command:

call DetachPaymentMethodFromCustomer('pm_1MqM05LkdIwHu7ixlDxxO6Mc')

If an object with the specified ID doesn’t exist, the procedure returns an error.

AttachPaymentToInvoice

To attach payment to an invoice, run the command:

call AttachPaymentToInvoice(:InvoiceId. :AmountRequested, :PaymentIntentId, :PaymentRecord)

Accepted parameters:

PARAMETER NAME DESCRIPTION
InvoiceId The Id of the invoice. This parameter is required.
AmountRequested The portion of the payment to apply to the invoice.
PaymentIntentId The Id of the payment intent to attach to the invoice. You can specify either PaymentIntentId or PaymentRecord
PaymentRecord The Id of the payment record to attach to the invoice.

If an object with the specified ID doesn’t exist, the procedure returns an error.

Supported Actions

Skyvia supports all the common actions for Stripe.