Stripe Reader
Stripe is an online payment processor that is specifically geared towards online payments. Stripe’s APIs enable secure processing of payments across various global payment methods and currencies. Their APIs and the Dashboard centralise reporting, provide real-time data on charges, fees, refunds, and transfers.
Stripe Reader ingests Stripe data and emits WAEvents that can be processed with continuous queries or directed to a Striim target.
Typical use cases for reading from Stripe include:
To create dashboards or reports based on the payment data of customers to detect fraud, rate of payment declines, payout reconciliations, and revenue recognition.
Automatically importing transactions into accounting software like NetSuite, Xero and Quickbooks Desktop.
You can read from Stripe, and write to any target supported by Striim.
Summary information
APIs used/data supported | Stripe API |
Data supported | Standard Stripe objects |
Supported targets | Any Striim target that accepts WAEvents |
Security and authentication | API Key with Stripe account ID or OAuth |
Operations supported |
|
Schema management | The Stripe Reader can migrate the source schema from Stripe to the target. |
Resilience / recovery | The Stripe Reader recovers data based on the value of the Incrmental Load marker. |
Programmability |
|
Metrics and auditing | Key metrics available through Striim monitoring |
Key limitations |
|
Create a Stripe Reader application
Create a Stripe Reader application using a wizard
This procedure uses the results of the earlier procedures to configure the Stripe Reader in an instance of Striim.
Log in to a Striim instance.
Click Create an App from the Apps menu.
Click Stripe as your source, and specify a target. Click Get Started.
In Name, type a name for the app, then select a Namespace from the drop-down.
Click Save.
The wizard advances to the next step.
Select Authenticate using OAuth or Authenticate using API Key, as suited to your use case.
Selecting Authenticate using API Key hides the Sign in using OAuth button, displaying the API Key field instead.
Note
When you authenticate using OAuth, you grant Striim read permissions to your Stripe account. Because they require a higher level of permissions, the Stripe Reader can't read the following tables when you choose to authenticate using OAuth.
Accounts
BankAccounts
BalanceChangeFromActivitySummaryReport
BalanceSummaryReport
EndingBalanceReconciliationSummaryReport
ItemizedBalanceChangeFromActivityReport
ItemizedEndingBalanceReconciliationReport
ItemizedPayoutReconciliationReport
ItemizedPayoutsReport
ItemizedReconciliationForASinglePayoutReport
PayoutsReconciliationSummaryForASinglePayoutReport
PayoutsReconciliationSummaryReport
PayoutsSummaryReport
Reports
ValueLists
ValueListItems
(To authenticate with OAuth) Enter the Client ID, Client Secret, and Refresh Token.
To authenticate with the API key, paste the API key into the API key field.
If the Stripe account in use is a connected account, activate the Connected Account toggle.
A Connected Account is a Stripe account that sends money to a Stripe merchant account. Connected Accounts can only authenticate with an API Key, not with OAuth.
Click Next.
The wizard validates the authentication information and displays the results.
Click Next.
The wizard displays a list of objects available on the Stripe instance.
Select the objects to ingest and click Next.
The wizard advances to the next step.
Click Next.
The wizard displays summary information.
Click Save & Run.
The application saves and begins running.
Create a Stripe Reader application using TQL
The following TQL reads Stripe data from the Customers
object and writes that data to the system output.
CREATE OR REPLACE APPLICATION StripeSampleApp; CREATE OR REPLACE SOURCE StripeILInput USING Global.StripeReader ( Mode: 'InitialLoad', ApiKey: '****', AccountId: '****', Tables: 'Customers', MigrateSchema: true ) OUTPUT TO StripeILStream; CREATE TARGET StripeILOut USING Global.SysOut ( name: 'StripeIL' ) INPUT FROM StripeILStream; END APPLICATION StripeSampleApp;
The following TQL writes change data from the Customers
object to the system output.
CREATE OR REPLACE APPLICATION StripeSampleApp; CREATE OR REPLACE SOURCE StripeCDCInput USING Global.StripeReader ( Mode: 'IncrementalLoad', AccountId: '****', ApiKey: '****', Tables: 'Customers', IncrementalLoadMarker: 'Created' ) OUTPUT TO StripeCDCStream; CREATE TARGET StripeCDCOut USING Global.SysOut ( name: 'StripeCDC' ) INPUT FROM StripeCDCStream; END APPLICATION StripeSampleApp;