#nikita_api

1 messages ¡ Page 1 of 1 (latest)

mystic canyonBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1410736331222417409

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

subtle locust
#

Hi there

#

looking

gloomy cliff
#

I see

#

so how could someone pay using a bank transfer if we're facilitating the Stripe Connect service?

subtle locust
#

How do you charge your customers? Do you do one-off payments with the PaymentIntents API, or do you use Invoicing?

gloomy cliff
#

I've seen the option pop up to hook up a bank account for transfers on local, but I couldn't reproduce it

#

one-off payments

#

the invoices are in our system, not in Stripe

subtle locust
#

^ that link has a useful short summary describing how this works. From there you just follow the guide here, but you're using the Stripe-Account header to create the objects on your connected accounts

The guide that explains how that is done is here

gloomy cliff
#

hmm not sure I'm following

#

so you can't add it as a payment method through Stripe Element?

#

or you can, it's just a US Bank account, and once Bank account is linked you can send a transfer?

subtle locust
#

You can, but what that means is that the Customer is provided with funding instructions and then they go to their bank and send you money

gloomy cliff
#

hmm ok, so the flow I have that's working for Credit Cards and US Bank accounts is we create a setup intent where they can add these payment methods and save them, and then they can pay with those saved payment methods. So that's not how bank transfers should hook also flow?

subtle locust
#

"us_bank_account" is different than Bank Transfers ("customer_balance"), by the way

gloomy cliff
#

So the better way that you're saying is in the "Select Payment Method" we expose the funding instructions to do for wire transfers?

#

or can I/should i do a set up intent to add new payment method with customer_balance ?

#

What I'm confused by is I have Bank Transfer as Active payment method and AutomaticPaymentMethods on, and it doesn't return transfers as a payment method I can add

        {
            Customer = customer.CustomerId,
            AutomaticPaymentMethods = new SetupIntentAutomaticPaymentMethodsOptions() { Enabled = true, }
        };
subtle locust
#

Because Bank Transfers aren't supported for SetupIntents at all

#

You can't set up a Bank Transfer payment method - SetupIntents only work for "pull-based" Payment Methods

#

It looks like you're charging the customer right away in this form - why are you creating a SetupIntent at all here?

If you simply want to save the Payment Method for future use, you can pass setup_future_usageto a PaymentIntent, although that will cause Bank Transfers to be filtered out, since it isn't supported

gloomy cliff
#

the reason to save payment methods is that sometimes these customers will have autopay or just want to quickly pay with the same method (it's b to b)

subtle locust
#

Absolutely, but we generally don't recommend creating a SetupIntent and then immediately creating a PaymentIntent with the Payment Method from the SetupIntent

#

Because it isn't necessary

gloomy cliff
#

not necessary because a PaymentIntent will automatically save the payment method?

#

so somewhere above the Pay button I should offer a "Pay via bank transfer" option that would have the bank transfer payment intent flow?

subtle locust
#

not automatically, but you can configure it to do so via the parameter setup_future_usage. My point is that if you know you want to charge the customer now, while they are on-session, you should use a PaymentIntent with setup_future_usage instead of a SetupIntent. Our guide on the topic is here

#

Something like that - something I've seen often is where people do a few different select inputs and maybe one of those is PayPal (say you have a direct paypal integration and it isn't allowed for US businesses on Stripe yet) and if the user chooses that it opens up their paypal button, and then if they choose "card/ach", then it expands and renders the Payment Element

gloomy cliff
#

thank you so much, this is very helpful!!!

subtle locust
#

Really you could use the same PaymentIntent and just manipulate its setup_future_usage value. So if I was doing this in my react app, I would offer the user something to indicate if they wanted to do Bank Transfer or card/ach and then update the state variable based on the input and then have that trigger my effect and update the PaymentIntent

gloomy cliff
#

"Absolutely, but we generally don't recommend creating a SetupIntent and then immediately creating a PaymentIntent with the Payment Method from the SetupIntent" -> just because you can streamline the whole process by just paying and then we save it right away?

#

since we're doing B to B I feel like it's better to see those payment methods and it's ok not to be too streamlined? as opposed to B to C

subtle locust
#

You get a reusable Payment Method token pm_abc123 from successfully confirming a PaymentIntent in the same way that you also get a reusable Payment Method token pm_abc123 from successfully confirming a SetupIntent

#

here's the flow you're describing, as I understand it:

create Customer
Create SetupIntent
collect details
confirm SetupIntent => get a pm_abc123
create/confirm PaymentIntent (moves money)

#

what I am suggesting is:

create Customer
create PaymentIntent with setup_future_usage
collect details
confirm PaymentIntent (moves money) => get a pm_abc123

mystic canyonBOT