Test Webhook Connectivity

Summary API Feature 

ReCharge has added support for testing webhooks, leveraging our latest, highly performant webhook architecture!

How to

Using the ReCharge API, you can now POST to the following URL, using a webhook_id that you have registered using your API Token:

https://api.rechargeapps.com/webhooks/<webhook_id>/test

Immediately following your request, a webhook with empty payload will be delivered to the registered address. This enables users to quickly and easily verify that they can receive Webhooks from ReCharge.

Learn more

For details, and to learn more about ReCharge Webhooks, visit our API documentation here!

New Webhooks for Refunds and Cancelled Orders

With an average latency of just two seconds, webhooks are the best way for your connected applications to get real-time notification of events within ReCharge. In addition to significant performance improvements, ReCharge now offers two new webhook topics to keep systems in sync.

  • charge/refunded - When a charge is refunded from within the ReCharge Admin Portal or via API, a charge/refunded webhook will be dispatched to the subscribed URL. The webhook will contain the standard payload of a charge, included a total_refunds parameter to indicate the total refunded amount (in dollars) associated with the charge. 
  • order/cancelled  - when an order is cancelled from within the ReCharge Admin Portal or via API, an order/cancelled webhook will be dispatched to the subscribed URL. The webhook will contain the standard payload of an order webhook, including a status indicator denoting that the order has been cancelled.

Learn more about using ReCharge webhooks, including a comprehensive list of available topics, by checking out the ReCharge API Reference

ReCharge API - Sort Results of GET (list) Requests

How does it work? API 

When retrieving lists of data with the ReCharge API, users can now include a sort_by parameter in the URL of the GET request to specify the order of results. Sort_by values indicate the parameter to sort on, and the direction of sorting (such as updated_at-desc). 

Example:

GET https://api.rechargeapps.com/orders?sort_by=shipping_date-desc

Where can I learn more?

Available sort_by values vary between endpoints. For a complete list of available sort_by values for each resource, and to learn more about sorting API results, see the "Retrieving Data" section of our API documentation

Discounts by Channel, Async Batch API, and More...

Feature

Discounts - Channel Settings

  • Merchants can now control which channels (checkout, customer portal, etc.) will accept a discount. This is a great way to offer subscriber-only discounts (only applicable in the customer portal channel), admin-only discounts (only applicable in the merchant portal), and more.

Enhancement 

  • Added option to turn off failed charges handling by ReCharge so that it can be handled by a 3rd party service. Useful if you have 3rd party service handling your dunning emails and charge retries.
  • Added an option to control if one-time products are available for purchase on the customer portal
  • Customer email is now included in the new subscriptions CSV exports 

API & Webhooks 

Async Batch API - Updates

  • Async batch API permissions are now available when creating an API token
  • New batch_types to create, update, and delete products
  • New batch_types to create, update, and delete subscriptions 
  • Attempting to process an async_batch with 0 tasks now returns an error

Webhook - Updates

  • Subscription/updated webhook is triggered upon subscription activation and cancellation
  • Fixed a bug resulting in empty charge/created and charge/updated webhooks
  • Fixed a bug resulting in missing address/updated webhooks

API - Enhancements

  • Subscription cycle parameters are now added to Shopify order notes_attributes for Signifyd integration users
  • Improved validation for phone numbers when creating a customer via API
  • Customer payment method updates are now reflected on customer object without processing next charge

API - Bug Fixes

  • Fixed a bug where entering emoji in discount code field caused 500 error

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


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

UTM Parameters & Cart Attributes

Feature

Cart Attributes & Note

  • Ability to add a cart attribute (or several) using a URL parameter(s) on the cart page

    /cart?attributes[where-from]=came-from-newsletter-2013-02-14&attributes[some-other-key]=some-value
  • Ability to add a cart note using a URL parameter on the cart page

    /cart?note=came-from-newsletter-2013-02-14
  • Ability to add a cart attribute (or several) using input fields on the cart page

  • NOTE: Version 3.2.4 (updated on 2020/01/23) or later of the subscription-cart-footer.liquid file is required to use this feature. If you have an earlier version, please contact the ReCharge Support team to update this file to the latest version.

Link to Knowledge Base article

UTM Parameters

  • Ability to add UTM parameters from Shopify cookie to the cart attributes and following ReCharge records:

    • Charge
    • Customer
    • Subscription
  • NOTE: Version 3.2.4 (updated on 2020/01/23) or later of the subscription-cart-footer.liquid file is required to use this feature. If you have an earlier version please contact the ReCharge Support team to update this file to the latest version.

Link to Knowledge Base article

Cart Attributes on Checkout pages

  • Ability to access cart attributes and cart notes on all pages of the checkout using the cart_json object

    • Page 1 - Shipping information page
    • Page 2 - Billing information page
    • Page 3 - Thank you page

Link to Knowledge Base article

API

Subscriptions API

  • Added utm_params to the response object

Customers API

  • Added utm_params to the response object

Charges API

  • Added utm_params to the response object

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

Show Previous EntriesShow Previous Entries