Forum Academy Marketplace Showcase Pricing Features

How to Integrate Stripe Payments Course : Definitive Guide to Monetizing your Application via Stripe API

success URL should be formatted as in the screen shot below

Screen Shot 2022-05-17 at 3.56.06 PM

I think you will need to use the URL you provided, but after the page name (checkout_success_workshop) you should have /success?session_id={CHECKOUT_SESSION_ID}

From the look of the URL you provided it is an error because the URL is not formatted properly as it doesn’t contain a parameter for the session_id and it doesn’t provide a path for success

The course focuses on using Stripe Connect. From a quick look at what the Financial Connections feature is, that is likely already part of the checkout session process from which the purchaser is able to select to use their credit card or connect to a financial account.

I have not spent more than 5 minutes looking into it, but assume from what I saw that there is no separate API call for use with Stripe Connect to enable that feature and believe it is a default feature Stripe provides on a stripe hosted checkout page as an optional form of payment.

1 Like

Did you manage to get this working? I’m having similar problems, but integrating iDEAL with Stripe & Bubble doesn’t seem to have become (much) easier

hey @boston85719 I’m enjoying the class so far. Really well done. I have a question related to end of Customer Accounts API (ie ‘Create Login link’). The login link does work but from testing I’ve done the return_url doesn’t work. There is no “return” to platform button inside Stripe Express dashboard nor does signing out of Stripe Express dashboard ever return the ‘Express account user’ back to platform.

Question #1 do you think I’m doing something wrong or is the API setup for login link wrong/outdated? Stripe API reference – Create a login link – curl

Question #2 as a result of the above issues I’m opening the Login link in a new window using javascript. See my code below. Can you confirm all looks good?

Hi @guy.blueoceans

Firstly, thank you for your purchase and I’m glad you are enjoying the course.

The login link is not for customer accounts, it is for connected accounts (ie: seller accounts).

These are used for Stripe Express setup which is not the focus of the course. The course focuses on Standard Connect accounts. The course covers how to connect standard accounts using the URL provided by Stripe.

I don’t know how you have your API setup for creating the login link, but if it is the same as in the course editor, then it should be fine. It is in the editor as an ‘extra’ since it is not actually used in the course. It is however, still the correct call setup.

I don’t know how to use javascript for opening a website. I use the workflow action to open an external website, but if you were to use the open external website action and use the result of step 1 URL it should be fine.

The login link for an express account is used to allow a seller connected via the express account setup to login to their Stripe dashboard.


I am building a marketplace, so Stripe Connect would be perfect for it. Except for the fact that I live in Colombia (which is not a country supported by Stripe) and although I could open my company in the US, apparently, merchants should also be in a Stripe supported country, so they would all have to open companies in US (or any other supported company) to be able to sell in my marketplace. Is this true?

Cause if it is, this is obviously a big obstacle for people who want to sell in my marketplace, so I guess Stripe wouldn’t be an option for my app, in that case

I’m not sure you’d have to check the Stripe site for their policies. I’m not affiliated with Stripe so I am not sure what their policies are.

@boston85719 I recommend you use the Mercadopago plug-in, it works very well in Latin America and it’s free.

Thanks for replying!
Mercado pago is good but I need to be able to charge USD and mercado pago doesn’t support it. Also, it doesn’t have marketplace functionality

Having problem set up webhook for “account.application.authorized” and “accountexternal_updated” properly.

  1. Is there a mistake in your editor setup for "connected-account-authorized? This pic is from your backend wf Webhook section.

I ended up just copying your “only when” method from your backend wf “connected-account-updated” So I think it’s fine that way. but not sure

  1. I note the updated Stripe webhook area doesn’t have this checkbox for “include connect parameters”. Is that still a relevant detail? If so where I can find to enable?

  2. This is my my urgent question. I don’t see how your setup is working as intended. What I noticed happening is that when the when the “account.application.authorized” webhook hits my app, Stripe is momentarily labeling “body capabilities card payments” as “Pending” by Stripe (that card payment status seems to last for 30 seconds). As a result my backend wf is never able to properly update the Stripe Acct Status Option Set data field correctly to Active; it simply stays as restricted. By the time Stripe updates the card capability to Active / Charges enabled to “yes”; the webhook has fired/backend wf has run its courses and my app never updates correctly. I copied your steps exactly & am using test bank acct data as detailed here

But I note if I wait 1 minute and run “Stripe-Connected-Accounts - Get Account Action” on the front end, the “body capabilities card payments” information has updated properly to Active & same for enabled to Yes. But that approach obviously is not feasible. Have you encountered time lag issues that neutralize back wf/webhooks setups? Any recommendations?

Thanks for this course! I was really struggling to find a quality comprehensive guide to the Stripe setup. Within the first 24 hours, I already see tremendous value in this course and know it will help accelerate my development timeline! :pray: :clap:

Thank you for your purchase and the feedback. I’m happy to hear it is helpful.

I couldn’t find a suggestion in your videos for my use case and looks like I’m missing something.

Use case:
I create a stripe client and subscribe it to a Plan, with a discount.
The client logs in to the app, and he needs to pay for the Subscription.

In the backend:
Create the Client and Subscribe it, using Stripe.js

Subscribe create,
Payment behavior is Default Incomplete
Coupon, I pass the coupon code

I create the Stripe Checkout Session through API, and save its ID in the DB.

When the user logs in, he is sent to Open External Page , which the Stripe Checkout Session previously created and saved ib the db , URL.

The Checkout page opens, but the amount that is shown to be paid, and what’s paid is the default Price amount, and not the amount_total (that includes the discount).
For example the Price amount is 450$, the discount is 10%, the total amount is 405$.
The invoice created for this subscription is 405$
But on the Checkout page, I see 450$ and I’m charged for 450 instead of 405$.

I don’t think you are viewing my course as my course makes use of the Stripe API and does not use the stripe.js plugin.

You may want to double check what course you purchased as you may have purchased a course sold by the developer of the stripe.js plugin

Yes I did, have wrote the same question on yesterday.
That stripe.js was implemented before that, for that specific step.

My question was about your api, which I used for the subscription checkout session creation.
By the end, I figured out how to make everything how I need it.

The issue I have now with Subscription creation api (the direct payment one works fine):

  • Initiating the call, is ok, body ID, URL…
  • using the same Price ID, and customer ID, in the workflow, the checkout Session looks like it’s not created as in the debugger, I don’t get the URL.

update: I just deleted and copied it again and it worked.


Okay. I’m glad you got it to work.

btw, thanks for making time and creating these tutorials.

For EU and UK, there are a few nuances,

  • the Charge tool is not a good option due to SCA regulations and the need for 3d verification.
  • first payment should be on the session, so the user can authorize the payment quickly.

Are you referring to subscriptions? I’m pretty sure in the course the subscriptions portion shows the user as needing to pay during the session, as it does for in the products portion.

I don’t think the course uses the charge API for payments. The course uses the Checkout Session API for payments, but it does cover a lot of different API configurations, the Charge API being one of them, but for the purpose of retrieving data of past transactions/subscriptions, not for making a payment.

sorry, in a rush I didn’t make me clear
I wasn’t refer to your videos, mostly just added some info that thought in addition could be useful for your “students”.

1 Like