Enhancements & Updates

Enhancements 

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


API

  • 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 authorize.net timeout errors when creating customers with authorize.net tokens using the ReCharge Customers API. (edited) 


Fix 

  • 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


Enhancements & Fixes - April 9


Enhancement 

Charge Processing

  • Made several enhancements to the nightly charge processing job to increase performance

Shopify Integration

  • Made several enhancements to the Shopify integration to increase application performance and reduce Shopify API Token usage

Merchant (Store owner) Portal

  • Added translation for "Try Again" for button text in the "Request Account Invite" page after an account invite is requested


fix 

Report Exports (CSV Exports) 

  • Fixed a bug that was causing CSV report exports to not be sent via email when the file size became too large. All merchants should now receive the report export emails and it's recommended to set the report size to a maximum of 1 month. 
  • Fixed a bug returning the incorrect SKU and order month for one time products

Customer Notifications

  • Fixed a bug that didn't BCC the store owner when the BCC store owner checkbox was checked on the customer notification page

API

  • Fixed a bug where invalid discount codes may cause a 500 Error Status instead of 404 Resource Not Found
  • Fixed a bug where invalid variant id may cause a 500 Error Status instead of 404 Resource Not Found when modifying a subscription

Customer Portal

  • Fixed a bug where outdated product/variant names sometimes appeared in Customer Subscription views after a product/variant name was synced

Merchant (Store owner) Portal

  • Translations for "Billing Same as Shipping," "Postal Code" and "Save" will display as expected

Checkout

  • If a store is set to ship to "All Countries," the store's home country will display first in the "Country" menu at Checkout


March 24 Updates

enhancement

Discounts

Performance enhancements

  • Implemented advanced auto-scaling to handle more processing and reduce processing times during periods of high volume

    • The will increase performance of charge regenerations, inbound/outbound webhooks, bulk updates, and sending emails

API

Subscription Bulk API

  • New API endpoints to create, update, and delete several subscriptions with a single request

    • POST /addresses/<address_id>/subscriptions-bulk
    • PUT /addresses/<address_id>/subscriptions-bulk
    • DELETE /addresses/<address_id>/subscriptions-bulk

    API Documentation

Webhooks

fix

Report exports

  • Fixed a bug that was causing very large CSV report exports to not be sent via email including Upcoming Orders, Processed Orders, and Purchase Items reports

Merchant/Store Owner Portal

  • Fixed a bug that was causing a customer's address to not display in the Merchant portal when created by a merchant and not attached to a subscription
  • Fixed a bug where an extra "-" may appear in order notes

Checkout reCAPTCHA & Other Updates

Feature
  • Ability to add a reCAPTCHA checkbox to the ReCharge checkout to protect against bot activity on checkout - Support documentation

API

Subscriptions API

  • cancellation_reason_comments, cancellation_reason, and cancelled_at are set to null when the subscription status is changed to "ACTIVE". The following endpoints are updated:

enhancement
  • Performance enhancements for checkout to reduce page load times
fix
  • Fixed bug where extra space may appear in product titles
  • Fixed a bug where discount codes could not be applied in some checkouts

February 10 Updates

enhancement

Translations

  • 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;
    }

Integrations

  • Added NoFraud
  • Added version 2 of LittleData

Theme Engine v2
  • Ability to download themes

  • Ability to import/upload themes with zip file

fix
  • 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

enhancement
  • 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"

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

APINewFeature

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

fix

Checkout

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

API

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 %}

Integrations

Oct. 28 - Nov. 8 Updates

Feature

Webhooks

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

enhancement

Checkout

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

Bulk Discount Uploader

  • Added error message when uploading discounts that already exist

fix

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

API

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.

Oct. 14-25 Updates

enhancement
  • Updated design for Apply Pay button on checkout
  • Added new Products page (Rulesets > Products) that lists all the products in ReCharge along with it's associated ruleset

fix

PayPal

  • Updated handling of PayPal's duplicate order id error when a charge is processed, then refunded, and then processed again

Customer Portal - Storefront

  • Fixed error message being displayed when a customer is attempting to edit a onetime product in the storefront customer portal
  • Fixed the search button on product swap to redirect customer to the correct page instead of the login page

API

Checkout API

  • Added status and authorization_token fields to the checkout_charge response to handle the 3D Secure 2 workflow (and the European SCA regulation)
  • Updated charge processing to use Stripe's latest endpoints to handle the 3D Secure 2 workflow (and the European SCA regulation)
  • Updated charge processing to use Braintree's 3D Secure 2 workflow (and the European SCA regulation)
  • Added ability to handle Authorize.net as a payment processor
  • Added additional shipping address validations
  • Added additional billing address validations

Sep. 30 - Oct. 11 Updates

enhancement

Braintree/PayPal

  • Added shipping address to Braintree and PayPal transactions

Webhooks

  • New architecture released to send all outbound webhooks

fix
  • Fixed 3D Secure 2 re-authentication page to display the last 4 digits of a customer's credit card
  • Fixed PayPal error that requires US states codes to be 2 characters

Merchant Portal

  • Fixed "Cancel subscription & stop retrying" button
  • Fixed customer names with special characters to display properly
  • Fixed display of currency to store's currency on the create new discount page
  • Fixed the toggle switches to save the selected setting in the "Additional settings" section of the "Notification settings" page

API

Checkout API

  • Updated Process checkout endpoint to handle Stripe's Payment Method tokens
  • Fixed bug that didn't create an order if the checkout only contained a single onetime product
  • Added external_checkout_id and external_checkout_source fields for the Create and Update endpoints

Theme Engine v2
  • Added ability to pass the commit_update field and set to false on subscription update to delay charge regen
  • Fixed shopify_details data not being appended to the product data object when a collection_id is not set on the product

Integrations
  • Ability to remove the Zapier integration