#frekis_api
1 messages · Page 1 of 1 (latest)
👋 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/1294173510016434237
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
hello! When you create the ephemeral key, you should include the StripeAccount header too.
Since you created the Customer object using the StripeAccount header [0], this means that the object is created on the connected account. Subsequently, any request referencing this object needs to use the StripeAccount header too
Hi, As per the direct charge doc : https://docs.stripe.com/connect/direct-charges?platform=ios&uikit-swiftui=uikit
I used server.js code in nodejs server side to create customer/empheral/intent
And i am creating customer/empheral both in platform account and then use the same customer in create intent under connect account (stripeAccount)
Here is the server.js code which doc has provided and i am using exact same way
can you try what I mentioned first?
Yes i know creating customer/empheral using stripeAccount object will create a separate customer under that connect account and then create intent will work
But i have many issues using this method
I have 500-1000 different connect accounts like stores.. and whenever my customer wants to pay they have to enter card details everytime they pay for different store
Also i always have to create new customerid whenever i create intent as i can't manage 500-1000 different customerid based on different connect account
So is there any alternative way i can use platform customer id to make payment under connect account ?
If you want to reuse the Customer's payment method (from the platform), you'll want to clone the PaymentMethod to the connected account and then use that payment method to create a payment. You can take a look at this guide : https://docs.stripe.com/connect/direct-charges-multiple-accounts
to be clear, you won't be able to use the platform's Customer specifically to make payment, but still have to use the objects on the connected account for direct charges
Okay how flow will work ?
Like by using platform customer id first it will fetch all card list ? if user wants to add new card then he will click on some add card button and then setup intent will be triggered... App will display add card form and that card will be added into user platform
Then again customer will choose card from list and trigger create intent.. Now inside create intent first we will add that payment method into connect account by using stripe.paymentMethods.create and use that payment method in create intent
?
Then again customer will choose card from list and trigger create intent.. Now inside create intent first we will add that payment method into connect account by using stripe.paymentMethods.create and use that payment method in create intent ?
The sequence for this isn't quite correct - after the customer selects which PaymentMethod to use, you clone that PaymentMethod into the connected account and then use the cloned PaymentMethod in create PaymentIntent
Yeah i mean the same as i already used that flow previouly where we open paymentSheet before creating payment intent but now as per stripe new update they are saying to use latest method
what does use latest method mean?
then where did you see stripe new update?
hmmmm, onesec, give me a while to take a look
Yeah sure!!
If you are already using Payment Sheet but received that email, then the possibility here is that you have some customers using an older version of your app that is still using the Basic Integration. If that's the case, you can disregard that email
I don't under that clearly
What is the basic integration included ?
this might help : https://docs.stripe.com/payments/mobile/migrating-to-mobile-payment-element-from-basic-integration
Users of Stripe's mobile SDK basic integration must upgrade to the Mobile Payment Element to avoid functional disruption when we remove it from our mobile SDKs on November 4, 2024.
Let me explain again what is our current flow of stripe payment so that you can explain me if we forced to required upgrade or this is not a problem for us
By using platform customerId -> Create Empheral Key with api version (''2019-05-16'') -> Now app will use empheral key to use this method in IOS ('STPAddCardViewController') -> We receive payment method -> Before creating payment intent add this payment method in stripe object along with customer stripe.paymentMethods.create -> Create Payment Intent using return value with stripeAccount -> Now app will use stripe sdk for further authentication -> confirm payment intent
Is this basic flow as per stripe ?
yes, it is using the Basic Integration because it's using STPAddCardViewController
Okay got it
I need some more help if could help with that will be great
I want to understand what are the changes i will have to make in backend server to upgrade basic flow
Setup intent is only used to add card details ? or it is also used to display existing card details as well Google Pay Apple pay ?
I mean in App UI how they will display card list along with Google Pay Apple Pay options ?
Does this already handled in stripe SDK ?
SetupIntents are to save a payment method (e.g. cards) for future usage
The PaymentSheet no longer displays saved cards that originated from Apple Pay or Google Pay.
https://github.com/stripe/stripe-android/blob/master/CHANGELOG.md#paymentsheet-29
https://docs.stripe.com/elements/customer-sheet you would want to use customerSheet if you need a UI for your customer to manage payment methods
Okay let me try this customer sheet option.
Hi Alex
My IOS developer has some doubts..
He is saying after customer select the payment method by using customer sheet -> app will call an api for create intent with that selected payment method -> before creating intent we will add that payment method & customer id in stripe.paymentMethods.create with stripe connect object -> then use returned payment method id to create payment intent
What will be the next step for app ? I mean what will be the method they have to use to confirm the created payment method ?
to be clear, customer sheet and payment sheet are two different flows. The payment sheet can show saved payment methods (except Google and Apple Pay) from the customer, allowing the customer to select them and make payment.
The customer sheet is just for the customer to manage their own payment methods which include deleting and adding a new payment method
Sorry but this is very confusing now
Can you suggest me what is suitable for my requirements ? i mean please guide how the flow and api calls will work one by one ?
My requirements are simple.. Customer able to reuse same card which he used previously in different connect account payment
Please provide steps like
- Create platform customer server side -> Generate empheral key
- App will open customer sheet
Something like this
you mentioned that you have an iOS developer, can you get your iOS developer to join this thread instead? Are you also an iOS developer on the same project?
Yes i can.
Hello! from what I can tell, you need to migrate to using the mobile payment element, because you are still using STPAddCardViewController - we have a guide here that explains how to migrate to the Mobile Payment Element : https://docs.stripe.com/payments/mobile/migrating-to-mobile-payment-element-from-basic-integration
Do you have any specific questions?
Users of Stripe's mobile SDK basic integration must upgrade to the Mobile Payment Element to avoid functional disruption when we remove it from our mobile SDKs on November 4, 2024.
https://docs.stripe.com/payments/accept-a-payment-deferred?platform=ios&type=payment&integration=paymentsheet
If we use this flow, i have a question related to step 5 "Create a PaymentIntent", that at what point i need to send a request to this API from app?
The requirement here also seems to be that your Customer should be able to reuse same card which he used previously in different connect account payment. Give me a while to type out a high level flow for you.
The high level steps of allowing your Customer to reuse same card which he used previously in different connect account payment
- the payment method (e.g. card) should be saved on the platform account Subsequently, when the customer wants to make payment on the connected account, the customer needs to select the payment method they want to use - you'll want to use the Customer Sheet for this. When the customer selects the Payment Method, you will know which payment method id they have selected
- You can then clone the selected payment method to the connected account : https://docs.stripe.com/connect/direct-charges-multiple-accounts
- Create a PaymentIntent on the connected account with the cloned payment method
https://docs.stripe.com/payments/accept-a-payment-deferred?platform=ios&type=payment&integration=paymentsheet
If we use this flow, i have a question related to step 5 "Create a PaymentIntent", that at what point i need to send a request to this API from app?
the deferred flow won't work for direct charges using payment methods created on the platform
customer sheet docs -> https://docs.stripe.com/elements/customer-sheet