#erin_terminal-applepay
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/1218308631070507170
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
$invoice = stripe()->invoices->create([
'auto_advance' => false,
'customer' => $customerId,
'metadata' => ['terminal' => $data['reader']],
]);
$setupIntent = stripe()->setupIntents->create([
'customer' => $customerId,
'metadata' => ['invoice' => $invoice->id],
'payment_method_types' => ['card_present'],
]);
stripe()->terminal->readers->processSetupIntent(
$data['reader'],
[
'customer_consent_collected' => true,
'process_config' => ['enable_customer_cancellation' => true],
'setup_intent' => $setupIntent->id,
]
);
Hi there @copper warren
You can use SetupIntents to collect card details on Visa, Mastercard, American Express, Discover, and co-branded eftpos cards. Interac cards, single-branded eftpos cards, and mobile wallets (for example, Apple Pay or Google Pay) aren’t supported.
erin_terminal-applepay
what's very interesting is that yesterday my colleague used a virtual card via apple pay (from Mercury bank) and it DID work
do you folks plan to support this, because it makes these terminals actually not very useful
no plan to support this in the near future no. Not sure what's "not useful" in this specific case. Doing ApplePay for "future payments" is extremely uncommon and usually comes with strict rules from Apple
believe you can use it for future subscriptions though, no?
we went with setup intent because we wanted an invoice to be created from the transaction
and in order to do that you need to use setup intents
how do other folks use the terminal AND have an invoice?
hello?
@copper warren
Sure sorry there are other humans to help
sure, feel free to mention that you're off to help someone else, otherwise I don't know what's up
You can not use Terminal and have an Invoice. And you absolutely shouldn't do what you are doing. You're losing all benefits of "in person payments" like lower fees, better authorization rates, liability shift, no 3DS.
So sadly the only viable path here is to change your integration and not use SetupIntents at all for this
right but then we don't have invoices
correct, no way around that
And you absolutely shouldn't do what you are doing. You're losing all benefits of "in person payments" like lower fees, better authorization rates, liability shift, no 3DS. this was recommended by one of your colleagues from a chat here
The ultimate goal here is to have users be able to login to the billing portal and see their in-person transactions and their online transactions all in one place.
(AK is my colleague)
Similar to stripe checkout's feature of "generate invoice on checkout session"
Yeah I understand the appeal, just saying you really shouldn't do what you're doing with Terminal.
Like in a perfect world you could accept a payment with a PaymentIntent and later generate an Invoice that reflects that payment. I've been at Stripe for a long time and it's been one of my personal top asks myself. It's just not something we support 😦
So what is the "right" solution to easily allow users to have a billing portal while allowing them to see all in-person and online transactions in one spot?
lol well if YOU can't get it through, we likely won't either haha
Would LOVE THAT!
ya we only did it this way for the billing portal, which requires invoices
ah no as users you have more weight. Like I highly recommend contacting support to push for this. And my team tracks user requests here and so I'm adding a +1 for your ask
but yeah some features we'd love to build them, we just can't prioritize them 😦
make that a +2
And I totally get your idea, many people do what you do. I'm just telling you it's a big mistake here business wise because you lose all benefits of "card present" payments
Is invoices from payment intents a major refactor or easily doable?
(nothing is easy at stripe)
That is a very good point.
they only MAKE it look easy, to us
lol
so true
(6 billion tests run a day.....)
Thanks for everything you guys do though. Love Stripe.
With what you described I would
- Stop doing SetupIntents
- Switch to PaymentIntents for in person payments
- Give up on the CustomerPortal + Invoice entirely and build your own UI
I know it sucks, and I can genuinely say we want to support this better in the future, just not been able to prioritize this over many other things (like Tap to Pay, launch Terminal in most countries, etc.)
@copper warren So off the top of your head no way to pay an existing invoice with a stripe terminal session payment intent?
yup see their suggestion
I am 99% sure it's impossible. But I thought of a hack, give me 2 minutes to try locally
🤞
yeah no that doesn't work. Like a potential hack we could do is let you tell us on the Invoice creation that you plan to use the card_present payment method and that could work. But right now this isn't supported.
I'll flag internally at least and you should do the same with the support team
But otherwise what I said holds 😦
ya I tried that too
I tried all the ways before reaching out the other day
anyway, thanks for your help and advice
Yes much appreciated.