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:

  1. Whitelist Stitch’s IP addresses in Braintree *
  2. Retrieve your Braintree API credentials
  3. Add Braintree as a Stitch data source
  4. Define the Historical Sync
  5. 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:

  1. Access to a Production Braintree account. Stitch does not currently support connecting to Sandbox accounts.
  2. 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.

  1. Sign into your Braintree account.
  2. Click Settings > Security.
  3. In the Security Options page, click Edit in the IP and Hostname Restrictions section.
  4. In the IP Address or Hostname field, paste one of the IP addresses from the following list:
    • [ Stitch IP addresses ]
  5. Check the Allow API Access box.
  6. Click Add Allowed Host.
  7. Repeat steps 4-6 for each Stitch IP address in the list above.
  8. After all of Stitch’s IP addresses have been added, click Enable Restrictions.

Retrieving Your Braintree API Credentials

  1. If you haven’t already, sign into your Braintree account.
  2. Click Account > My User.
  3. Scroll down to the API Keys, Tokenization Keys, Encryption Keys section and click View Authorizations.
  4. In the API Keys section, click Generate New API Key.
  5. After the key has been generated, click the View link in the Private Key column.
  6. This will display the Client Library Key page, which contains your Braintree API credentials:

    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

  1. On the Stitch Dashboard page, click the Add an Integration button.
  2. Click the Braintree icon.

  3. 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.

  4. In the Merchant ID field, paste your Braintree Merchant ID.
  5. In the Public Key field, paste your Braintree Public Key.
  6. 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

The transactions table contains info about the transactions in your Braintree account, including the transaction's status.

Table Info & Attributes

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



Questions? Feedback?

Did this article help? If you have questions or feedback, please reach out to us.