#brian-johnson_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/1225814826610196603
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- brian-johnson_api, 2 days ago, 13 messages
Hi ๐ what is the behavior you see on the terminal when you're going through this flow? Does your code detect that the reader action completed?
Yep
well
it starts out normally
I enter the card and it accepts it
It then looks like it is processing
and stays that way until like after 60 seconds we cancel the payment intent
so it seams like the reader never completes since it doesn't think payment has been entered
Yeah just running it now
prompts me to enter the card
I do - it detects it tells me to remove the card
the the circle is spinning saying "processing"
still processing
OK then just goes back to the resting display
so says "processing" for like 60 seconds or so, then just ends and is now back at the terminal ready screen
this is because we call cancel on it after some time
Let me up the timeout to something like 5 minutes
actually right now it is 90 seconds
so we give the customer up to 90 seconds to insert their card in the terminal before it cancels the intent
(sorry for so many messages lol)
It's alright, it happens. What behavior do you see if you tap a real card (not a test card)? Making sure you're still running in testmode though.
works great with the Stripe test card
all the same - I enter the card, it goes to "processing"
after like 5 seconds it says "approved" and completes
yeah looking at the API calls, the status of the PI changes to "requires_capture" which lets us know we can complete the transaction
with the eftpos test card the status never changes - it just stays at "requires_payment_method"
(note that I do not have a real eftpos card)
I'm not sure why the terminal would spin indefinitely, that doesn't sound right, but I am noticing it looks like the capture_method you're using doesn't align with what eftops payments require:
https://docs.stripe.com/terminal/payments/regional?integration-country=AU#integration-requirements
Can you try setting that field to manual_preferred and see whether that impacts the behavior you're seeing?
Yep let me check - thanks
Some insight into my thinking here. I've heard of a trend of test cards having problems recently, but I don't think I've heard of that extending to our eftops test cards too. Typically when that behavior is seen, the terminal flow asking for a payment method would loop more quickly rather than hanging. So I don't think that's what is going on here, but I'm not sure why those actions would hang like you're describing.
OK I think I have that setup correctly based on the docs, but am getting an "Invalid Array"
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
says it is a "Preview Feature"
do I need to be using a newer version of the API?
It's in the wrong spot
You already have capture_method as a parameter on the request, where you're providing a value of manual currently. Can you change that existing value to manual_preferred?
oh sure
I was referencing this
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Yup, which points to payment_method_options if you want to provide different values per payment method being used (your request tried to use payment_method_types instead of that field though).
"Invalid capture_method: must be one of automatic, automatic_async, or manual"
brb
I'm back
Ah, sorry, the root level capture_method doesn't accept manual_preferred. You will need to use payment_method_options.card_present.capture_method instead.
OK yeah that's what I did earlier but got the "Invalid Array" error
maybe my syntax was wrong
let me try it again
Yeah "Invalid Array"
Let me try the latest API
think I am using an older version
Can you share the request ID?
The problem in your previous request was an incorrect parameter name
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Yeah it's wrong
Yeah, you still have payment_method_types (which is expecting an array) instead of payment_method_options
sorry I did that wrong again
yep
let me fix it
(this is what I get for just doing "undo" like 5 times lol)
OK that looks better
I'm getting the prompt asking for saving/checking and pin prompt
OK I think I can take it from here
I know I have to make some changes since there's no "capture" step in eftpos if I understand it
I appreciate your help on this
Yeah, they don't let you separate those pieces of the payment process. I'm glad to hear that's letting you move forward!