Customer Portal Configs

Customer Portal Configuration Options

Required Configs

email

Type

Required

Description

String

Yes OR customer_id

The customer's email address. This will automatically populate checkout, or be used to identify current subscribers. Can alternatively use customer_id.

{
    email: "example@google.com"
}

customer_id

Type

Required

Description

String

Yes OR email

The customer's Stripe Customer ID. This will be used to identify existing subscribers or subscribe new customers. You must have already created the Stripe Customer object to use this.

{
        customer_id: "cus_FtWXI6U0YxebLd"
}

hash

Type

Required

Description

String

Yes

An HMAC string used for authenticating the user loading the embed more securely. This is required in order to go to 'Live Mode' in Billflow (connected to 'Live Mode' in Stripe). The hash is generated with your Billflow Secret and the customer's email or Stripe Customer ID, whichever you are using to identify users.

{
    hash: "0709c7f107ed6326aaeaa3810330834870591f3924943e7bce66a826ac532045"
}

Available Configs

subscription_id

Type

Required

Description

String

No

The Stripe subscription ID. Pass if you want a user to only see and manage a single subscription. Used if your customers have multiple subscriptions and you only want them to view one.

{
    subscription_id: "sub_I9cJJypSQHOfzl"
}

service

Type

Required

Description

String

No

The Billflow service. Use this to dynamically pass in different service to the billing page.

{
    service: "Your Service"
}

handleResponse

Type

Required

Description

Function

No

{
    handleResponse: async function(payload) {
      console.log("Event ", payload.event);
      console.log("Response Object ", payload.response);
    }
}

options.quantity

Type

Required

Description

Object

No

Use to set the quantity of a subscription during creation. Can pass in an integer or an object of key-value pairs. The unit_label is defined on the Stripe product and used to define which quantity is being set. If an integer is passed, it will apply the quantity to all products on the tier, if an object is passed with the unit_labels as keys, it will assign that quantity to the respective unit_label.

Eg: 5

OR

Eg: {product_unit_label1 : 10, unit_label2: 20}

{
  options: {
      quantity: {
        super_user: 3,
        user: 5,
      },
  }
}

Last updated