#alasdair_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/1242590840577064980
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi there!
ApplePay, Klarna, and ClearPay don't support saving these payment methods when using Checkout in setup or subscription modes
This is mentioned here, under Buy now, pay later and Wallets: https://docs.stripe.com/payments/payment-methods/integration-options#product-support
If you're integrating with SetupIntents directly (since you intend on collecting payment details first and charging off session later), Klarna and ClearPay don't support this: https://docs.stripe.com/payments/payment-methods/integration-options#additional-api-buy-now-pay-later
Great. Thank you. So when choosing whether to show a checkbox to collect consent for saving payment details, I should detect which payment option a user has selected in the stripe payment element and only ask if a user wants to save the method if it’s supported - i.e. card, PayPal or GooglePay by the sounds of things.
Hold on. Does this mean you're deciding when/if to save payment details for future payments while also charging customers at the same time?
Yes
We have a product where a user may buy instalments. Buy one part now and another part later. So we’d charge for the first part straight away and the second after a certain time period. An additional use case is saving payment details for future on session use.
I see.
So in this case, you'd use PaymentIntents and you're wondering whether to also use setup_future_usage to save the payment method details for later use
I think you have a few ways of handling this. If you want customers to only be able to pay the first installment if you can save their payment details for a future installment, you likely want to create a PaymentIntent with setup_future_usage and dynamic payment methods : https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods
We'll take care of only showing customers payment method types in the PaymentElement if they support setup_future_usage and the amount, currency combinations supported
If you want customers to be able to pay the first installment regardless of whether or not you can use that payment method for future installments, you can use the deferred intent flow: https://docs.stripe.com/payments/build-a-two-step-confirmation
Based on the PaymentMethod they use, you can decide whether or not to show them a checkbox for "save payment method for future charges", and then create the PaymentIntent with setup_future_usage accordingly
Could we also use option 1 if they’re simply buying a one off product but we want to give them the option to save the payment method for on session future purchases?
When we create the payment intent we don’t know if the user would like to save payment details. We had intended to collect consent for this at the same time as the user is choosing their payment method and entering details in the stripe element.
Right, it'll come down to order of operations. That's where the two-step confirmation flow comes into play since you can render the PaymentElement without having to create the PaymentIntent first
The flow you're looking for won't really work. What if a customer chooses Klarna or another buy now pay later payment method type and also wants to save their payment method details for later use? This isn't possible so even if they check a custom checkbox with their choice, you won't be able to create a PI with that PaymentMethod and use setup_future_usage
Yep. This is why I thought I could just check which methods were supported and only ask for consent if a customer chooses one of those methods.
So if they choose Klarna, we just won’t give them the option to save their payment method.
You'll want to cross reference this section of our docs: https://docs.stripe.com/payments/payment-methods/integration-options#additional-api-supportability
Specifically the "Setup Future Usage" column when you expand each of the sections