Skip to content

Ruby client for ReCharge Payments' recurring payments API for Shopify


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



35 Commits

Repository files navigation

ReCharge API Client

Build Status

Ruby client for ReCharge Payments' recurring payments API for Shopify.


Ruby gems:

gem install recharge-api


gem "recharge-api", :require => "recharge"


An API key is required. The key can be set via ReCharge.api_key or via the RECHARGE_API_KEY environment variable.

require "recharge"

ReCharge.api_key = "YOUR_KEY"  # Can also use Recharge
data = {
  :address_id => 123234321,
  :customer_id => 565728,
  # ... more stuff
  :next_charge_scheduled_at =>,
  :properties => {
    :name => "size",
    :value => "medium"

subscription = ReCharge::Subscription.create(data)
subscription.address_id = 454343

# Or
ReCharge::Subscription.update(id, data)

subscription =

order1 = ReCharge::Order.get(123123)
order1.line_items.each do |li|
  p li.title
  p li.quantity

order2 = ReCharge::Order.get(453321)
p "Different" if order1 != order2


customers = ReCharge::Customer.list(:page => 10, :limit => 50)
customers.each do |customer|
  addresses = ReCharge::Customer.addresses(
  # ...

For complete documentation refer to the API docs:

Setting the ReCharge API Version

Defaults to your account's API settings but can be overridden via:

ReCharge.api_version = "2021-01"

Rake Tasks for Webhook Management

Add the following to your Rakefile:

require "recharge/tasks"

This will add the following tasks:

  • recharge:hook:create - create webhook HOOK to be sent to CALLBACK
  • recharge:hooks:delete - delete the webhook(s) given by ID
  • recharge:hooks:delete_all - delete all webhooks
  • recharge:hooks:list - list webhooks

All tasks require RECHARGE_API_KEY be set.

For example, to create a hook run the following:

rake recharge:hooks:create RECHARGE_API_KEY=YOURKEY HOOK=subscription/created CALLBACK=

You can set the API version via RECHARGE_API_VERSION.

See Also

  • Shopify Development Tools - Assists with the development and/or maintenance of Shopify apps and stores
  • Shopify ID Export - Dump Shopify product and variant IDs —along with other identifiers— to a CSV or JSON file
  • ShopifyAPI::GraphQL::Tiny - Lightweight, no-nonsense, Shopify GraphQL Admin API client with built-in retry
  • Shopify API Retry - retry requests if rate-limited or other errors occur. Works with the REST and GraphQL APIs.


Released under the MIT License:

Made by ScreenStaring