Iāve been having some trouble with this plugin and am in need of some help.
Iām creating a tutoring marketplace where I link students and tutors. I have a repeating group, where each cell is a tutor listing (1 cell per tutor, essentially). Everything is working great, except for the fact that on the last step of payments, I get an error when Iām connecting the buyer and the seller. Iām getting an error for my header value.
And here is how I defined the Seller_ID previously in my workflow (I created it within the ācurrent userā section, then added it as a variable within āListingā)
If the tutors had their own pages where they were paid, the header value in the workflow would be as follows:
(header) Stripe Account: Current Page Serviceās Creatorās Seller_ID
However, it seems that because tutors have their advertisements within cells in a repeating group, I canāt use the above syntax.
I tried posting on Zeroqode, but every time I tried to login to the forum section, it said there was a problem with my account and I should contact the administrator.
First of all, please allow us to recommend you to check our Demo Page for the plugin, because there you find the correct settings:
As for the issue with the error in the Header, please check the privacy settings for your users. It is possible that Seller ID is visible only to the Current User so they are not visible to the API (plugin itself).
If the privacy settings are correct, let us know and we will continue to investigate the issue
In case the steps before this were configured incorrect - the process might be wrong.
Thus, these are the required steps to follow, as per our demo:
create a bank account token
when bank account token is created, you implement the following action steps: 1) creates a new seller; 2) sets the SellerID etc. (but it would be best to save this SellerID into your database at this step, as youāll need it later on)
separate button for creating a card token
when card token is created, you implement the following action steps: 1) create a customer; 2) set state CustomerID; 3) set state CardID; and when actually paying, you have to: 4) Link customer to a seller; 5) seller charge a customer etc.
As for Connect express/standard account action, it is important to mention that youāll also have to Complete express/standard account connection afterwards.
When connecting, you have to specify the redirect_uri that you want your user to be redirected after saving Stripe information, and make sure this URL is present in your Stripe Dashboard.
When completing, user gets back to your provided page and will be redirected with a URL param. After this action step, you have to also save the resulted ID from the previous step (into your database as previously mentioned for seller ID).
Please check the suggested thread and our docs as well, for more information. Try to replicate the demo including all steps with appropriate details, then give it a try again.
On our Demo Page, you can try it by pressing on āTry Demoā button.
Please check all these steps and let us know about the result.
Best regards,
Zeroqode Support Team
I think I figured out what the issue is, but now I have an additional question.
I believe the reason it wasnāt working was because I donāt know how to define the Seller_ID so that it works within a repeating group. After doing some tests with some text boxes, Iāve realized that each cell has the same Seller_ID despite having different sellers. I believe itās due to the following reason:
Current Userās Seller_ID gives the seller ID of the buyer, not the seller (when browsing the list of sellers as a buyer).
While I donāt have an error in the header group anymore, I still canāt make payments.
How can I define a Seller_ID in a sign-up page, and have it carry through to the sellerās cell in the repeating group? I tried defining it in my ālistingā group but that kept giving me the header error. I ask this question with much more detail here Stripe Marketplace plugin: how to link a buyer and seller in a repeating group?
The only difference is that I changed the header value from āParent Group Listingās Seller_IDā to āCurrent Userās Seller_IDā., and I removed āSeller_IDā from the āListingā data set.
As we can see from your screenshot, the issue is related to the creating of the Seller ID within your application.
Can you please let us know if you created a Seller ID without the Repeating Group? So, in case the creation of the ID worked previously, there is a chance that RG affects the functionality.
Please find the workflow for this action from our Demo Page. You should just replicate the settings:
Also can you guide me, im trying to make a marketplace hold a charge and then after an action/time passes it will send the money to the seller with a comision for the marketplace.
Hello, @renegh
Thanks for using our plugin and for reaching out.
As we can see from the provided screenshots, part of the required data is missing in your workflow.
Please find the screenshots from our Demo Page with the correct configuration:
The most probable reason for the issue - incorrect creating of the Sellerās ID.
Please verify your keys and screens above, and let us know if it helps.
If not, share with you the screenshots of the keys and all workflow (not only one action).
Looking to hearing from you soon.
Best regards,
Zeroqode Support Team
Thank you for making this plugin and the video tutorial. I am struggling to determine which types of actions/events I need to use⦠and am wondering if you anyone can provide some direction.
*Context: I have a marketplace app much like AirBNB. When customers book from a host⦠I want to authorize a payment intent immediately at booking⦠and once the host accepts the booking (which could be a day or 2 later), I want to charge the customer the full amount. Then I want to wait until the end of their stay to disperse the payment to the host (minus our fee.)
What is the action I want to use? I am guesssing āCreate a session, mode = payment, Off_Sessionā
Am I creating a new customer right then? If so, how do I prevent creating duplicate customers when they buy again?
How do I handle the dispersment to the host? Do I have to tell Stripe right away the dispersement date⦠or can I schedule the dispersement within Bubble at anytime I want?
As a Marketplace, if you control the payout timing⦠does that make you an employer? Or are the sellers still considered contractors/self-employed.
Thanks for the reply. I think I solved my problem so I will post my results here for others to benefitā¦
Step 1: Booking Request
Make sure to have a Marketplace Token on page.
Make sure to have a āTransactionā data type in the DB.
When the customer clicks āBookā workflow = (Create Thing āNew Transactionā, Create Session w/Capture Method set to āManualā, update Transaction from step 1 with āSession IDā and āIntent IDā, go to Checkout SCA. This will AUTHORIZE the charge.
Step 2: Booking Accepted
When host accepts the booking, use workflow action āCapture a payment intentā and lookup the āIntent IDā from the transaction data type previously created in DB. This will CAPTURE the charge.
Step 3: Disperse funds to host
Scheduled to run 24 hours after guest check in, use workflow action āCreate a transferā to host. This will PAY the host their amount, while leaving any remainder in the platforms account.
*These instructions are not ALL INCLUSIVE. Youāll need to still reference Zeroqodeās above tutorial (which is awesome) for configuring the workflow action fields. These are just the added things I needed to do that were not included in original docs.
**For duplicates⦠it looks like just using conditionals on workflows if someone has existing stripe ID or not.
***I still have not found whether receiving the funds from the booker⦠and then transferring to the host at a later date causes any legal implications (such as now hosts become employees instead of self-employed) but Iām fairly hopeful it doesnāt so long as agreement terms language is clear.
With this dynamic data, Stripe doesnāt recognize the custom URL, and so it uses the default URL set in my Connect account settings.
If the URL must exactly match the URIās Iāve set in my connect account (which Stripe says is the case) then the only way for me to setup multiple functional redirects is to create a URI in stripe for every single user on my platform with their dynamic data. (which is certainly not an option)
I have different actions that need to be taken after successfully completing depending on the type of user setting up their account. How can I accomplish this if the URL feature does not function this way?
It is definitely not an option. We would advise you to set up the redirect on Bubble itself, and not the plugin. You can set up a redirect to a specifically created page and from there send a user to a page you would like them to be on. Also, you will have to save the URL to the database and check the URL for completed conditions, e.g: set up conditionals on the URL too, if the User/URL is ātrueā send a user to a āspecificā page. This method will likely take a little longer, but it is less complicated and more likely to work than setting it up dynamically for each user with the Stripe plugin.
Please let us know if you have any other questions.
The redirect URI function is made to send one type of user to a particular page after connecting their Stripe account. If you donāt want to redirect a user to another page you just leave the field blank and the user will be redirected to a default page in your application settings.
Please let us know if you have any other questions.
@ZeroqodeSupport checkout is successful on desktop but throws a Go to checkout a SCA error on mobile while mobile is vertical. If I turn my phone horizontal checkout loads and takes me to the stripe checkout page. Could you assist me with this?
It is indeed very strange behavior, however, we would suggest you to do the following steps:
Add a pause for a few seconds between the ācreate sessionā and the āGo to checkout SCAā
Check the logs in your Stripe Dashboard(developer menu), and please share it with us if there are any errors.
Try to change the browser to Google Chrome or any other on your iOS device, see if the issue still persists.
If you still have this after following the mentioned steps, please record a video (step by step action processing with the debugger on), to see where exactly the error happens so we can investigate it further.
In order to investigate your issue and provide a solution for this case, can you please share with us the screenshots of the āGo to checkout a SCAā action?
As we can see from the errors code, the session ID is incorrect. Please find example from our Demo Page: