Forum Academy Marketplace Showcase Pricing Features

Stripe keeping money 14 days?

Hi,

Here’s a payment I made in test mode yesterday (4th of july), announcing the money will be available on 07/18. Wow ! Is this possible ?

Thanks,

Michel

Well, first it won’t ever get into a bank account since it is in test mode and actual cards shouldn’t go through, instead use their test numbers: https://stripe.com/docs/testing

Secondly they share their settlement dates but it depends on the industry or even the local , certain industries may take up to 14 days due to disputes or account verification:
https://support.stripe.com/questions/waiting-period-for-first-payout-on-stripe

1 Like

Hello,

Thanks for your reply.

In fact, I wasn’t clear enough in my post. At this moment, I don’t try to pay any money out of Stripe. I’m just trying to get my first transfer functional (to a connected account), and, yes, I was aware it wasn’t true money haha :slight_smile:

So I got this error message, when trying to initialize an API call :

"code": "balance_insufficient"

But as I correctly confirmed some payment intent, I got (virtually) enough money on my platform account. That’s what I see in the Stripe balance screen.

So, and maybe it’s a mistake, but I assumed the money wasn’t available. And when I came across the above mention in the screenshot, I figured that was the problem.

And thank you for the link. As I’m in developpement tests, I probably selected some Industry when creating the Seller testing account (I just took the first one ine the dropdown) for which Stripe keeps the money 14 days.

Hope it won’t be the case for the true domain of my platform.

Thanks again.

For it to work:

  1. needs to be a live transaction
  2. needs time to clear the banks (the 4th is a weekend, reconciliation usually doesn’t happen on weekends at least for USA)
  3. The account’s industry hold days must pass (ranges from 7-14 days)
  4. Your first deposit may take longer
  5. You must complete all appropriate proof and documentation for a payout (varies by country)

Please don’t post screenshots of random items you find on the internet. That makes it harder for people to help because usually there are clues in there. We do look at them and the one you selected was clearly a test account.

And this is really a Stripe issue not a Bubble issue and there are plenty of responses for that error code if you Google it.

But the answer is… Wait… It isn’t instant for payouts for multiple reasons.

Hi,

I was precisely expecting some shortcut (kinda the money is available immediatly) as this is test mode (as Stripe do with onboarding experience in test mode : you don’t have to feed ID scans, you can use “0000…” phone numbers…). So y couln’t we play without limits when developping.

This is not a random picture, this is my app, and, yes, I’m in test mode.

But you’re right, this is more a Stripe “issue”. I was hoping finding here someone who could get the same way than me, struggling with API connector, Stripe instructions and err messages.

Thanks,

Michel

I had read this about 6 times to get all the info. This is a confusing post since info keeps being added. Always give more info than you may think is needed.

So if I understand you have a 2 sided market place and are using Stripe Connect. With this you have:

  • Created your main Stripe account and are operating in test mode
  • You have created test accounts with associated users with appropriate deposit bank accounts and documentation steps
  • You made a proper transaction on the test account with test credit card numbers

You are now wanting to test to see if the payout can be triggered from a valid test transaction to a verified test seller

Follow these test items, pay attention to the account numbers used for deposit since they are designed to give error codes based on what is entered for the test seller account.

I think then you would want to manually kickoff a process to trigger the transfer to the seller account. You will have to do this via the API connector. I would do this either by having a button appear only if the version is test to kickoff the workflow. Not a click 1 button solution as one would hope.

This thread did it: At my wits end with this - Stripe Connect Accounts

I’d also be OK and having it trigger after 14 days automatically.

You picked a fun one…

Haha yes I did :slight_smile:

Thanks for your precise answer. Yes to all your points.

I’m checking your links.

Sometimes hard to me to be clear as my native language is french.

It is even OK to state English isn’t the first language.

I’d try this debit card number with a seller that has the successful payout: 4000056655665556

If you use the default 4242424242424242 number I bet it holds and doesn’t trigger payout like you want.

Did you use the 4242 card to test?

Yes I did :

  • payment method 4242… attached to the customer (current user)
  • payement intent created with the cart, updated with the PM, confirmed and finally successfull in the Stripe dashboard.

Then, using an API call with the Bubble Connector Plugin, initialization doesn’t work (message I was talking about above : balance_insufficient).

If I’m using the Copilot Stripe.JS call (Stripe.je - Transfer - Create) in a workflow, then the error is different :

{
  "error": {
    "code": "resource_missing",
    "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
    "message": "No such charge: pi_1H1TriCR8CqqeeFQ8Yxg82fd",
    "param": "source_transaction",
    "type": "invalid_request_error"
  }
}

That’s strange, because the payment intent ID is correct (that’s the one that was used to allow a customer paying the platform.

Gonna check all this with the cc number you mentionned.

Thank you,

Michel

Sorry I didn’t get you.

Yes I made the payment with 4242PM, but this has nothing to do with our stuff.

And so, no, I didn’t use any 4242 for the Seller’s bank account. I used the one suggested by Stripe in the Express accounts onboarding process, which is ending by 7061.

Please read those documents again. If you want to initiate payment to the seller via the test area you need to do 2 very specific items:

  1. seller must have the bank account of: DE89370400440532013000 (EU bank, if you want USA select the USA one from the stripe testing document I shared)
  2. the card used must be 4000056655665556 NOT the 42424 general one.

If you use those 2 items and the seller account was created and approved (see that link again for how to do that with the ID and other items) the payout should succeed and it should approve and payout in Stripe Test area.

I think you have a setup item wrong because you’re not following the testing documentation for payouts.

You keep adding more info each time. Please list all the items you are doing and plugins associated with Stripe.

Also share what you expect the outcome to be.

Hi @michelduprez.

Assuming you’re looking for payments in Test Mode that bypass Stripe’s settlement process, you can use the “0077” card to push funds right into your active platform balance: 4000 0000 0000 0077. Stripe offers a few transfer methods to pay your sellers including one that automatically triggers a transfer after funds have settled for real-world scenarios. :slight_smile:

Hi,

I tried everything you mentionned, but now I got again this error message :

{
  "error": {
    "code": "resource_missing",
    "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
    "message": "No such charge: pi_1H1cWtCR8CqqeeFQDlAUIZbx",
    "param": "source_transaction",
    "type": "invalid_request_error"
  }
}

Actually, the Express account onboarding process was proposing a testing account number, different (…14000) than the one you’re pointing out for Deutschland. That previous account didn’t give access to the identity checking procedure. Now, thanks to yours, I was proposed to “prove” the seller identity with test documents. That’s great. Now my Seller is OK. That’s a step further.

I used the Debit Card you mentionned.

But I’m not sure that any of theses solutions fit with my issue.

Just to be sure : when I’m creating the transfer, do I just have to set the Payment Intent ID that I used to let the customer pay ? That sounds logical, but maybe I’m missing something…

@copilot : thanks for joining this thread. I’m not sure to understand what you’re saying. I don’t really want to bypass any Stripe process, just trying to make things go right… If there’s a more academic way, well I’m all ears :slight_smile: In fact, I’m happy you join because I’m waiting (real hard) the 4 last videos of your payment2 course. As said somewhere else, it’s very hard to build a simple Stripe process without any doc :wink: The course helped me a lot building payment intents, but about transfers, as you see, I’m totally stuck. And those latest videos are all about what I’m trying to do here : transferring (not yet payouts, not yet…) amounts to the different Sellers that are listed in a Cart (well, let’s start by one :slight_smile: )

Anyway, thank you both trying to help me here…

Michel

Here’s what I understand you want to do:
You want to quickly prove the settlement of the payment from a test transaction instead of the system doing it automatically, correct?

You have 2 options to continue:

  1. do nothing and let the system continue waiting as it does, settlement will take the 14 days as the screen shows. This is the default behavior. You can’t force it after the fact if you use card 4242 without a lot of effort.
  2. you use the information in the testing documentation as provided to create accounts and charges with the outcomes you want to test. There are bank accounts to create with specific uses to decline (with specific errors) OR to settle. There are also card numbers to use that will trigger a settlement OR error codes for you to address. Pick your perfect path. Read the line item about the bank account starting letters, pick your country and test under that.

Please follow the directions in the Stripe area for testing payouts. Stripe does a great job documenting it and you need to read that document. It has all these items in there.

If you are wanting to test an instant payout to a credit or debit card, that’s a different process. See: https://support.stripe.com/questions/initiating-an-instant-payout

Google is your friend here. This is not a Bubble issue but rather a process flow that isn’t quite clear yet.

In this instance you shouldn’t be able to initiate an instant payout from a payment ID as shared. When payments settle and are ready for payout to the seller’s nominated debit or bank account they will be bundled in a PayOut object under their Stripe account. The item you really are trying to review us a transfer between Stripe accounts.

Have you queried the Payouts area? This is what settles to YOUR account.
https://stripe.com/docs/api/payouts

Otherwise YOUR business stripe account creates a Transfer to another Stripe account (your seller’s in this case) and then that Stripe account would request or wait for a Payout, pending settlement times for their Stripe account.
https://stripe.com/docs/api/transfers

You can list transfers from your account to others and I have a strong feeling there are some pending ones in there.

This guy did the entire flow but via programming. You’ve done about 70% of it so far, just in Bubble! Read through and do the next step. But I think if you switch to manual Payout mode you can do the testing you want to do in the Stripe dashboard to force a transfer.

In theory you should have a few items here in Payouts or Transfer. You can also access it via the browser in your dashboard. What appears on your dashboard for transfers to Stripe Connect users/your sellers? What about the payout area?

You are really close, you just have to be testing the right items, which I don’t think you have because it is difficult to find the perfect path to test as you’re learning, designing and troubleshooting all at once. Diagram it out. That helps me.

Hi @d.johnsen,

Thank you very much for this long contextual explanation. I’ll check all this.

Hi @copilot, I made a payement with 4000 0000 0000 0077. When I try to “CREATE A TRANSFER” with the Stripe.JS plugin, using the PI of the “0077” payment, I still got the same issue (“no such charge”).

I will send a bug report as I know this is your practice.

Please note that I finally manage to make a transfer, using an API call, homemade by @ambroisedlg

Thanks Ambroise, your explanations were crystal clear !

Michel

1 Like

Can you share what @ambroisedlg did for the API call? Maybe that will help others that search for this in the future?

With Stripe you can’t trigger a payout from a just a card payment, those aren’t connected at all. To force it and not let the system do it automatically per the standard timings try the following:

  1. Capture the charge on your system for the seller from the buyer
  2. Depending on how you have it setup, create a transfer from your Stripe account to the seller’s stripe account
  3. Trigger a payout to an existing bank account that the seller has setup in their verified account. Yo

If you are getting good at API calls, you may want to try working with PostWoman to try before putting it into Bubble. That’s how I test:

All this depends on the seller having a verified account.

The easiest way to do this is via the Stripe dashboard though which you should be able to trigger those items.

To get around the time delays, you would want to use those card numbers provided in the Payout help documentation to trigger the automatic workflow so you bypass the 7-14 day waiting periods that simulate the real world processing times.

You’re close!

Thanks for the kind words @michelduprez! Always happy to help and it’s been a pleasure getting to know you in the process

@d.johnsen I think you are over-complicating things way too much. For the API call please follow the directions in the Stripe area for testing payouts. Stripe does a great job documenting it and you need to read that document. It has all these items in there.

1 Like

@ambroisedlg if you scroll up you can see I gave that exact feedback and even the copied card number and bank accounts to use but they aren’t following the recommendations in the Payouts testing doc I linked and are going the API route. See post 7 with the recs.

Yes it is adding steps but that’s what they are sharing how they are going instead of using the recommended testing cards & accounts. I agree, I would use the cards & accounts per the spec doc instead of over complicating it and manually kicking off via API calls, but they aren’t taking that route.