💳 Stripe Marketplace Express Checkout + SCA 3D Secure - New Plugin from Zeroqode

Hi @jeff12,
Thank you for reaching out.

Sure it is possible, for this you have to use the action: Seller charge a customer

This action call gives the option for stripe accounts connected to your platform to charge customers while you as the platform owner will receive a fee from that transaction. The source for this action call needs to be the resulted ID from the Link a customer to seller call.

Link a customer to a seller

As described above this action call is used when a connected custom account needs to charge a customer. If the customer doesn’t have a card source you should add one first and then use its ID in this action call. Also, this call gives the option for customers to use a card from their list of saved cards. To retrieve the list of a customer’s cards use the Retrieve a customer action call.

Please check the plugin demo editor page for more workflow examples and the supporting documentation for a detailed description of the plugin’s actions and data calls.

If you require any further information, feel free to contact us.
Best regards,
Zeroqode Support Team.

Thanks for the detailed response! That seems to be the correct route when I’m trying to make the payment from a customer with an existing account. However, what do I do if I’m trying to have a customer pay a seller without creating a customer account or saving card information. I’m thinking something similar to this portion of your demo page:

Hi @jeff12,
Thank you for your reply.

For this, you need to use SCA Action Calls: https://docs.zeroqode.com/plugins/stripe-marketplace-express-plugin#154b5c22b25a4b5c887cc9133872a38e
Use the plugin action: Create a session (SCA related)

  • This action call is used to create a Checkout Session that represents your customer’s session as they pay for one-time purchases or subscriptions. It should be used to start the process of collecting card details and creating a customer, to pay for an item or a subscription. Specifically, there are 3 modes that can be used: setup, payment, and subscription.

Next step: Go to checkout (SCA related)

  • Use this to redirect a user to the checkout page using a previously created session. For doing this the element SCA should be on the page.

Please check the screenshots below for more details, also the Seller ID can be dynamic, for instance, Parent’s Group Seller_ID (the seller who uploaded the product inside your app and has a seller ID assigned to it in the database):

Summary





Please check the plugin demo editor page for more workflow examples and if you preview it you can run any actions in step-by-step mode to see how the workflow is executed.

Hope it helps. :pray:
If there will be any other plugin-related questions, please don’t hesitate to contact us, we’ll be glad to help.

Best regards,
Zeroqode Support Team.

Hi, I am trying to create new test connected accounts sellers (in test mode). Currently, I am able to go through the whole process smoothly. I can get the stripe seller id using the workflow below. The issue is that within my stripe dashboards, the respective connected account is not created at all. It’s like my seller ID is a ghost and never existed. I’ve checked my api logs in stripe and nothing is being reported. Funny thing is that in the past, I have used the exact same workflow and I was able to create multiple connected account within Stripe.

But IF I create a test connected account from Stripe UI, everything is working fine and I can see the new connected account. Anyone knows why please? Thanks in advance!!

Hello @kl1

Thank you for reaching out.

Would you mind sharing the workflow on how you configured “Connect express/standard account action”? We would recommend checking out the following setup in the demo editor: Zeroqode-demo-19 | Bubble Editor, particularly complete/account connection and connect actions.

Also, the action “Stripe Marketplace - Complete Standard/Express account connection” should return SellerID if that does not happen please check your keys.

Looking forward to your reply.

Regards,
Zeroqode Support Team

Thank for getting back. I have found the bug after 8+ hours going crazy. What I did is add the ‘refresh page’ (see step 9) in my original screenshot. This made step 1 (complete express/standard account connection) run for a 2nd, 3rd, 4th… times and when this happens Stripe automatically & immediately deletes the newly created seller account as the authorization key or whatever is meant to only be used once. Don’t ask me why, maybe Stripe considers this as spam and prefers to auto-delete the respective seller account. Actually Stripe deletes the account so fast that you never see it appear in your list of connected accounts in stripe UI. Let us know if you know the reason?

So my solution was to remove the refresh page action and add a condition in step 1 that ensures that this step only runs once, the first time the user is redirected after completing the stripe onboarding. Cuz if you dont have such a condition and for some reason some of yours users refresh the page while still having the ‘code’ parameter in the URL, the respective seller account will be automatically deleted (i have manually tested this).

So I think it’s very important you add this in your docs to prevent other bubblers going insane over this.

Hi @ZeroqodeSupport ,

I have simply added this condition below to make sure that this action only runs once per user even if the user refreshes the page for whatever reason. As mention, if this runs more than once for the same user, from the 2nd api calls onwards, the respective seller account is deleted in stripe.

Thanks for the additional information @kl1

From the screenshot that you have shared, it can be seen that the API keys have not been filled in, are you using the latest version of the plugin, and have you filled in all the required API keys?

Looking forward to your reply.

Regards,

Zeroqode Support Team

Yes, the API keys have been filled properly. As mentioned above, my issue is resolved, everything is now working fine. I just wanted to warn others that sending more than api call for that ‘complete express/standard account creation’ could automatically delete the newly created seller account.

Hey Bubblers, let us share some good news here :partying_face:

We have pushed a plugin update, that has added a new action that allows split payments, also giving related custom states.


To check changes, please upgrade your plugin to the latest version (Version 1.54.0: Added “Creating separate charges and transfers” action and fixed “Create Subscription & Update Subscription” actions) and give it a try.

Check the example of the split payment use case and more info here: https://stripe.com/docs/connect/charges-transfers

Please note that by Stripe policies, split payments are available only in following regions:
Australia, Brazil, Canada, Europe, Japan, Malaysia, New Zealand, Singapore, and the U.S.

If any plugin-related questions will appear, you know where to find us :wink:

Regards,
Zeroqode Support Team

Hello - I just configured using your setup for example “Payment #3” and I got this error message telling me to report the error to the plugin author.
Can you please advise?
image

Hello, @jones.joshua.d
Thanks for reaching out.

This error means that you haven’t completed the SessionID for your payment.
The first step in this workflow is “Create a session”, where should be completed all these fields:


When this step is configured, you are adding the “Go to checkout SCA Create a session”. which retrieves information from the previous step:

We assume that you missed the first step in your workflow, this plugin threw the following error.

Please check it and let us know about the result.
Best regards,
Zeroqode Support Team

Thanks! I’ll give it a try

Hi @ZeroqodeSupport ,

When registering a user as a seller I want to add certain capabilities, namely for tax reporting as seen here: Account capabilities | Stripe Documentation

I’m getting the following error, any ideas?

Hi @ramzizi, thanks for your patience.

We have pushed a plugin update, that has fixed the issue related to the capabilities field.

To check changes, please upgrade your plugin to the latest version (Version 1.59.0: Fixed “Connect express/standard account” action) and give it a try.

Regards,
Zeroqode Support Team

Thank you, that works now

Hi @ramzizi, glad to hear that it works :hugs:

If you like our plugin, we would be grateful if you could rate it by going to the Plugins tab in Bubble editor. Find the plugin by name and gives it as many stars as it deserves

The more feedback we get, the more motivated we are to improve things in Bubble.

Regards,
Zeroqode Support Team

Hi @ZeroqodeSupport
Whould you tell me the easiest way to split sales in the EXPRESS account as follows?


Hi @anon30612128, thanks for your question.

Allow me to recommend using the “Create separate charges and transfers” action for this.

Please find some simple examples of setup here: https://bubble.io/page?type=page&name=stripe_market_lv&id=zeroqode-demo-24&test_plugin=1643786258178x195959577997213700_current&tab=tabs-1

Hope this helps. If there will be any other plugin-related questions, please let us know.

Regards,
Zeroqode Support Team

Thank you for your reply. @ZeroqodeSupport

Would you please help me to resolve this error?