Services Plugins FAQs

Stripe Marketplace Plugin Help: Trouble Configuring + Setting App Fee in Cents

Hello, I am new to bubble and the zeroqode plugins, thank you in advance for your help and patience!

GOAL: I am creating a marketplace app that allows sellers to sell their products to customers 3 ways:

First: On the main seller dashboard, they will click a button and a checkout form popup will appear. They will enter the customer details to process the transaction. After the transaction is successful, the seller will get an alert and the popup will hide.

(17 second loom video example: Loom | Free Screen & Video Recording Software)

Second: Sellers can create/share links that customers can click to make a purchase (this is how normal digital product shopping carts/checkout pages work)

(example of what I want to accomplish: https://wealthweekly.thrivecart.com/course-riches)

Third: Shopify/Ecommerce style: Sellers will have a page with a list of their products. Since I have the customer cards on file, I would like customers to be able to purchase those products with one click.

NOTE: With all three transaction options listed above, if this is the customers first time making a purchase on the platform, I want the workflow to register them as a new customer as well as process their payment transaction within this one process/workflow.

I have read the Stripe Marketplace Plugin Documentation several times (Stripe Marketplace Express Plugin - Zeroqode Documentation) and I have the demo workflow open (Zeroqode-demo-19 | Bubble Editor).

I am attempting to model it step by step, but I am getting several errors (and some things simply aren’t clear).

Here are my workflows:

A. Popup Checkout form workflow

  • when order button is clicked, a card token is created

  • after the card token is created, the card token workflow 1) creates a customer, 2) set state CustomerID, 3) set state CardID, 4) Link customer to a seller, 5) seller charge a customer

B. New Seller Stripe Express Account Workflow:

  • when the Connect Stripe button is clicked, a bank token is created:

  • when the bank token is created, the bank token workflow 1) creates a new seller and 2) sets the SellerID

I need help setting this up correctly, and I have quite a few questions:

  1. I tried to process my first transaction, and I got this error:

  1. If I want to charge a 5% app fee, How do write the app fee in cents?

  2. Do I need a seller to register for the stripe account before I successfully process a transaction?

  3. When adding a seller to my app, Do I need the uploaded front and back images to make a successful connection to Stripe?

  4. When adding a seller to my app with the Express option, Can I manage the entire Stripe account creation process on a custom app page I create OR do I also have to send them to Stripe to go through the OAuth process?

  5. I am having trouble understanding how the Connect express/standard account and the Complete express/standard account connection works in relationship with the redirect URI inside of Stripe.

A. I have my redirect URI set to (https://arttwork.com/poststripeauth). There is also a bubble URI listed as an alternate (Stripe Authentication). I imagine I am supposed to use my own domain, but I am not certain where this URI link actually sends my sellers once they complete the new account setup.

B. When using the Complete express/standard account connection, which page needs the workflow to get the url parameter code?

C. How do I pull the data to save the “stripe_user_id” to my database?

  1. Do I need to add “bearer” in front of all of the keys to make it work (or just the API keys)?

This is tough to setup for new bubble users. A video demo of this being created would be very helpful

Thank you again for your help

Suresh

Hi @arttworkapp,

Thanks for reaching out and using our products! Please let us check on the use cases and I’ll get back to you with a reply asap.

Best,
Alex

1 Like

Hi @arttworkapp,

Let me give some insights to help you here.

You have a very good looking app! So, for this part:

We can see that you’ve tried to implement the workflow with appropriate steps, which is right. But, it just requires a couple of adjustments and explanation.

Yes, you create the card token first.

After card token is created, the following steps are correct.

When you create the bank account token, if your country is US, then you have to specify the Institution Number:

You can click on show documentation for more information. When bank account token is created, you implement the following workflow:

Which has to be adjusted a bit. For Step 2, you actually have to save the SellerID to your database, which can be accomplished by simply making changes to the current user, where you create/select the field to save the SellerID based on the result of previous Step 1 (it returns the seller ID). Because, you’ll have to actually use this seller ID later on. You can also use the saved value into a state, but if you’ll refresh your app page, the seller ID will become empty, so it’s better to save it into your database.

image

Based on this error, I assume it pops up because of some previous issue with seller ID. You have to make sure that you save the seller ID as mentioned above, and when you actually perform a charge, you have to indicate the value of that seller ID for the (header) Stripe-Account filed value:

image

For this one:

The App fee is already in cents, but you can add here any kind of formula you’d like.

Yes, you need to have the seller account registered, and you have to make sure that its account is marked as verified and its complete in your Stripe dashboard.

It would be best to add them, because you’ll need later on anyway.

Unfortunately, it is not possible to manage on a custom app page. It is required to send them to Stripe to go through the OAuth process.

So, you have to use the Connect express/standard account for user to be sent to the Stripe page and fill in all the information, then user submits and it is redirected to the specific page you assign it to the Redirect Uri field:

image

If you leave this field blank, it will use the default URI provided by you in your Stripe dashboard:

Here you can add multiple URIs, and set the default one if you will. As for Complete express/standard account connection - it is used to complete the connection, so when user gets back to your provided page, it will be redirected with a URL param. After this action step, you have to also save the resulted ID from the previous step, in your database. (as previously mentioned for seller ID)

This one really depends on your taste and where you want to get your users back to your application.

When you perform the action for the stripe_user_id, you save it with the same process as mentioned above, by simply making changes to current user and save it to a database field.

The Bearer has to be added only in front of: API key, API key dev.

Unfortunately, we cannot make a demo for forum requests. But, we have built demo applications where users can test the plugin and preview the editor. Plus, we encourage to check plugin’s documentation Stripe Marketplace Express Plugin - Zeroqode Documentation. This plugin is intended for more advanced users and might be really frustrating for beginners, indeed.

Hope it is helpful.