Recharge integration summary

Stitch’s Recharge integration replicates data using the Recharge Payments API. To access the Recharge API documentation, you will need your API key. Refer to the Schema section for a list of objects available for replication.

Recharge feature snapshot

A high-level look at Stitch's Recharge (v2) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on August 30, 2022

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-recharge

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Recharge

Recharge setup requirements

To set up Recharge in Stitch, you need:

  • A Shopify Account. You need this to access your Recharge information.


Step 1: Obtain your Recharge access token

  1. Log into your Shopify account, select Apps, and then click on your Recharge application.
Shopify Apps page.
  1. In the application, click the EXPLORE Recharge located near the top right corner of the page.
  2. Click on the Integrations tab, and then click API tokens….
Integrations page with API token link.
  1. Click on Create an API token.
  2. On the Create an API token page:
    • In the Details section, enter a Nickname and Contact email into their respective fields.
    • In the Permission section, select the Read Access scope for each permission.
  3. Click Save to create the Access Token.
The API key creation page.

Step 2: Add Recharge as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Recharge icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Recharge” would create a schema called stitch_recharge in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Access Token field, enter the access token you obtained in the previous step.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Recharge integration. This means that:

  • For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.

Change this setting if you want to replicate data beyond Recharge’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 4: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Recharge integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For Recharge integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Recharge, its Sync Status may 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 replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Recharge table reference

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List addresses

The addresses table contains info about the addresses (shipping locations) a customer has. A subscription is tied to a given address, but a customer can have multiple addresses.

id
INTEGER

The address ID.

Reference:

updated_at
DATE-TIME

The date and time the address was last updated.

address1
STRING

address2
STRING

cart_attributes
ARRAY

name
STRING

value
STRING

addresses (table), cart_attributes (attribute)

cart_note
STRING

city
STRING

company
STRING

country
STRING

country_code
STRING

created_at
DATE-TIME

customer_id
INTEGER

discount_id
INTEGER

discounts
ARRAY

id
INTEGER

addresses (table), discounts (attribute)

first_name
STRING

last_name
STRING

note_attributes
ARRAY

name
STRING

value
STRING

addresses (table), note_attributes (attribute)

order_attributes
ARRAY

name
STRING

value
STRING

addresses (table), order_attributes (attribute)

order_note
STRING

original_shipping_lines
ARRAY

code
STRING

price
STRING

title
STRING

addresses (table), original_shipping_lines (attribute)

payment_method_id
INTEGER

phone
STRING

presentment_currency
STRING

province
STRING

shipping_lines_override
ARRAY

code
STRING

price
STRING

title
STRING

addresses (table), shipping_lines_override (attribute)

zip
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List charges

The charges table contains info about charges. A charge is a placeholder for an upcoming charge once the charge is processed successfully.

id
INTEGER

The unique numeric identifier for the charges.

Reference:

updated_at
DATE-TIME

The date time at which the order was most recently updated.

address_id
INTEGER

Reference:

analytics_data
OBJECT

utm_params
ARRAY

utm_campaign
STRING

utm_content
STRING

utm_data_source
STRING

utm_source
STRING

utm_medium
STRING

utm_term
STRING

utm_timestamp
STRING

charges (table), utm_params (attribute)
charges (table), analytics_data (attribute)

billing_address
OBJECT

address1
STRING

address2
STRING

city
STRING

company
STRING

country
STRING

first_name
STRING

last_name
STRING

phone
STRING

province
STRING

zip
STRING

country_code
STRING

charges (table), billing_address (attribute)

browser_ip
STRING

client_details
OBJECT

browser_ip
STRING

user_agent
STRING

charges (table), client_details (attribute)

created_at
DATE-TIME

currency
STRING

customer
OBJECT

id
INTEGER

email
STRING

external_customer_id
OBJECT

ecommerce
STRING

charges (table), external_customer_id (attribute)

hash
STRING

charges (table), customer (attribute)

customer_hash
STRING

customer_id
INTEGER

Reference:

discount_codes
ARRAY

amount
STRING

code
STRING

type
STRING

charges (table), discount_codes (attribute)

discounts
ARRAY

id
INTEGER

code
STRING

value
NUMBER

value_type
STRING

charges (table), discounts (attribute)

email
STRING

external_order_id
OBJECT

ecommerce
STRING

charges (table), external_order_id (attribute)

external_transaction_id
OBJECT

payment_processor
STRING

charges (table), external_transaction_id (attribute)

first_name
STRING

has_uncommited_changes
BOOLEAN

last_name
STRING

line_items
ARRAY

grams
INTEGER

images
OBJECT

large
STRING

medium
STRING

original
STRING

small
STRING

sort_order
INTEGER

charges (table), images (attribute)

price
STRING

properties
ARRAY

name
STRING

value
STRING

charges (table), properties (attribute)

quantity
INTEGER

shopify_product_id
STRING

Reference:

shopify_variant_id
STRING

sku
STRING

subscription_id
INTEGER

Reference:

title
STRING

variant_title
STRING

purchase_item_id
INTEGER

external_product_id
OBJECT

ecommerce
STRING

charges (table), external_product_id (attribute)

external_variant_id
OBJECT

ecommerce
STRING

charges (table), external_variant_id (attribute)

handle
STRING

purchase_item_type
STRING

tax_due
STRING

tax_lines
ARRAY

price
STRING

rate
STRING

title
STRING

charges (table), tax_lines (attribute)

taxable
BOOLEAN

taxable_amount
STRING

total_price
STRING

unit_price
STRING

unit_price_includes_tax
BOOLEAN

charges (table), line_items (attribute)

note
STRING

note_attributes
ARRAY

name
STRING

value
STRING

charges (table), note_attributes (attribute)

order_attributes
ARRAY

name
STRING

value
STRING

charges (table), order_attributes (attribute)

orders_count
INTEGER

payment_processor
STRING

processed_at
DATE-TIME

processor_name
STRING

retry_date
DATE-TIME

scheduled_at
DATE-TIME

shipments_count
INTEGER

shipping_address
OBJECT

address1
STRING

address2
STRING

city
STRING

company
STRING

country
STRING

first_name
STRING

last_name
STRING

phone
STRING

province
STRING

zip
STRING

country_code
STRING

charges (table), shipping_address (attribute)

shipping_lines
ARRAY

code
STRING

price
STRING

title
STRING

source
STRING

taxable
STRING

tax_lines
ARRAY

price
STRING

rate
STRING

title
STRING

charges (table), tax_lines (attribute)
charges (table), shipping_lines (attribute)

shopify_order_id
STRING

status
STRING

sub_total
STRING

subtotal_price
STRING

tags
STRING

tax_lines
ARRAY

price
STRING

rate
STRING

title
STRING

charges (table), tax_lines (attribute)

taxable
BOOLEAN

total_discounts
STRING

total_line_items_price
STRING

total_price
STRING

total_refunds
STRING

total_tax
STRING

total_weight
INTEGER

total_weight_grams
INTEGER

transaction_id
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List collections

The collections table contains info about your collections.

id
INTEGER

The collection ID.

Reference:

updated_at
DATE-TIME

The date and time when the collection was last updated.

created_at
DATE-TIME

description
STRING

name
STRING

sort_order
STRING

title
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List customers

The customers table contains info about customer accounts with a store.

id
INTEGER

The customer ID.

Reference:

updated_at
DATE-TIME

The date and time the customer was last updated.

analytics_data
OBJECT

utm_params
ARRAY

utm_campaign
STRING

utm_content
STRING

utm_data_source
STRING

utm_source
STRING

utm_medium
STRING

utm_term
STRING

utm_timestamp
STRING

customers (table), utm_params (attribute)
customers (table), analytics_data (attribute)

billing_address1
STRING

billing_address2
STRING

billing_city
STRING

billing_company
STRING

billing_country
STRING

billing_phone
STRING

billing_province
STRING

billing_zip
STRING

braintree_customer_token
STRING

created_at
DATE-TIME

email
STRING

external_customer_id
OBJECT

ecommerce
STRING

customers (table), external_customer_id (attribute)

first_charge_processed_at
DATE-TIME

first_name
STRING

has_card_error_in_dunning
BOOLEAN

has_payment_method_in_dunning
BOOLEAN

has_valid_payment_method
BOOLEAN

hash
STRING

last_name
STRING

number_active_subscriptions
INTEGER

number_subscriptions
INTEGER

paypal_customer_token
STRING

processor_type
STRING

reason_payment_method_not_valid
STRING

shopify_customer_id
STRING

status
STRING

subscriptions_active_count
INTEGER

subscriptions_total_count
INTEGER


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List discounts

The discounts table contains info about discounts.

id
INTEGER

The discount ID.

Reference:

updated_at
DATE-TIME

The date and time the discount was created.

applies_to
OBJECT

ids
ARRAY

items
INTEGER

discounts (table), ids (attribute)

purchase_item_type
STRING

resource
STRING

discounts (table), applies_to (attribute)

applies_to_id
INTEGER

applies_to_product_type
STRING

applies_to_resource
STRING

channel_settings
OBJECT

api
OBJECT

can_apply
BOOLEAN

discounts (table), api (attribute)

customer_portal
OBJECT

can_apply
BOOLEAN

discounts (table), customer_portal (attribute)

merchant_portal
OBJECT

can_apply
BOOLEAN

discounts (table), merchant_portal (attribute)

checkout_page
OBJECT

can_apply
BOOLEAN

discounts (table), checkout_page (attribute)
discounts (table), channel_settings (attribute)

code
STRING

created_at
DATE-TIME

duration
STRING

duration_usage_limit
INTEGER

ends_at
DATE-TIME

external_discount_id
OBJECT

ecommerce
STRING

discounts (table), external_discount_id (attribute)

first_time_customer_restriction
BOOLEAN

once_per_customer
BOOLEAN

prerequisite_subtotal_min
STRING

starts_at
DATE-TIME

status
STRING

times_used
INTEGER

usage_limit
INTEGER

usage_limits
OBJECT

max_subsequent_redemptions
INTEGER

first_time_customer_restriction
BOOLEAN

one_application_per_customer
STRING

discounts (table), usage_limits (attribute)

value
STRING

value_type
STRING


metafields_customer

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List customer metafields

The metafields_customer table contains info about metafields related to customers.

id
INTEGER

The customer metafield ID.

updated_at
DATE-TIME

The date and time the customer metafield was last updated.

created_at
DATE-TIME

description
STRING

key
STRING

namespace
STRING

owner_id
STRING

owner_resource
STRING

value
STRING

value_type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List store metafields

The metafields_store table contains info about metafields related to stores.

id
INTEGER

The store metafield ID.

updated_at
DATE-TIME

The date and time the store metafield was last updated.

created_at
DATE-TIME

description
STRING

key
STRING

namespace
STRING

owner_id
STRING

owner_resource
STRING

value
STRING

value_type
STRING


metafields_subscription

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List subscription metafields

The metafields_subscription table contains info about metafields related to subscriptions.

id
INTEGER

The subscription metafield ID.

updated_at
DATE-TIME

The date and time the subscription metafield was last updated.

created_at
DATE-TIME

description
STRING

key
STRING

namespace
STRING

owner_id
STRING

owner_resource
STRING

value
STRING

value_type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List onetimes

The onetimes table contains info about one time products.

id
INTEGER

The ID of the one time product.

updated_at
DATE-TIME

The date and time the one time product was last updated.

address_id
INTEGER

Reference:

created_at
DATE-TIME

customer_id
INTEGER

Reference:

external_product_id
OBJECT

ecommerce
STRING

onetimes (table), external_product_id (attribute)

external_variant_id
OBJECT

ecommerce
STRING

onetimes (table), external_variant_id (attribute)

next_charge_scheduled_at
DATE-TIME

price
STRING

product_title
STRING

properties
ARRAY

name
STRING

value
STRING

onetimes (table), properties (attribute)

quantity
INTEGER

recharge_product_id
INTEGER

Reference:

shopify_product_id
INTEGER

Reference:

shopify_variant_id
INTEGER

sku
STRING

sku_override
BOOLEAN

status
STRING

variant_title
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List orders

The orders table contains info about orders. Orders are created after a charge is successfully processed.

id
INTEGER

The unique numeric identifier for the order.

updated_at
DATE-TIME

The date time at which the order was most recently updated.

address_id
INTEGER

Reference:

address_is_active
INTEGER

billing_address
OBJECT

address1
STRING

address2
STRING

city
STRING

company
STRING

country
STRING

first_name
STRING

last_name
STRING

phone
STRING

province
STRING

zip
STRING

country_code
STRING

orders (table), billing_address (attribute)

charge
OBJECT

id
INTEGER

external_transaction_id
OBJECT

payment_processor
STRING

orders (table), external_transaction_id (attribute)
orders (table), charge (attribute)

charge_id
INTEGER

Reference:

charge_status
STRING

client_details
OBJECT

browser_ip
STRING

user_agent
STRING

orders (table), client_details (attribute)

created_at
DATE-TIME

currency
STRING

customer
OBJECT

id
INTEGER

email
STRING

external_customer_id
OBJECT

ecommerce
STRING

orders (table), external_customer_id (attribute)

hash
STRING

orders (table), customer (attribute)

customer_id
INTEGER

Reference:

discount_codes
ARRAY

amount
STRING

code
STRING

type
STRING

orders (table), discount_codes (attribute)

discounts
ARRAY

id
INTEGER

code
STRING

value
NUMBER

value_type
STRING

orders (table), discounts (attribute)

email
STRING

external_cart_token
STRING

external_order_id
OBJECT

ecommerce
STRING

orders (table), external_order_id (attribute)

external_order_number
OBJECT

ecommerce
STRING

orders (table), external_order_number (attribute)

first_name
STRING

hash
STRING

is_prepaid
BOOLEAN

last_name
STRING

line_items
ARRAY

grams
INTEGER

images
OBJECT

large
STRING

medium
STRING

original
STRING

small
STRING

sort_order
INTEGER

orders (table), images (attribute)

price
NUMBER

properties
ARRAY

name
STRING

value
STRING

orders (table), properties (attribute)

quantity
INTEGER

shopify_product_id
STRING

Reference:

shopify_variant_id
STRING

sku
STRING

subscription_id
INTEGER

Reference:

title
STRING

variant_title
STRING

purchase_item_id
INTEGER

external_product_id
OBJECT

ecommerce
STRING

orders (table), external_product_id (attribute)

external_variant_id
OBJECT

ecommerce
STRING

orders (table), external_variant_id (attribute)

handle
STRING

sort_order
INTEGER

purchase_item_type
STRING

tax_due
STRING

tax_lines
ARRAY

price
STRING

rate
STRING

title
STRING

orders (table), tax_lines (attribute)

taxable
BOOLEAN

taxable_amount
STRING

total_price
STRING

unit_price
STRING

unit_price_includes_tax
BOOLEAN

orders (table), line_items (attribute)

note
STRING

note_attributes
ARRAY

name
STRING

value
STRING

orders (table), note_attributes (attribute)

order_attributes
ARRAY

name
STRING

value
STRING

orders (table), order_attributes (attribute)

payment_processor
STRING

processed_at
DATE-TIME

scheduled_at
DATE-TIME

shipped_date
DATE-TIME

shipping_address
OBJECT

address1
STRING

address2
STRING

city
STRING

company
STRING

country
STRING

first_name
STRING

last_name
STRING

phone
STRING

province
STRING

zip
STRING

country_code
STRING

orders (table), shipping_address (attribute)

shipping_date
STRING

shipping_lines
ARRAY

code
STRING

price
STRING

title
STRING

source
STRING

taxable
STRING

tax_lines
ARRAY

price
STRING

rate
STRING

title
STRING

orders (table), tax_lines (attribute)
orders (table), shipping_lines (attribute)

shopify_cart_token
STRING

shopify_customer_id
STRING

shopify_id
STRING

shopify_order_id
STRING

shopify_order_number
INTEGER

status
STRING

subtotal_price
STRING

tags
STRING

tax_lines
ARRAY

code
STRING

price
STRING

title
STRING

rate
STRING

orders (table), tax_lines (attribute)

taxable
BOOLEAN

total_discounts
STRING

total_line_items_price
NUMBER

total_price
STRING

total_refunds
STRING

total_tax
STRING

total_weight
INTEGER

total_weight_grams
INTEGER

transaction_id
STRING

type
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List products

The products table contains info about your products. This table uses the 2021-01 API version.

id
INTEGER

The product ID.

Reference:

updated_at
DATE-TIME

The date and time the product was last updated.

collection_id
INTEGER

Reference:

created_at
DATE-TIME

discount_amount
NUMBER

discount_type
STRING

handle
STRING

images
OBJECT

large
STRING

medium
STRING

original
STRING

small
STRING

products (table), images (attribute)

product_id
INTEGER

shopify_product_id
INTEGER

Reference:

subscription_defaults
OBJECT

charge_interval_frequency
INTEGER

cutoff_day_of_month
STRING

cutoff_day_of_week
STRING

expire_after_specific_number_of_charges
INTEGER

handle
STRING

number_charges_until_expiration
INTEGER

order_day_of_month
STRING

order_day_of_week
STRING

order_interval_frequency
INTEGER

order_interval_frequency_options
ARRAY

items
STRING

products (table), order_interval_frequency_options (attribute)

order_interval_unit
STRING

storefront_purchase_options
STRING

modifiable_properties
ARRAY

items
STRING

products (table), modifiable_properties (attribute)
products (table), subscription_defaults (attribute)

title
STRING


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Retrieve store

The store table contains info about your store.

id
INTEGER

The store ID.

checkout_logo_url
STRING

checkout_platform
STRING

created_at
DATE-TIME

currency
STRING

customer_portal_base_url
STRING

default_api_version
STRING

domain
STRING

email
STRING

external_platform
STRING

iana_timezone
STRING

identifier
STRING

merchant_portal_base_url
STRING

my_shopify_domain
STRING

name
STRING

phone
STRING

shop_email
STRING

shop_phone
STRING

timezone
OBJECT

iana_name
STRING

iana_timezone
STRING

name
STRING

store (table), timezone (attribute)

updated_at
DATE-TIME

weight_unit
STRING


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

List subscriptions

The subscriptions table contains info about subscriptions. Subscriptions are individual items that customers receive on a recurring basis.

id
INTEGER

The ID of the subscription.

Reference:

updated_at
DATE-TIME

The date and time the subscription was created.

address_id
INTEGER

Reference:

analytics_data
OBJECT

utm_params
ARRAY

utm_campaign
STRING

utm_content
STRING

utm_data_source
STRING

utm_medium
STRING

utm_source
STRING

utm_term
STRING

utm_timestamp
STRING

subscriptions (table), utm_params (attribute)
subscriptions (table), analytics_data (attribute)

cancellation_reason
STRING

cancellation_reason_comments
STRING

cancelled_at
DATE-TIME

charge_interval_frequency
STRING

created_at
DATE-TIME

customer_id
INTEGER

Reference:

expire_after_specific_number_of_charges
INTEGER

external_product_id
OBJECT

ecommerce
STRING

subscriptions (table), external_product_id (attribute)

external_variant_id
OBJECT

ecommerce
STRING

subscriptions (table), external_variant_id (attribute)

has_queued_charges
BOOLEAN

is_prepaid
BOOLEAN

is_skippable
BOOLEAN

is_swappable
BOOLEAN

max_retries_reached
BOOLEAN

next_charge_scheduled_at
DATE-TIME

order_day_of_month
STRING

order_day_of_week
STRING

order_interval_frequency
STRING

order_interval_unit
STRING

presentment_currency
STRING

price
STRING

product_title
STRING

properties
ARRAY

name
STRING

value
STRING

subscriptions (table), properties (attribute)

quantity
INTEGER

recharge_product_id
INTEGER

shopify_product_id
INTEGER

Reference:

shopify_variant_id
INTEGER

sku
STRING

sku_override
BOOLEAN

status
STRING

variant_title
STRING



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.