Comment on page

Upzelo Configuration Object

Parameters available for configuring Upzelo
Upzelo requires a configuration object to be passed into it to initialise.
It can be passed into window.upzelo.init and/or
Parameters in red are required. Yellow is required conditionally.

Configuration Parameters

Type: String.
The payment provider ID for the currently logged-in user.
customerId: 'cus_1234',
Type: String
The payment provider ID of the subscription that is to be modified or actioned against.
subscriptionId: 'sub_1234',
Type: String
Required: If mode = full
Usage: This is for providing the server-side hash
hash: 'bd9d2eca979333103b3d93a80e8efcbd0f8421813fdb9feefffde2206b4115e8',
addressId (Recharge Only)
Type: String
Required: No
Usage: This is only used for Recharge. This is used to be able to apply offers or cancel all subscriptions under a single address.
addressId: '234897sdjknf',
Type: String
Options: live, test
Default: live
Usage: Test mode will utilise the data available while using Upzelo's test mode. This means that it will use Flows, Audiences, and payment provider data that has been imported using your test key.
mode: 'test',
Type: String
Options: full, minimal
Default: full if hash supplied, otherwise minimal
Usage: This determines if you want Upzelo to action things on your behalf with your payment provider. If set to minimal, offboarding requests will appear in the Requests section of the dashboard for you to action yourself.
type: 'minimal',
Type: String
Default: button#cancel, a#cancel
Usage: A CSS selector to select which elements on the page should launch Upzelo when clicked.
selector: 'button#cancelButton, a.endSubscription
Type: String
Usage: Only set this if you have been advised by Upzelo support to do so.
provider: 'stripe',


There are some available callbacks that you can use to further extend the functionality of Upzelo. They run alongside what Upzelo does and do not replace that functionality, therefore they are optional.
Where a callback has the responses argument, it will be an array of Actions that the user saw (not all of the actions in the Flow), and whether an Action was accepted or not.
You should always check if it is defined before using it as there are a small number of cases where it might not be.
Type: Function
Default: null
Arguments: { customerId, subscriptionId, responses }
Usage: A function that runs at the end of a flow when the customer confirms that they wish to cancel.
onCancel: ({ customerId, subscriptionId, responses }) => {
Type: Function
Default: null
Arguments: { customerId, subscriptionId, responses, couponId, offerType, externalCouponId, planId, externalPlanId, offerDuration, offerDurationType }
Usage: A function that runs when a customer accepts an offer.
You can use offerType to change how you respond based on the offer type. Possible values are:
  • discount
  • pause
  • trial_extension
  • free_period
  • plan_change
onSave: ({ customerId, offerType }) => {
console.log(customerId, offerType);
alert("Thanks for staying with us. Your account has been updated");
Type: Function
Default: null
Arguments: { customerId }
Usage: A function that runs when the user closes the modal via the X button, clicking outside of it, or pressing the esc key.
onClose: ({ customerId }) => {
Type: Function
Default: null
Arguments: { customerId, error }
Usage: If Upzelo throws an error message to the user, it is available through this callback
onError: ({ error }) => {