#kaka_docs

1 messages ยท Page 1 of 1 (latest)

vast harnessBOT
#

๐Ÿ‘‹ 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/1493182312312213594

๐Ÿ“ Have more to share? Add more details, code, screenshots, videos, etc. below.

gilded swift
#

What does 'on the app' mean exactly?

upbeat surge
#

ios or android

gilded swift
#

Why would it not also be supported there?

#

I don't understand โ€“ you're just be initiating a callback to your server/API to update the Payment Intent either way, no?

#

But also there's probably a more straight forward approach to this. Instead of setting a top-level capture_method, set it on the PM-level for the PMs that support it on create then you don't need to manage the overhead of lsitening to PM selection and updating the PI

upbeat surge
#

We generate the PaymentIntent on the server side with capture_method set to automatic, which allows us to display all supported payment methods to the user. After the user selects a payment method that supports manual capture, we change the capture_method to manual. With web integration, it is possible to know which payment method the user has selected before calling confirm, but this is not possible in the app.

gilded swift
gilded swift
#

You can create a Payment Intent and set capture_method: 'manual'only for the PMs you want to enable it for, like card. That way you don't need to know which PM the customer has selected and have to make an update call

upbeat surge
#

You may not have understood my requirement. We want to display all payment methods to the user (which is why we set it to automatic). If the user selects a payment method that only supports direct capture, we proceed with direct capture. If the user selects a payment method that supports manual capture, we want to update the PaymentIntent after the user's selection.

gilded swift
#

Yes, that will still work that way. We'll still render all payment payments, even if they don't support manual capture

#

Try it:

  • Create a Payment Intent like you normally do
  • Set payment_method_options[card][capture_method]: 'manual'
  • Don't update the Payment Intent
  • Complete payment, and it'll be in requires_capture state
#

You'll still see the other PMs that don't support manual capture in the checkout UI, and selecting those to pay won't use capture_method: 'manual'

#

I think this gets you the flow you want (manual capture where it's supported) and it's a lot less overhead for you to manage in your integration

upbeat surge
#

If I want other payment methods to also be able to be manually configured, do I need to set each one individually, for example, payment_method_options[cashapp][capture_method]: 'manual'?

gilded swift
#

Yes

upbeat surge
#

thank you. I will try.