Services Plugins FAQs

šŸ’³ Stripe Marketplace Express Checkout - New Plugin from Zeroqode

hey @alexandru since I got you hereā€¦

what type of API call is " Retrieve all charges"

is it https://stripe.com/docs/api/transfers/list or https://stripe.com/docs/api/balance_transactions/list
I cannot find it in API docs where you can define the Account ID to retrieve the transaction related to that account :thinking:

Hi @future4dev,

Thanks for asking. The ā€œRetrieve all chargesā€ is based on the Charges API - https://stripe.com/docs/api/charges/list in our plugin.

Let me know if I can help. :pray:

Best,
Alex

1 Like

Hi @sebastianymail,

Iā€™m reaching to notify that weā€™ve improved our plugin. Now, you are able to set the App Fee to 0 for ā€˜Create a sessionā€™ action, or leave this field empty so that you donā€™t charge a fee if choose not to.

Other:

  • retrieve invoices
  • invoices retrieval for subscriptions
  • change the app fee when the price is changed during the ā€˜Capture payment intentā€™ action.

To try the new improvements, please upgrade the plugin to the latest version, refresh your app and give it a try again.

Thanks!

1 Like

Hi guys,

What are the workflow actions to charge a customer and then payout a ā€˜standardā€™ connected stripe account? and can they be in the same workflow?

Thank you,

Hello, @majd.sarhan. Thanks for reaching out.

There are a few ways to charge a customer - using the CC info and using the token, for example. Please take a look at our plugin demo page to find out some possible use cases:
https://zeroqode-demo-19.bubbleapps.io/stripe_extendend_demo

and check the plugin demo editor page, to find the example workflow setup:

Here is the list of the plugin content:

I hope this information will be useful for you.
Regards,

Hi @kate,

Thank you for your reply. I think I managed the charge a customer part. Now Iā€™m not sure if itā€™s possible to payout a standard connected stripe account through a workflow.

Thanks!

@majd.sarhan, I presume you may find some useful insights on this point in our Plugin Demo page or Zeroqode forum. There should be a lot of useful insights:
https://stripe.com/docs/connect/standard-accounts
https://forum.zeroqode.com/search?q=stripe

I hope it helps.
Regards,

Hey there!

Wondering if itā€™s possible to use the express plugin to apply a coupon to a subscription?

Thanks!

Hi @joe,

Thanks for reaching out. Yes, it is possible to apply a coupon to a subscription. To showcase:

image

The Create a session action where you are able to locate the Coupon field.

Our demo: https://zeroqode-demo-19.bubbleapps.io/stripe_extendend_demo
And its editor: Zeroqode-demo-19 | Bubble Editor

Docs: Stripe Marketplace Express Plugin - Zeroqode Documentation

Hope it helps.

Best,
Alex

Thank you! Is there a way to check if a coupon code is valid with the plugin calls by chance?

Also, with this ā€œcreate a sessionā€ call, do I just run the Create a Subscription first and then use the ā€œCreate a Sessionā€ to update it with a coupon?

Thanks @joe for feedback,

Please let us check on our plugin with developer team and get back to you asap!

Alex

Hi @joe,

Let me provide more insights here about plugin calls.

Create a session with subscription mode and Create a subscription calls are independent and are not linked in any way. You need to submit the coupon when creating the subscription. Thatā€™s the best solution both in terms of optimization and user experience. If you enter an invalid coupon you will get an error so only valid ones will work. Unfortunately, the plugin doesnā€™t have a specific call for that.

Stripe will handle the coupon validity at its own and will throw errors in case the entered coupon is not the appropriate one.

Hope it helps.

Hey Alex!

Any way to get the plugin to include a coupon field for the subscription creation by chance?

That way weā€™d be able to use this in marketplaces and allow coupons?

Thanks!

Hello - I am trying to to charge a user or group of users using the ā€œcreate payment intentā€ and ā€œconfirm payment intent workflowsā€ but am having a recurring error message that I donā€™t quite understand. I am using a workflow API that runs across a list of users and charges them via payment id when a seller completes an action. This workflow also uses the offsession parameter to run payment without a checkout. All sellers are created using express. I have tested this on a seller that is verified and can accept transfer as well as card payment. This is the error message in the log:


ā€œWorkflow error - The service Stripe marketplace - Create a payment intent just returned an error (HTTP 400). Please contact the plugin author directly for feedback. Raw error: { ā€œerrorā€: { ā€œcodeā€: ā€œresource_missingā€, ā€œdoc_urlā€: ā€œError codes | Stripe Documentationā€, ā€œmessageā€: ā€œNo such PaymentMethod: ā€˜pm_1Hv8d5AxhlWFVGNNgYvRjzu8ā€™; OAuth key or Stripe-Account header was used but API request was provided with a platform-owned payment method ID. Please ensure that the provided payment method matches the specified account.ā€, ā€œparamā€: ā€œpayment_methodā€, ā€œtypeā€: ā€œinvalid_request_errorā€ } }ā€

Stripe Responce Body:

I cannot find an example in the demo that shows the successful use of the ā€œ(header) stripe accountā€ field, in which payment is sent to a seller account id with the option of the platform taking a fee. However when I remove the seller id (prefix acct) from the workflow I find that I do not receive the error mentioned above, and the transaction completes - however the entire transaction goes to the platform. This is not ideal as I would like to use the ā€œ(header) stripe accountā€ field to send part of the transaction straight to the seller.

Since I am able to complete action without the stripe account field this leads me to believe I am missing something along the way as I am registering sellers for express accounts, or that express accounts do not work with this functionality. Either way any direction would be much appreciated.

Thanks!

Hi @joe @nikkomateo guys,

Please let us check on it and get back to you asap!

Best,
Alex

Hi guys,


@joe you can simply use the ā€˜Create a sessionā€™ action for your use case with subscriptions, and place a coupon because it is a more secure way due to SCA. The ā€˜Create a subscriptionā€™ action doesnā€™t include a coupon field but weā€™ll consider it as future improvement if feasible. :pray:


@nikkomateo you are trying to pay a seller connected to platform which is why before ā€˜Create a payment intentā€™ it is required to establish the connection between customer, seller and payment method, and to use the result of this step when you are doing the payment intent.

You can check our demo to find an example of how it is done, and perhaps replicate on your side to make it work properly :pray:


Hope it helps!

Hey @alexandru thanks for the response. I realized from searching your ā€œtestingā€ page of the demo that I needed to ā€œClone a Customerā€™s Payment methodā€ before creating a payment intent, and then use the cloned payment methodā€™s id as the new payment method. Clone customers across accounts | Stripe Documentation

Your team should build something like this into the functioning demo, as I could not find it. For example If you follow this flow:

  1. Navigate to Setup Box ā†’ Click Create A Session ā†’ and setup payment via the stripe session portal.
    <-and then ā†’
  2. Navigate to the Create an offsession PaymentIntent box ā†’ Click Pay $100 = The user is charged by the platform because the demo leaves the seller account blank:

In my use case the user sets up their payment settings via the Stripe portal in their settings page/signup flow, and doesnā€™t start off assigned to a seller. Once they interact with a seller, I must then clone their payment method so that it can be used with the seller. I think other people might run into the same issue if they are building a marketplace and not using the Charges API functionality, or relying on SCA.

Your suggestion to ā€œestablish the connectionā€ was my north star as I was navigating the demo page so I appreciate that suggestion.

Thanks again!

Sorry @nikkomateo,

Weā€™re a bit confused. Are you actually trying to recreate Stripeā€™s checkout so you can use your own UI and not being redirected to Stripe? Could you please describe the user-flow with a bit more details so we can provide a much better feedback :pray:

Hello hope you guys are well!

Sorry, not sure if i should ask here. But just something pretty basic.

After a session is completed, instead of using the canceled and success URLs to know if payment was made in the session, i want to just get data from stripe directly with the ā€˜session-idā€™, instead of leaving it for url params to be messed with.

So when i use the ā€˜retrieve a sessionā€™, there are a few parameters missing, the main one Iā€™m after is the payment status. (currency and amount would also be awesome) (see image below) Is there something i am missing (good possibility of that haha) or security or something? Could you recommend any other method to confirm the payment?

Also one other thing, when creating a session, i noticed on stripe, thereā€™s client reference id, i didnā€™t see in the create a session anywhere to add the ā€˜client reference idā€™, just would be awesome to be able to put a uuid to cart or something like that, just something a bit simple to match things up.

Thank you for future reply, sorry for being annoying, its not much of an issue, just trying to avoid creating calls myself, because the shit you guys make is awesome, and would love to use as much as possible haha

Cheers, haydn

Hi @haydos99,

Thanks for reaching out, and for your honest feedback!

The best way of confirming whether or not it was successful, this plugin has the Stripeā€™s Success/Cancel URL features built in, so you can simply use these instead of doing extra work at your own because these URL params do not provide any sensitive information but simply a text so you can see it yourself after checkout.

But if you want to store the session ID for confirmation as well, you can do it by saving into your database field as example.

Regarding payment status, this feature is not available via our plugin, unfortunately, but weā€™ll consider these as roadmap features for future updates, if feasible.

The client reference id can be retrieved by using Retrieve a session data call:

image

Hope it helps.

Let me know if you have other questions!

Best,
Alex