Custom domains now available with Recharge Customer Portal

All merchants using the Recharge Customer Portal now can set a custom domain using their own domain service provider. Custom domains allow merchants to white-label the portal URL to be consistent with the rest of their store in order to: 

  • enable improved user experience for subscribers,
  • communicate a cohesive brand identity for their store and,
  • build trust with their subscribers

Together, custom domains can support merchants to drive more traffic to their Recharge Customer Portal and drive cost savings through our comprehensive self-serve subscription management options. 

Custom domains are available to stores using Recharge-hosted Prima and Novum themes. Access to this feature requires the Recharge Pro or Enterprise plan

To learn more, visit support documentation here

Performance Improvements to 'Novum' theme!

All merchants using 'Novum' theme with their Recharge customer portal will now experience faster response times on page load and search. 'Novum' offers merchants to launch a mobile-optimized customer portal experience quickly and can be easily customized using the Recharge theme engine tool. 

Additionally, these updates will also deliver a more user-friendly pagination experience to all merchants.  Merchants with a large product portfolio on Recharge will see the most significant performance improvements. 

These improvements will also benefit merchants creating a new design on the Recharge Theme Engine using the 'Novum' theme as the template. To enable these improvements to existing custom designs, please review the reference docs here

Access to 'Novum' theme on our Recharge Theme Engine requires the Recharge Pro or Enterprise plan

To learn more about 'Novum' theme, visit support documentation here

To learn more about adding 'Novum' pagination to your custom theme, visit the developer guide here.  

Theme Engine now available on Shopify Checkout stores!

Merchants using Recharge with Shopify Checkout Integration can now access the Recharge Theme Engine (Beta). 

Theme Engine allows merchants to:

  • customize their Customer Portal to consistently reflect their style and branding
  • tailor the self-serve interface for their customers as per their unique needs
  • build and test multiple designs using our built-in 'Novum' template. More templates will be added at a later date. 

Theme Engine is available to merchants on the Recharge Pro or Enterprise plan and who have not migrated from the Recharge Checkout version

To learn more about the Recharge Theme Engine or associated reference documentation, visit support documentation here

Translations for Themes now supported!

Both Novum and Prima customer portal themes are now fully mapped on the Translations page i.e. all labels and fields which are exclusive to Themes are now fully available for translation!
What’s new?
  • Theme labels: Both Prima and Novum are fully mapped to ensure all fields that are present in both Themes are translated through a single field. 
  • New dynamic tab: All fields regarding Themes are now contained within a new tab called “Customer Portal - Themes” under the “Translations” page
  • Existing translations: All fields that existed in Legacy are also mapped in the Themes tab. Note: For existing stores with translations enabled in the Legacy portal, those applicable translations will be automatically replicated in the “Themes” tab once the store switches to either Prima or Novum theme. 

For more information, please see our Support Documentation.

Theme Engine - Novum theme is available for customization 🎨

What's new?

All PRO ReCharge merchants using the Theme Engine can now select the brand new Novum theme from the "Themes to use" list, and fully customize Novum to better suit the store's branding, needs, and desired features.

What is Novum?

Novum is the first theme to be released for the Customer Portal. It was designed to take your Customer Portal to the next level with the following features:

  • Improved design and user experience (UX)
  • Mobile-first 
  • Order now 
  • One-time product purchases
  • Cross-sell opportunities
  • Enhanced retention strategies

What are the benefits of Novum on Theme Engine?

You have full control over the Novum theme files which allow you to modify every line of code. You also have the option to build more complex customizations that match your business needs and customer experience.

Where can I learn more?

For more information about ReCharge's Theme Engine, please see our Theme Engine support documentation.

Enhancements & Updates


  • Added an option to remove discounts from customer addresses after discount limit has been reached (located in Customer Portal settings)
  • Added a line in the Order Summary product description that shows the number of charges in a subscription (e.g. "Expires after 12 charges"). Language for this message can be edited in the Translation section.
  • Enhanced validation for provinces outside US and Canada
  • Implemented improved handling of concurrent checkouts when the same discount is being applied

Theme Engine 

Bulk Subscriptions 

  • Ability to create multiple subscriptions with a single request
  • Ability to update multiple subscriptions with a single request. For example:
    • next_charge_scheduled_at
    • order_interval_unit , order_interval_frequency, charge_interval_frequency
  • Ability to cancel multiple subscriptions with a single request
  • Ability to re-activate multiple subscription with a single request

Bulk subscription documentation

Performance Improvements

  • Made significant performance improvements that resulted in customer portals on the theme engine to load pages 20-50+% faster.


  • Added channel_settings to Discounts API for creating channel-specific discounts
  • Added is_prepaid property to the Subscriptions API to indicate prepaid subscriptions
  • Fixed a bug where shipping rate source override may fail when using Checkout API
  • Added improved handling of timeout errors when creating customers with tokens using the ReCharge Customers API. (edited) 


  • Fixed a bug where percentage-based discount values may vary between ReCharge and Shopify
  • Fixed a bug where Canadian tax on freight may be missing when using third party tax determination
  • Fixed a bug where product searches may fail when they contain a space

February 10 Updates



  • Added Account Login to translations for the Customer Portal

Apple Pay

  • Added ability to display white Apple Pay button on checkout using CSS. In the CSS editor of the Checkout settings page include the following:

    .apple-pay-button {
    background-color: white !important;


  • Added NoFraud
  • Added version 2 of LittleData

Theme Engine v2
  • Ability to download themes

  • Ability to import/upload themes with zip file

  • Google Address Autocomplete - Fixed bug that wasn't populating the city field when a UK address was selected
  • Checkout - Fixed bug that caused the product summary on page 2 to be blank when the customer's email address was left blank on page 1
  • Merchant Portal - Fixed bug that didn't allow subscriptions be created with the hidden Shopify product

Nov. 25 - Dec. 6 Updates

  • Apple Pay on Braintree: Now available when a store doesn't have a custom checkout domain
  • PayPal: Ability to set translation on checkout for "Click here"
  • Apple Pay: Ability to set translation on checkout for "Payment Options"

  • Apple Pay on Stripe: Fixed a bug when using Apple Pay during checkout


Products API

  • New create (POST) product endpoint
  • New update (PUT) product endpoint
  • New delete (DELETE) product endpoint
  • Fixed bug that the order_interval_unit was being retrieved from the ruleset instead of the product. It is now fixed to retrieve the order_interval_unit from the product record.

    Link to Products API docs

Checkout API

  • Fixed bug that the discount code was not being displayed on the Checkout UI when the checkout was created using the Checkout API and then the customer redirected to the Checkout UI to complete the checkout. Now the discount code is displayed when applied via the Checkout API.

Subscriptions API

  • Fixed bug that caused charge regeneration to be delayed when cancelling subscriptions via the POST /subscriptions/<id>/cancel endpoint. Now charge regeneration is triggered immediately when cancelling a subscription unless the commit_update is set to false.

Theme Engine v2
  • Updated shipping_countries response to return all countries instead of being defaulted to a limit of 50 countries and paginated
  • Fixed a bug that was setting the expire_after_specific_number_of_charges field to null on new subscriptions that were added through the Theme Engine customer portal when the default value for the product was an integer (e.g. 6, 12). Now new subscriptions will inherit the default value from the product record. To implement this functionality you'll need to generate a new theme or update your existing subscription_new.html file (see image below for updates).

    {% if subscription_defaults.expire_after_specific_number_of_charges %}

    {% endif %}

  • Added ability to delay a subscription as a retention strategy when a customer is cancelling their subscription. To implement this functionality you'll need to generate a new theme or update your existing subscription_retention_strategy.html file (see image below for updates).

Nov. 11-22 Updates



  • Fixed bug that allowed prepaid cards on checkout when "Allow prepaid cards" was unchecked on the Checkout settings page.
  • Fixed Apple Pay with Braintree bug that only requested customer phone number when required for shipping details and not if billing details was requesting the field. It now requests customer phone when required for either billing or shipping details.

Merchant Portal

  • Fixed bug that was incorrectly identifying certain customers as not having a valid payment method.
  • Fixed bug that calculated incorrectly the number of active subscriptions for certain customers.

Customer Portal

  • Theme Engine v1 & v2 - Fix bug that didn't display an AVS error message to customers that their billing zip code was incorrect when updating their credit card.

3D Secure 2 & European SCA regulation

  • Updated the help text on the re-authentication page to provide additional clarity for the customer when they aren't impacted by the European SCA regulation but their bank flag their account for 3D Secure 2 authentication.


Checkout API

  • first_name for billing and shipping address is now optional (not required)

Address API

  • first_name is now optional (not required)

Customer API

  • cardholder_name field has been added to the payment_sources response

Theme Engine v2

Payment sources

  • cardholder_name field has been added to the payment_sources response
  • When a customer updates their credit card then the cardholder_name is saved

Template Update - products_search.html

  • [FIX] When a client is attempting to swap a product the URL directs a customers to adding new product instead of swapping. This template update fixes so that the customer continues the swap workflow.
  • Removed from products_search.html template

    {% if 'preview_theme' | url_param %}
    {% set search_form_action_url = search_form_action_url + '?preview_theme=' + 'preview_theme' | url_param %}
    {% endif %}
  • Added to products_search.html template

    {% if 'preview_theme' | url_param %}

    {% endif %}

Template Update - products_search_swap.html

  • [FIX] When a client is attempting to swap a product the URL directs a customers to adding new product instead of swapping. This template update fixes so that the customer continues the swap workflow.
  • Removed from products_search_swap.html template

    {% if 'preview_theme' | url_param %}
    {% set search_form_action_url = search_form_action_url + '?preview_theme=' + 'preview_theme' | url_param %}
    {% endif %}
  • Added to products_search_swap.html template

    {% if 'preview_theme' | url_param %}

    {% endif %}


Oct. 28 - Nov. 8 Updates



  • New checkout/processed webhook that will be trigged when a checkout is processed via the normal checkout flow or the API. This is replacing the checkout/completed webhook which will be deprecated.



  • Added provinces for the country of Chile when selecting shipping address province

Bulk Discount Uploader

  • Added error message when uploading discounts that already exist


Customer Portal

  • Fixed error when Braintree kount fraud tool is enabled and customer is updating credit card information
  • Display proper error message in the Customer Portal when a customer is attempting to re-activate a cancelled subscription that has a variant that no longer exists

Merchant Portal

  • Fixed shipping address country drop-down field so that it displays all of the countries


Checkout API

  • Removed checkout object from the request body of Create and Update endpoints
  • Removed checkout_charge object from the request body of Process checkout endpoint
  • Allow title and variant_title to be null in the line_items object
  • Added ability to bypass UPS validation for shipping addresses in the United States
  • GET shipping_rates endpoint - In the event Shopify returns of 5xx error when retrieving shipping rates, the error message has been updated to a 4xx error that there was an error with Shopify and to try again later instead of a 5xx error.
  • Updated the note_attributes field to be an array of dictionary objects instead of a single dictionary object
  • When a prepaid card is being used and the merchant doesn't allow prepaid cards then the error has been updated to a 422 error stating prepaid cards are not allowed instead of a 500 error
  • Fixed discount being applied twice when a checkout with a discount code is started via the API then the customer is redirect to the checkout billing information page

Products API

  • Add modifiable_properties and handle fields to the response body for GET product and GET products endpoints

Theme Engine v2
  • Added product data object to the subscription_retention_strategy.html template
  • On the schedule.html page, fixed a validation error when trying to save {{ order.charge.billing_address }} or {{ order.charge.shipping_address }}. Now the page can be saved with the data attributes without causing a validation error.

Show Previous EntriesShow Previous Entries