#Bandi Odelu - Terminal
1 messages · Page 1 of 1 (latest)
Please can you share the req_xxx ID. We need way more context than an error message to help debug anything
You cannot confirm this PaymentIntent because it's missing a payment method. You can either update the PaymentIntent with a payment method and then confirm it again, or confirm it again directly with a payment method.
Error seeing pretty verbose to me. You tried to confirm a PI in requires_payment_method status without passing payment details
can you explain the exact flow of the payment API's step by step in stripe
or how can i confirm a PI by using payment method
Sure, what SDKs are you using? What platforms are you building for?
trying to test the performance of a device which has stripe implimentation on JMeter
and
how to create a payment method for terminal payments?
This is the full Terminal flow: https://stripe.com/docs/terminal/payments/collect-payment
we were trying to do the payment flow by triggering the endpoints only, we are not loading terminal js library for this task, this task is to validate the performance of the application and this is in testing perspective (it is not a developer flow)
Hi! I'm taking over this thread.
You created a PaymentIntent with payment_method_types: [ "card_present" ], but then you tried to confirm the PaymentIntent with a payment method that is not card_present. So it's expected to not work.
"message": "Direct creation of PaymentMethods for type 'card_present' is disallowed.",
Yes, you need a Terminal device (or a simulator) to do a card_present transaction.
what if i tried to do with out a terminal device?
i was trying to replicating the exact flow of terminal device on web
You need to follow one of the guides on this page: https://stripe.com/docs/terminal/payments/collect-payment
And you need a simulated reader or a real reader.
we are working on simulated mode, but not finding the reader id "tmr_xxxxxx"
Which documentation are you following exactly?
JavaScript
and the above one was developer documentation
Why aren't you using the Server Driven integration which is simpler?
i am a tester
i am trying to test performance of simulated mode reader
we are working on simulated mode, but not finding the reader id "tmr_xxxxxx"
You need to callterminal.discoverReaders()withsimulated: trueand you will get back a simulated reader.
can we have more information on this
need API end points for the E2E process of simulated mode reader with payment method and confirming the payment intents as well
- Discover the simulated reader (as explained above)
- Connect to the simulated reader
Then follow this guide: https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=js#create-payment
what are the SDK references
can we have any API end points instead of SDK references?
we need actually API endpoints
I'm pretty sure you would need to use Stripe.js in order to connect to the Terminal reader.
Yeah,
but we have an issue
we were unable to passing the payment method data from paymentmethod API to Next API
we don't have a terminal reader now
we have only simulated reader for testing the flow
only one thing has stopping me
how to create payment method for terminal payments
in stripe docs the payment method type was only "card"
but in payment intents we used the payment method type as "card_present", and "interac_present"
Unfortunately you won't be able to simulate that part without Stripe.js as far as I can see. You can mock that part out on your side and just use a premade card payment method like pm_card_visa
Actually now that I think of it, you may be able to do something like our server driven flow with a simulated reader, though that might not be a good simulation of what you want to do with a real reader. https://stripe.com/docs/terminal/payments/collect-payment?reader=simulated
actually we (dev team) was implemented stripe.js flow for the device
Ah gotcha, yeah unfortunately I don't think there is a full way to simulate that flow with just backend calls at the moment
Bandi Odelu - Terminal
Thanks for the confirmation🙂