#david-llop-_save-payment-details
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/1328384247999758408
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hello, that would technically be possible but you would have to handle raw PANs in your PHP integration to do that, which would place a higher PCI compliance requirement on you. It is possible to create a ConfirmationToken client side with Elements which would validate things on the client
That said, please reach out to our support team to talk about this use case. I know this can be done via the API but I am not sure if we support that as a business case https://support.stripe.com/?contact=true
Is it possible to use Web Checkout payments (opening Stripe's page) and obtaining a token to charge customer with future payments on the same process?
we are trying to integrate everything by ourselves because we need to do an initial payment and after that, there are a few more small payments scheduled ahead
Yes, that is the primary way Stripe.js is used. Are you looking to take a payment and save card details for future use upfront at the same time? Or are you looking to save details and charge them later while the customer is away?
our plan is to pay the deposit of a hotel booking right away, and then the rest of the booking amount is scheduled like 15% every month until the customer's arrival
both cases would be correct. Some times the deposit is greater than 0 (payment and store token for future payments) but other times the deposit is 0 (save token to future payments)
Gotcha, I have a few docs to send. Basically our payment APIs work with things called intents. They have two flavors: PaymentIntent and SetupIntent, they are state machines that track a customer's attempt(s) to save a single card or complete a single payment (can also save a card while doing this). You will want to use our PaymentIntent flow when there is a deposit upfront and a SetupIntent when there isn't. Then you can create something we have called a subscription schedule which will tell us when to start charging those payments, how much to charge, and when to stop
perfect ๐ is it possible to charge those payments without telling stripe about them with the subscription schedule?
What I mean is that the schedule is currently handled by our software, and the hotel manager can make changes anytime they want on that payment calendar up until lsat minute. It's true that the calendar is created at the moment the booking is made, but it can suffer changes.
What we've done with other payment gateways is to charge the customer using the token provided on payment ๐ค
Here are two sets of docs for two ways to take a payment or just save a card. The difference is when you creat the payment intent, the docs explain a bit about why you might want to do it each way
https://docs.stripe.com/payments/accept-a-payment?platform=web&ui=elements
https://docs.stripe.com/payments/save-and-reuse?platform=web&ui=elements
https://docs.stripe.com/payments/accept-a-payment-deferred?platform=web&type=payment
https://docs.stripe.com/payments/accept-a-payment-deferred?platform=web&type=setup
And yes, you can schedule the payments yourself if you want
perfect thank you very much! ๐
Also this doc speaks to saving a PM while taking a payment, the main things to take from it are how setup_future_usage is the field that tells us to do that and also the part about charging the saved PM later
https://docs.stripe.com/payments/save-during-payment#create-the-paymentintent
https://docs.stripe.com/payments/save-during-payment#charge-saved-payment-method
we would follow the Web integration, the Stripe-hosted page, that would allow us to store the token right?
that way we won't need to fill the PCI requirements and everything would be more scure
I'm checking the response we would receive after completing the payment via Stripe-Hosted Page, can't find the PM token thought ๐
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Yes, with the flows that I linked to, you would be working with PaymentMethod objects and IDs. The actual details are tokenized on the client-side so you have a lower PCI requirement
yes but the links you shared require some JS to be installed client-side, we would prefer to skip that part if possible
because our booking engine is embedded inside customer's webpage, and every website is different so we can't guarantee full compatibility sometimes ๐
I see we can do that too, there's documentation for the three possible ways
Thank you very much, gonna read all of this and see if I can do it ๐
Hi ๐
I'm stepping in as my colleague needs to go soon
Hi Snufkin ๐ yeah me too, doing some extra-hours to finish understanding the docs ๐
I think we got all the information we need to start working on this and offer Stripe as a payment gateway to our 500 hotels-customers ๐ช
Okay sounds good. I do recommend making use of Stripe.js on your client-side for collecting payment method details. We have built a lot of fraud detection and other useful tooling into it
I'm glad you feel like you've got a good start! ๐
We'll be here to help with any technical questions
I was planning on showing just a button, like <Continue with Checkout> and that button would open Stripe hosted page
and after that, I'll store the PM token on our system to perform the scheduled payments without manipulating any customer's payment data
Okay yes that would be a good approach
Nice thank you! ๐ awesome team โค๏ธ
We're happy to help ๐