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 (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Deprecated on August 30, 2022

Supported by

Stitch

Stitch plan

Standard

API availability

Not 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 data equal to or newer than this date will be replicated to your data warehouse.

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

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.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

addresses schema on GitHub

Recharge API method

Join addresses with on
charges
addresses.id = charges.address_id
addresses.customer_id = charges.customer_id
onetimes
addresses.id = onetimes.address_id
addresses.customer_id = onetimes.customer_id
orders
addresses.id = orders.address_id
addresses.customer_id = orders.customer_id
subscriptions
addresses.id = subscriptions.address_id
addresses.customer_id = subscriptions.customer_id
customers
addresses.customer_id = customers.id
discounts
addresses.discount_id = discounts.id

address1

STRING

address2

STRING

cart_attributes

ARRAY

name

STRING

value

STRING

cart_note

STRING

city

STRING

company

STRING

country

STRING

created_at

DATE-TIME

customer_id

INTEGER

discount_id

INTEGER

first_name

STRING

id

INTEGER

last_name

STRING

note_attributes

ARRAY

name

STRING

value

STRING

original_shipping_lines

ARRAY

code

STRING

price

STRING

title

STRING

phone

STRING

province

STRING

shipping_lines_override

ARRAY

code

STRING

price

STRING

title

STRING

updated_at

DATE-TIME

zip

STRING

charges

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

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

charges schema on GitHub

Recharge API method

Join charges with on
addresses
charges.address_id = addresses.id
charges.customer_id = addresses.customer_id
onetimes
charges.address_id = onetimes.address_id
charges.customer_id = onetimes.customer_id
charges.line_items.shopify_product_id = onetimes.shopify_product_id
charges.line_items.shopify_variant_id = onetimes.shopify_variant_id
orders
charges.address_id = orders.address_id
charges.id = orders.charge_id
charges.customer_id = orders.customer_id
charges.line_items.shopify_product_id = orders.line_items.shopify_product_id
charges.shopify_order_id = orders.shopify_order_id
charges.line_items.subscription_id = orders.line_items.subscription_id
charges.transaction_id = orders.transaction_id
charges.line_items.shopify_variant_id = orders.line_items.shopify_variant_id
subscriptions
charges.address_id = subscriptions.address_id
charges.customer_id = subscriptions.customer_id
charges.line_items.shopify_product_id = subscriptions.shopify_product_id
charges.line_items.subscription_id = subscriptions.id
charges.line_items.shopify_variant_id = subscriptions.shopify_variant_id
customers
charges.customer_id = customers.id
products
charges.line_items.shopify_product_id = products.id

address_id

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

browser_ip

STRING

client_details

OBJECT

browser_ip

STRING

user_agent

STRING

created_at

DATE-TIME

customer_hash

STRING

customer_id

INTEGER

discount_codes

ARRAY

amount

STRING

code

STRING

type

STRING

email

STRING

first_name

STRING

has_uncommited_changes

BOOLEAN

id

INTEGER

last_name

STRING

line_items

ARRAY

grams

INTEGER

images

OBJECT

large

STRING

medium

STRING

original

STRING

small

STRING

price

STRING

properties

ARRAY

name

STRING

value

STRING

quantity

INTEGER

shopify_product_id

STRING

shopify_variant_id

STRING

sku

STRING

subscription_id

INTEGER

title

STRING

variant_title

STRING

note

STRING

note_attributes

ARRAY

name

STRING

value

STRING

processed_at

DATE-TIME

processor_name

STRING

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

shipping_lines

ARRAY

code

STRING

price

STRING

title

STRING

shopify_order_id

STRING

status

STRING

sub_total

STRING

subtotal_price

STRING

tags

STRING

tax_lines

NUMBER

total_discounts

STRING

total_line_items_price

STRING

total_price

STRING

total_refunds

NUMBER

total_tax

NUMBER

total_weight

INTEGER

transaction_id

STRING

type

STRING

updated_at

DATE-TIME

collections

The collections table contains info about your collections.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

collections schema on GitHub

Recharge API method

Join collections with on
products
collections.id = products.collection_id

created_at

DATE-TIME

description

STRING

id

INTEGER

name

STRING

sort_order

STRING

title

STRING

type

STRING

updated_at

DATE-TIME

customers

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

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

customers schema on GitHub

Recharge API method

Join customers with on
addresses
customers.id = addresses.customer_id
charges
customers.id = charges.customer_id
onetimes
customers.id = onetimes.customer_id
orders
customers.id = orders.customer_id
customers.shopify_customer_id = orders.shopify_customer_id
subscriptions
customers.id = subscriptions.customer_id

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

first_charge_processed_at

DATE-TIME

first_name

STRING

has_card_error_in_dunning

BOOLEAN

has_valid_payment_method

BOOLEAN

hash

STRING

id

INTEGER

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

updated_at

DATE-TIME

discounts

The discounts table contains info about discounts.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

discounts schema on GitHub

Recharge API method

Join discounts with on
addresses
discounts.id = addresses.discount_id

applies_to_id

INTEGER

applies_to_product_type

STRING

applies_to_resource

STRING

code

STRING

created_at

DATE-TIME

duration

STRING

duration_usage_limit

INTEGER

ends_at

DATE-TIME

id

INTEGER

once_per_customer

BOOLEAN

starts_at

DATE-TIME

status

STRING

times_used

INTEGER

updated_at

DATE-TIME

usage_limit

INTEGER

value

INTEGER

metafields_customer

The metafields_customer table contains info about metafields related to customers.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

metafields_customer schema on GitHub

Recharge API method

Join metafields_customer with on
metafields_store
metafields_customer.owner_id = metafields_store.owner_id
metafields_subscription
metafields_customer.owner_id = metafields_subscription.owner_id

created_at

DATE-TIME

description

STRING

id

INTEGER

key

STRING

namespace

STRING

owner_id

INTEGER

owner_resource

STRING

updated_at

DATE-TIME

value

STRING

value_type

STRING

metafields_store

The metafields_store table contains info about metafields related to stores.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

metafields_store schema on GitHub

Recharge API method

Join metafields_store with on
metafields_customer
metafields_store.owner_id = metafields_customer.owner_id
metafields_subscription
metafields_store.owner_id = metafields_subscription.owner_id

created_at

DATE-TIME

description

STRING

id

INTEGER

key

STRING

namespace

STRING

owner_id

INTEGER

owner_resource

STRING

updated_at

DATE-TIME

value

STRING

value_type

STRING

metafields_subscription

The metafields_subscription table contains info about metafields related to subscriptions.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Recharge documentation

metafields_subscription schema on GitHub

Recharge API method

Join metafields_subscription with on
metafields_customer
metafields_subscription.owner_id = metafields_customer.owner_id
metafields_store
metafields_subscription.owner_id = metafields_store.owner_id

created_at

DATE-TIME

description

STRING

id

INTEGER

key

STRING

namespace

STRING

owner_id

INTEGER

owner_resource

STRING

updated_at

DATE-TIME

value

STRING

value_type

STRING

onetimes

The onetimes table contains info about one time products.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

onetimes schema on GitHub

Recharge API method

Join onetimes with on
addresses
onetimes.address_id = addresses.id
onetimes.customer_id = addresses.customer_id
charges
onetimes.address_id = charges.address_id
onetimes.customer_id = charges.customer_id
onetimes.shopify_product_id = charges.line_items.shopify_product_id
onetimes.shopify_variant_id = charges.line_items.shopify_variant_id
orders
onetimes.address_id = orders.address_id
onetimes.customer_id = orders.customer_id
onetimes.shopify_product_id = orders.line_items.shopify_product_id
onetimes.shopify_variant_id = orders.line_items.shopify_variant_id
subscriptions
onetimes.address_id = subscriptions.address_id
onetimes.customer_id = subscriptions.customer_id
onetimes.shopify_product_id = subscriptions.shopify_product_id
onetimes.shopify_variant_id = subscriptions.shopify_variant_id
customers
onetimes.customer_id = customers.id
products
onetimes.shopify_product_id = products.id

address_id

INTEGER

created_at

DATE-TIME

customer_id

INTEGER

id

INTEGER

next_charge_scheduled_at

DATE-TIME

price

NUMBER

product_title

STRING

properties

ARRAY

name

STRING

value

STRING

quantity

INTEGER

recharge_product_id

INTEGER

shopify_product_id

INTEGER

shopify_variant_id

INTEGER

sku

STRING

status

STRING

updated_at

DATE-TIME

variant_title

STRING

orders

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

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

orders schema on GitHub

Recharge API method

Join orders with on
addresses
orders.address_id = addresses.id
orders.customer_id = addresses.customer_id
charges
orders.address_id = charges.address_id
orders.charge_id = charges.id
orders.customer_id = charges.customer_id
orders.line_items.shopify_product_id = charges.line_items.shopify_product_id
orders.shopify_order_id = charges.shopify_order_id
orders.line_items.subscription_id = charges.line_items.subscription_id
orders.transaction_id = charges.transaction_id
orders.line_items.shopify_variant_id = charges.line_items.shopify_variant_id
onetimes
orders.address_id = onetimes.address_id
orders.customer_id = onetimes.customer_id
orders.line_items.shopify_product_id = onetimes.shopify_product_id
orders.line_items.shopify_variant_id = onetimes.shopify_variant_id
subscriptions
orders.address_id = subscriptions.address_id
orders.customer_id = subscriptions.customer_id
orders.line_items.shopify_product_id = subscriptions.shopify_product_id
orders.line_items.subscription_id = subscriptions.id
orders.line_items.shopify_variant_id = subscriptions.shopify_variant_id
customers
orders.customer_id = customers.id
orders.shopify_customer_id = customers.shopify_customer_id
products
orders.line_items.shopify_product_id = products.id

address_id

INTEGER

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

charge_id

INTEGER

charge_status

STRING

created_at

DATE-TIME

customer_id

INTEGER

discount_codes

ARRAY

amount

STRING

code

STRING

type

STRING

email

STRING

first_name

STRING

hash

STRING

id

INTEGER

is_prepaid

INTEGER

last_name

STRING

line_items

ARRAY

grams

INTEGER

images

OBJECT

large

STRING

medium

STRING

original

STRING

small

STRING

price

NUMBER

properties

ARRAY

name

STRING

value

STRING

quantity

INTEGER

shopify_product_id

STRING

shopify_variant_id

STRING

sku

STRING

subscription_id

INTEGER

title

STRING

variant_title

STRING

note

STRING

note_attributes

ARRAY

name

STRING

value

STRING

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

shipping_date

DATE-TIME

shipping_lines

ARRAY

code

STRING

price

STRING

title

STRING

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

total_discounts

NUMBER

total_line_items_price

NUMBER

total_price

STRING

total_refunds

NUMBER

total_tax

NUMBER

total_weight

INTEGER

transaction_id

STRING

type

STRING

updated_at

DATE-TIME

products

The products table contains info about your products.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

products schema on GitHub

Recharge API method

Join products with on
collections
products.collection_id = collections.id
charges
products.id = charges.line_items.shopify_product_id
onetimes
products.id = onetimes.shopify_product_id
orders
products.id = orders.line_items.shopify_product_id
subscriptions
products.id = subscriptions.shopify_product_id

collection_id

INTEGER

created_at

DATE-TIME

discount_amount

NUMBER

discount_type

STRING

id

INTEGER

images

OBJECT

large

STRING

medium

STRING

original

STRING

small

STRING

product_id

INTEGER

shopify_product_id

INTEGER

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

order_interval_unit

STRING

storefront_purchase_options

STRING

title

STRING

updated_at

DATE-TIME

shop

The shop table contains info about your shop.

Replication Method

Full Table

Primary Key

id

Useful links

shop schema on GitHub

Recharge API method

checkout_logo_url

STRING

created_at

STRING

currency

STRING

domain

STRING

email

STRING

iana_timezone

STRING

id

INTEGER

my_shopify_domain

STRING

name

STRING

shop_email

STRING

shop_phone

STRING

timezone

STRING

updated_at

STRING

subscriptions

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

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

subscriptions schema on GitHub

Recharge API method

Join subscriptions with on
addresses
subscriptions.address_id = addresses.id
subscriptions.customer_id = addresses.customer_id
charges
subscriptions.address_id = charges.address_id
subscriptions.customer_id = charges.customer_id
subscriptions.shopify_product_id = charges.line_items.shopify_product_id
subscriptions.id = charges.line_items.subscription_id
subscriptions.shopify_variant_id = charges.line_items.shopify_variant_id
onetimes
subscriptions.address_id = onetimes.address_id
subscriptions.customer_id = onetimes.customer_id
subscriptions.shopify_product_id = onetimes.shopify_product_id
subscriptions.shopify_variant_id = onetimes.shopify_variant_id
orders
subscriptions.address_id = orders.address_id
subscriptions.customer_id = orders.customer_id
subscriptions.shopify_product_id = orders.line_items.shopify_product_id
subscriptions.id = orders.line_items.subscription_id
subscriptions.shopify_variant_id = orders.line_items.shopify_variant_id
customers
subscriptions.customer_id = customers.id
products
subscriptions.shopify_product_id = products.id

address_id

INTEGER

cancellation_reason

STRING

cancellation_reason_comments

STRING

cancelled_at

DATE-TIME

charge_interval_frequency

STRING

created_at

DATE-TIME

customer_id

INTEGER

expire_after_specific_number_of_charges

INTEGER

has_queued_charges

INTEGER

id

INTEGER

is_skippable

BOOLEAN

is_swappable

BOOLEAN

max_retries_reached

INTEGER

next_charge_scheduled_at

DATE-TIME

order_day_of_month

STRING

order_day_of_week

STRING

order_interval_frequency

STRING

order_interval_unit

STRING

price

NUMBER

product_title

STRING

properties

ARRAY

name

STRING

value

STRING

quantity

INTEGER

recharge_product_id

INTEGER

shopify_product_id

INTEGER

shopify_variant_id

INTEGER

sku

STRING

sku_override

STRING

status

STRING

updated_at

DATE-TIME

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.