Custom configuration of the Stripe Customer Portal via API?

I found this online and I have a very similar use case - 2 different user roles needing access to different Stripe products. Does anyone know how to adapt this to Bubble logic, specifically in the Bubble API connector plugin? I don’t where these parameters go, or how to implement them specifically and the Stripe API documentation is all greek to me. I am desperate; been trying to solve this for weeks. Please take pity on me, lol. I will pay you $50 if you can post a video showing me specifically how to do this.

First thing is to setup the billings configuration

https://stripe.com/docs/api/customer_portal/configurations/create

and focus on setting the values for products and prices as child parameters of the subscription.update parameter

This will provide a configuration ID

Then use that ID when creating a portal session

https://stripe.com/docs/api/customer_portal/sessions/create

Thanks boston85719.

Any chance you have a screenshot for what “focus on setting the values for products and prices as child parameters of the subscription.update parameter” looks like in the Bubble API connector?

This is what I put in there (I don’t know if I have the content type correct, when I initialized without it, I got an error saying ‘Invalid request (check that your POST content type is application/x-www-form-urlencoded)’ :

but I’m getting this error when initializing:

The error is telling you that you did not add the parameter for business_profile…if you add that it might produce another error indicating other parameters missing. Check through the Stripe documentation for all mandatory parameters and add them to your call.

Added but still getting an error. I don’t actually know the syntax for how to include a parameter key or how to know what/how the value of that parameter should be written because copying/pasting the Stripe syntax (ex. business_profile.privacy_policy_url) doesn’t seem to translate to what bubble wants. In this screenshot, I just copied what someone else did, but I don’t know how to read what it wants now…the errors don’t make sense to me.

image

The error is indicating the JSON is not able to be parsed, which I think implies it is incorrectly structured.

I have never done this particular setup before so I have no prior experience to reference to say how to do it.

One thing though, is typically, it is best to put all of the parameters into the same structure, so either put the business_profile parameters into the JSON body as well or move the parameters from JSON Body into the Parameters section. Likely, the first is the better choice.

I’m also not sure why there is the blank at the end of the features parameter set.

I didn’t realize best practice was either using parameters OR putting something in the JSON body - that’s helpful information, thank you.

For when Stripe requires features parameters, like the screenshot below, is it requiring ALL of the child parameters or just any one of them? I am only trying to update the portal to show certain products to certain users, so I am not sure if I need to specify all the other ones as well?

I am not sure I have never needed to use this feature before, but usually Stripe will put in Red Text next to a parameter the word Required if it is required, and if it is not required you would not see red text

From the looks of the screen shot, it looks like the features object is Required, but not all of the child parameters

Hi @calicass83 did you ever manage to solve this? I’ve got the same use case

Hey @harry7,

This is an example, but it should look something like this:

Make sure to set:
Content-Type equal to application/x-www-form-urlencoded in the header

1 Like

Really appreciate this, managed to get it to work this way.