This integration was created by Stitch for Singer, an open-source, composable ETL platform. Check out & contribute to the repo on GitHub.
Braintree is currently in Open Beta. The info in this article is subject to change.
Release Status | Open Beta | Availability | Free |
Status Page | Braintree Status Page | Default Historical Sync | 1 year |
Whitelist Tables/Columns | Unsupported/Unsupported | Default Replication Frequency | 30 minutes |
Full Table Endpoints | 0 | Incremental Endpoints | 1 |
Destination Incompatibilities | None |
Connecting Braintree
Connecting Stitch to Braintree is a four (sometimes five)-step process:
- Whitelist Stitch’s IP addresses in Braintree
*
- Retrieve your Braintree API credentials
- Add Braintree as a Stitch data source
- Define the Historical Sync
- Define the Replication Frequency
*
This step is only required if you restrict IP access to your Braintree account.
Prerequisites
To successfully complete the setup in Stitch, you must have:
- Access to a Production Braintree account. Stitch does not currently support connecting to Sandbox accounts.
- Super Admin and API Access permissions in Braintree. This is required to create the API access token in Braintree. You can find info on Braintree user roles and permissions here.
Additionally, our Braintree integration will only replicate transactions for the default merchant account in your Braintree instance. You can verify the merchant account set as the default by going to Settings > Processing > Merchant Accounts when signed into Braintree.
Whitelisting Stitch’s IP Addresses in Braintree
This step is only required if you restrict IP access to your Braintree account. If you don’t use this feature, skip to the next section.
If you use Braintree’s IP restriction feature, you’ll need to whitelist Stitch’s IP addresses before you can successfully connect Braintree to Stitch.
- Sign into your Braintree account.
- Click Settings > Security.
- In the Security Options page, click Edit in the IP and Hostname Restrictions section.
- In the IP Address or Hostname field, paste one of the IP addresses from the following list:
- [ Stitch IP addresses ]
- Check the Allow API Access box.
- Click Add Allowed Host.
- Repeat steps 4-6 for each Stitch IP address in the list above.
- After all of Stitch’s IP addresses have been added, click Enable Restrictions.
Retrieving Your Braintree API Credentials
- If you haven’t already, sign into your Braintree account.
- Click Account > My User.
- Scroll down to the API Keys, Tokenization Keys, Encryption Keys section and click View Authorizations.
- In the API Keys section, click Generate New API Key.
- After the key has been generated, click the View link in the Private Key column.
-
This will display the Client Library Key page, which contains your Braintree API credentials:
Leave the Braintree Client Library Key page open for now - you’ll need the Public Key, Private Key, and Merchant ID to complete the setup in Stitch.
Add Braintree as a Stitch Data Source
- On the Stitch Dashboard page, click the Add an Integration button.
-
Click the Braintree icon.
-
Enter a name for the integration. This is the name that will display on the for the integration; it’ll also be used to create the schema in your data warehouse.
For example, the name “Stitch Braintree” would create a schema called
stitch_braintree
in the data warehouse. This schema is where all the tables for this integration will be stored. - In the Merchant ID field, paste your Braintree Merchant ID.
- In the Public Key field, paste your Braintree Public Key.
- In the Private Key field, paste your Braintree Private Key.
Defining the Historical Sync
The Sync Historical Data setting will define the starting date for your Braintree integration. This means that data equal to or newer than this date will be replicated to your data warehouse.
Change this setting if you want to sync data beyond Braintree’s default setting of 1 year. For a detailed look at historical syncs, check out the Syncing Historical SaaS Data article.
Define the Replication Frequency
The Replication Frequency controls how often Stitch will attempt to replicate data from your Braintree integration. By default the frequency is set to 30 minutes, but you can change it to better suit your needs.
Before setting the Replication Frequency, note that:
- The more often Braintree is set to replicate, the higher the number of replicated rows.
-
The number of rows in the source may not equal the number of rows replicated by Stitch. Tables that use Full Table Replication will result in a higher number of replicated rows.
- If you’re using a data warehouses that doesn’t natively support nested structures, you’ll see a higher number of replicated rows due to the de-nesting Stitch performs.
To help prevent overages, we recommend setting the Replication Frequency to something less frequent - like 6 hours instead of 30 minutes. For tips on reducing your row count, check out the Reducing Your Row Count section of our Billing Guide.
After selecting a Replication Frequency, click Save Integration.
Braintree’s Intial Sync
After you finish setting up Braintree, you might see its Sync Status show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial sync for the integration. This may take some time to complete.
Braintree Schema
transactions
Replication Method: Incremental
Primary Key: id
Contains Nested Structures?:
No
transactions
table contains info about the transactions in your Braintree account, including the transaction's status.Transaction Data & Default Merchant Accounts
Our Braintree integration will only replicate transactions for the default merchant account in your Braintree instance. You can verify the merchant account set as the default by going to Settings > Processing > Merchant Accounts when signed into Braintree.
transactions Attributes
While we try to include everything Braintree has here, this may not be a full list of attributes. Refer to Braintree's documentation for a full list and description of each attribute.
Transaction ID (
id
)created_at
updated_at
status
type
amount
service_fee_amount
order_id
plan_id
gateway_rejection_reason
processor_authorization_code
processor_response_code
processor_response_text
recurring
currency_iso_code
customer_details__id
customer_details__email
credit_card_details__customer_location
subscription_details__billing_period_start_date
subscription_details__billing_period_end_date
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, please reach out to us.