#duydtdev-connect

1 messages · Page 1 of 1 (latest)

snow shadow
#

@radiant crescent depends what type of account it is and how you created it! can you share the acct_xxxx ID so I can look?

radiant crescent
#

@snow shadow acct_1KIwHf2E0ModQhgv
Please help me check!

snow shadow
#

ok that's a Custom account so you need to finish onboarding it.

Easiest way is to create an AccountLink to redirect the owner of the account to a hosted page to collect what's needed. https://stripe.com/docs/connect/connect-onboarding

Can I ask why you are using Custom accounts by the way? If you read the docs, Express or Standard accounts are highly recommended instead unless you are already a large development team with experience in the area.

radiant crescent
#

@snow shadow There is no special reason, I use the Custom account to make Payouts to VISA in Japan. Currently, I can not make a payout, I'm facing with error "Cannot create payouts: this account has requirements that need to be collected.. Please provide those fields to re-enable payouts." How can I fix it?

snow shadow
#

yes, that is the answer to the question you asked!

radiant crescent
#

@snow shadow When I use Express account, I'm facing with this error "Instant payouts are not available for platforms based in Japan." Could you tell me why?

snow shadow
#

it's just how it is!

#

https://stripe.com/docs/connect/instant-payouts

Instant Payouts is generally available in Canada, Singapore, the United Kingdom, and the United States. If your platform account is based in a different country but you would like to get access to Instant Payouts for Connected Accounts based in these countries, please get in touch.

radiant crescent
#

@snow shadow could you help me focus on my question? first, you advise me that use an Express account for payout to VISA in Japan. And now I'm facing with above message, what should I do now?

snow shadow
#

@radiant crescent you should not use Instant Payouts because you can't. You can do normal payouts instead!

#

which means, you have to add a bank account to the connected account for their payouts, and not a debit card

#

because debit cards are only supported for instant payouts, and instant payouts are not available to you as a platform in Japan

#

does that help?

radiant crescent
radiant crescent
snow shadow
#

yes, but it only works if the card being used also supports instant payouts, if it doesn't, then you get an error when creating the Account, which is what you've seen

#

I guess they were wrong or confused! nobody's perfect, sorry.

radiant crescent
#

Thank you!

snow shadow
#

also I think you misunderstood

#

my colleague told you exactly the same thing I did

radiant crescent
#

@snow shadow Sorry for misunderstood! That mean now I need use Payout instead Instant Payout?

#

I'm implementing payout via API. Could you help me share documentation?

snow shadow
#

do you specifically want manual payouts?

#

depends what you're building! The default is the account gets payouts daily automatically of any money they have.

radiant crescent
#

@snow shadow Same as this is not suitable with our current business.

I want to share with you my business idea. We are building a freelance website.
The website has two roles (freelancers, customers)

  1. The customer will create a job and post it on our website.
  2. The freelancer can deal with this job with the customer
  3. If the customer agrees with the deal, the customer must pay all money for this job first (This time, money will transfer to our company stripe account. Our company will hold this money). In this step: We will use Instant Payment. Have any wrong?
  4. When the freelancer finished the job. Our company will transfer money to freelancer banking. In this step, we will use Payout. But currently, I'm facing the above error when using Payout.
snow shadow
#

Our company will transfer money to freelancer banking. In this step, we will use Payout. But currently, I'm facing the above error when using Payout.
yep then just don't use Instant Payouts, use non-instant ones.

radiant crescent
#

@snow shadow I've tried it! But I still got this error "Instant payouts are not available for platforms based in Japan."

snow shadow
#

you have to add a bank account to the connected account for their payouts, and not a debit card

#

it only works if the card being used also supports instant payouts, if it doesn't, then you get an error when creating the Account, which is what you've seen

radiant crescent
#

@snow shadow I'm using a testing card from Stripe documentation.
6011981111111113
Have any wrong?

#
  1. If the customer agrees with the deal, the customer must pay all money for this job first (This time, money will transfer to our company stripe account. Our company will hold this money). In this step: We will use Instant Payment. Have any wrong?
    @snow shadow with this step, we are using Instant Payment. have any wrong with this approach?
snow shadow
radiant crescent
snow shadow
#

I think I did. Can you rephrase the question? What am I confirming exactly?

radiant crescent
#

@snow shadow sorry! first, please help re-read the 4 steps which I listed above.
In step 3, I'm using Instant Payment to implement sending money from customers to our stripe account. Have any wrong?

snow shadow
#

what is an Instant Payment?

#

that's not a Stripe term I'm familiar with

radiant crescent
snow shadow
#

then that sound good, yes, entirely normal. That is how you do payments with the Stripe API to charge an end-customer.

radiant crescent
#

Thank you! I'm implementing payment as your suggestion.

#

@snow shadow I still got this error
How can I fix it? "message" => "Cannot create payouts: this account has requirements that need to be collected.. Please provide those fields to re-enable payouts."

#

The second question:
We are using this information for setting (Japan 1100000 0001234 Payout succeeds.)
But in the reality, how can I get "Routing" and "Account" numbers?

#
            $bankAccountStripe = $stripe->accounts->create(
                [
                    'country' => 'JP',
                    'type' => 'express',
                    'email' => 'testing@gmail.com',
                    'capabilities' => [
                        'card_payments' => [
                            'requested' => true
                        ],
                        'transfers' => [
                            'requested' => true
                        ]
                    ],
                ]
            );
            $stripeCard = $stripe->accounts->createExternalAccount(
                $bankAccountStripe->id,
                [
                    'external_account' => [
                        'object' =>'bank_account',
                        'country' => "JP",
                        'currency' => 'jpy',
                        'routing_number' => '1100000',
                        'account_number' => '0001234',
                        'default_for_currency' => true,
                        'account_holder_name' => 'aaaa'
                    ]

                ]);

                $payout = $stripe->payouts->create([
                    'amount' => 1000,
                    'currency' => 'jpy',
                    'method' => 'instant',
                ], [
                    'stripe_account' =>  $stripeCard->account,
                ]);```
snow shadow
snow shadow
#

or just use Express, it collects everything for you!

radiant crescent
snow shadow
#

then instead of using $stripe->accounts->createExternalAccount you should let the hosted pages collect everything.

radiant crescent
#

@snow shadow Yes! I also created as you suggestion.

            $bankAccountStripe = $stripe->accounts->create(
                [
                    'country' => 'JP',
                    'type' => 'express',
                    'email' => 'hoangthach2503@gmail.com',
                ]
            );
            $stripeCard = $stripe->accounts->createExternalAccount(
                $bankAccountStripe->id,
                [
                    'external_account' => [
                        'object' =>'bank_account',
                        'country' => "JP",
                        'currency' => 'jpy',
                        'routing_number' => '1100000',
                        'account_number' => '0001234',
                        'default_for_currency' => true,
                        'account_holder_name' => 'aaaa'
                    ]

                ]);
            $stripe->accountLinks->create(
                [
                    'account' =>  $stripeCard->account,
                    'refresh_url' => 'https://example.com/reauth',
                    'return_url' => 'https://example.com/return',
                    'type' => 'account_onboarding',
                ]
            );

                $payout = $stripe->payouts->create([
                    'amount' => 1000,
                    'currency' => 'jpy',
                ], [
                    'stripe_account' =>  $stripeCard->account,
                ]);```

But still got that errors "Cannot create payouts: this account has requirements that need to be collected.. Please provide those fields to re-enable payouts."
snow shadow
#

did you visit the link?

#

again I'm sorry, but you need to read the full docs.

#

you create the link and then you redirect to that link. That is a hosted onboarding page where the user adds all their information,

#

there is so much more to this flow than just 3 API calls like you're doing there, I'm sorry. Connect is a complex integration

radiant crescent
snow shadow
#

so you refuse to redirect to a Stripe-hosted page for the onboarding?

radiant crescent
#

we need the simplest implementation, the freelancer just adds their banking account or their debit card, then we will payout money to their account. they do not need to do anything.

snow shadow
#

that's fine — then you should use Custom, and work with large experienced development team on building your own KYC onboarding forms to collect personal information from the end-user and supply it to our API. If you don't have those development resources you should use Express.

snow shadow
#

i.e. use Express and have it do the onboarding. Information is required from the user to prove their identity for legal reasons.

radiant crescent
#

@snow shadow thank you, I will try tomorrow, It's too late now. In tomorrow, can I continue to chat in this thread?