Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Stripe

This documentation for the Stripe integration describes the technical capabilities of this integration, including authorization, scopes/permissions, and utilized endpoints. For more information on how to integrate Stripe, visit our connection instructions.

Version

This integration utilizes the Stripe API v1.

Base URL

The base URL used for all Stripe API endpoints:
https://api.stripe.com/v1

Authentication & Authorization

The DataGrail Stripe integration connects using API Key authentication which requires an API Key.

Sensitive Credentials
Publicly exposing your API credentials can allow unauthorized access to Stripe API endpoints by a third party. DataGrail stores your API credentials encrypted and protected.

Scopes

The Stripe integration requires specific scopes that must be granted in order to function for a given capability.

ScopeAccessDeletionData Discovery
Charges
Disputes✳️
Customers
Events✳️
PaymentIntents
PaymentMethods
Sources
Invoices
Subscriptions
Orders
Authorizations✳️
Cardholders✳️
Cards✳️
Transactions✳️
All Connect resources
Checkout Sessions✳️
Identity Verification Sessions and Reports
Payment Links✳️
Reviews✳️
Tax Settings and Registrations
Refunds✳️
Accounts✳️
Identity Verification Reports✳️
Payouts✳️
Setup Intents✳️
Tax Settings✳️
Top-ups✳️
External Accounts✳️
Persons✳️
Treasury Financial Accounts✳️
✳️ optional scope

Endpoints Utilized

DataGrail uses the following endpoints to authorize and test the connection:


Limits

Limits in Stripe are calculated using the leaky bucket algorithm. All requests that are made after rate limits have been exceeded are throttled and an HTTP 429 Too Many Requests error is returned. Requests succeed again after enough requests have emptied out of the bucket.

  • DataGrail supports requests throttling to stay within 70-80% of specified service rate limits.
  • DataGrail processes API responses with HTTP 429 status to interrupt requests, waiting and retrying (using an exponential backoff strategy).

Capabilities

Access

DataGrail's Stripe integration provides Synchronous Access capabilities for the following supported identifier category: Email.

Data Interactions

For Access requests, DataGrail will take the following actions:

  1. Search for Customers using the Data Subject email address.
  2. Retrieve a Customer using a Service ID, which Stripe treats like a "customer ID."
  3. If a match is found, DataGrail will extract all objects related to the Customer:
Match Found
  • tax IDs
  • bank accounts
  • cards
  • charges
  • payment methods
  • payment intents
  • invoices
  • subscriptions
  • orders
  1. Search for cardholders whose email matches the email from the Data Subject provided in the request.
  2. If a match is found, DataGrail will extract all objects related to the cardholders:
Match Found
  • authorization objects
  • cards
  • transactions

Endpoints Utilized

MethodEndpointPurposeDocs
GET/chargesReturns a list of charges you’ve previously created
GET/customersReturns a list of your customers
GET/customers/customer_idReturns a list of your customers
GET/customers/customer_id/tax_idsReturns a list of tax IDs for a customer
GET/invoicesReturns a list of all invoices, or list the invoices for a specific customer
GET/issuing/authorizationsReturns a list of Issuing Authorization objects
GET/issuing/cardholdersReturns a list of Issuing Cardholder objects
GET/issuing/cardsReturns a list of Issuing Card objects
GET/ordersReturns a list of your orders
GET/payment_intentsReturns a list of PaymentIntents
GET/payment_methodsReturns a list of PaymentMethods for Treasury flows
GET/subscriptionsReturns a list of subscriptions that have not been canceled
GET/transactionsReturns a list of Issuing Transaction objects

Deletion

DataGrail's Stripe integration provides Synchronous Deletion capabilities for the following supported identifier category: Email.

Data Interactions

For Deletion requests, DataGrail will take the following actions:

  1. Request a customer be permanently deleted. It cannot be undone and also immediately cancels any active subscriptions on the customer.
  2. Deletes bank accounts from a customer.
  3. Deletes cards from a customer.

Endpoints Utilized


Data Discovery

DataGrail's Stripe integration provides data discovery capabilities based on the principle of finding any and all personal data that's stored in a data system.

Data Interactions

For discovery requests, DataGrail will take the following actions:

  1. Count number of all records for each of supported objects.
  2. Fetch example records for each of the supported objects.
Supported Objects
  • Customers
  • Payment Methods
  • Charges
  • Payment Intents
  • Invoices
  • Subscriptions
  • Orders
  • Customer Bank Accounts (related to the customer)
  • Cards (related to the customer)
  • Tax IDs (related to the customer)
  • Disputes
  • Events
  • Refunds
  • Accounts
  • Checkout Sessions
  • Identity Verification Reports
  • Payment Links
  • Payouts
  • Reviews
  • Setup Intents
  • Tax Settings
  • Top-ups
  • External Accounts (related to owner's account)
  • Persons (related to owner's account)
  • Cardholders
  • Authorizations
  • Cards
  • Transactions
  • Treasury Financial Accounts
  1. Sample data for the next analysis and classification.

Endpoints Utilized

MethodEndpointPurposeDocs
GET/accountsReturns a list of accounts connected to your platform via Connect
GET/chargesReturns a list of charges you’ve previously created
GET/checkout/sessionsReturns a list of Checkout Sessions
GET/customersReturns a list of your customers
GET/customers/account_id/external_accountsReturns a list of all bank accounts
GET/customers/account_id/personsReturns a list of all persons
GET/customers/customer_id/bank_accountsReturns a list of all bank accounts
GET/customers/customer_id/cardsReturns a list of all cards
GET/customers/customer_id/tax_idsReturns a list of tax IDs for a customer
GET/disputesReturns a list of your disputes
GET/eventsReturns a list of all events
GET/financial_accountsReturns a list of all Financial Accounts
GET/identity/verification_reportsReturns a list of all verification reports
GET/invoicesReturns a list of all invoices, or list the invoices for a specific customer
GET/issuing/authorizationsReturns a list of Issuing Authorization objects
GET/issuing/cardholdersReturns a list of Issuing Cardholder objects
GET/issuing/cardsReturns a list of Issuing Card objects
GET/ordersReturns a list of your orders
GET/payment_intentsReturns a list of PaymentIntents
GET/payment_linksReturns a list of your payment links
GET/payment_methodsReturns a list of PaymentMethods for Treasury flows
GET/payoutsReturns a list of existing payouts
GET/refundsRefund objects allow you to refund a previously created charge that isn’t refunded yet.
GET/reviewsReturns a list of Review objects that have open set to true.
GET/setup_intentsReturns a list of SetupIntents
GET/subscriptionsReturns a list of subscriptions that have not been canceled
GET/tax/settingsRetrieves Tax Settings for a merchant
GET/topupsReturns a list of top-ups
GET/transactionsReturns a list of Issuing Transaction objects

 

Need help?
If you have any questions, please reach out to your dedicated Account Manager or contact us at support@datagrail.io.

Disclaimer: The information contained in this message does not constitute as legal advice. We would advise seeking professional counsel before acting on or interpreting any material.