#erin_terminal-applepay

1 messages · Page 1 of 1 (latest)

fervent sandBOT
#

👋 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.

solar oarBOT
tall yew
#
        $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

copper warren
#

erin_terminal-applepay

tall yew
#

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

copper warren
#

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

tall yew
#

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

copper warren
#

Sure sorry there are other humans to help

tall yew
#

sure, feel free to mention that you're off to help someone else, otherwise I don't know what's up

copper warren
#

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

tall yew
#

right but then we don't have invoices

copper warren
#

correct, no way around that

tall yew
#

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

plush palm
#

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.

tall yew
#

(AK is my colleague)

plush palm
#

Similar to stripe checkout's feature of "generate invoice on checkout session"

copper warren
#

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 😦

plush palm
#

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?

tall yew
#

lol well if YOU can't get it through, we likely won't either haha

tall yew
#

ya we only did it this way for the billing portal, which requires invoices

copper warren
#

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 😦

plush palm
#

make that a +2

tall yew
#

ya I get it, not your fault

#

thanks for the confirmation (it's what we suspected)

copper warren
#

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

plush palm
#

Is invoices from payment intents a major refactor or easily doable?

tall yew
#

(nothing is easy at stripe)

tall yew
#

they only MAKE it look easy, to us

copper warren
#

lol

plush palm
#

so true

tall yew
#

(6 billion tests run a day.....)

plush palm
#

Thanks for everything you guys do though. Love Stripe.

copper warren
#

With what you described I would

  1. Stop doing SetupIntents
  2. Switch to PaymentIntents for in person payments
  3. 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.)

plush palm
#

@copper warren So off the top of your head no way to pay an existing invoice with a stripe terminal session payment intent?

tall yew
#

yup see their suggestion

copper warren
#

I am 99% sure it's impossible. But I thought of a hack, give me 2 minutes to try locally

tall yew
#

🤞

copper warren
#

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 😦

tall yew
#

ya I tried that too

#

I tried all the ways before reaching out the other day

#

anyway, thanks for your help and advice

plush palm
#

Yes much appreciated.