#noel-checkout-prefill

1 messages ยท Page 1 of 1 (latest)

grizzled havenBOT
molten zealot
#

๐Ÿ‘‹ I won't reopen the thread but I'm happy to continue helping if you can give a clear summary of your issue!

obsidian mango
#

Sure. In short, the checkout page for subscription is not prefilling my customer's existing default payment method. The customer's default_payment_method is set. And they have a valid billing address, email and name.

#

The previous Stripe support member asked for the request ID to look into it.

#

is not prefilling their existing payment method*** ๐Ÿคฆโ€โ™‚๏ธ

molten zealot
#

Sorry, can you provide all relevant information at once? Right now you haven't shared the exact ids (Checkout Session, request id, etc.) all explained neatly in one message

#

noel-checkout-prefill

#

Once you give me those ids, I can triple check on my end

obsidian mango
#

Sure. Let me try again.

This test customer (cus_OKS4z18cqffgqQ) added a default payment method using a setup checkout session (cs_test_c1gtg0IK7OQFLGiHiDPmbSuLAmveSPAWaA5LkLV5fk8gSU5hX4HYDJzWJZ).

The subscription checkout sessions created do not prefill the default payment method. Here are the checkout session ids and request ids:

  1. cs_test_b1eaQKoEGb9KRhBoG3hrB2o2gUQ0ZidXYq3gbKpoH3L641LECkLou75Qu7 : req_tSBXYyMGcd49zj

  2. cs_test_b1BsKjmvhL8AMTFhU3yOQIOKRtNdippCk2I3UhZD2ePc570tUbI9agFsTE : req_5QdXNQG8LVm1RR

  3. cs_test_b1GSd62MbFp3xRE6vLBWQ3J0cUmRNOntpTFHreWfaToIOF9k8L0u3amvFS : req_tJyrOQLwSOSzkN

All of them are not prefilling.

molten zealot
#

looking, give me a bit of time to debug this

obsidian mango
#

Sure. Thanks.

molten zealot
#

I looked at a random one and you seem to have used Apple Pay, is that normal? Those can't be reused

obsidian mango
#

My users use a mix of payment methods

#

Interestingly, those checkout sessions prefilled with apple pay right after creation, but now they are not prefilling

#

Here is a checkout session and request id from another customer with that didn't use apple pay:
cs_test_b18YE9IV7r0Bbdip6lyFYe0nuanTpaUNw9s5syLanR999moEZWD7zeePTM : req_3iQHNHUCn9PYGH

The same thing happened here. Right after creation (within 5 minutes), it prefilled. Now when I visit the check out page, it's not prefilling.

molten zealot
#

Interestingly, those checkout sessions prefilled with apple pay right after creation, but now they are not prefilling
I don't understand what that sentence could mean I'm sorry

obsidian mango
#

No worries. Let me try to clarify:

There are subscription mode checkout sessions created for the customer with apple pay. If I visit the checkout session url within 5 minutes of creating those checkout sessions, the payment method will be prefilled. However, when I visit now (about 1.5 hours later), the payment method is not prefilled.

Does that make sense?

molten zealot
#

I mean the words make sense, the behaviour not whatsoever and I admit I have no idea how to reproduce any of this. You gave me a lot of ids and now I'm quite lost

#

Step 1: Can you confirm it prefills totally fine right now if you do it end to end again and share that exact id?

obsidian mango
#

Sure, let me do that. Would you like me to do it with a new customer?

molten zealot
#

Yes please. Do it end to end with all the steps and then share one clear summary of everything you did with the exact ids of each object and confirming whether pre-filling works or not

#

Most of the information was missing from the earlier summary and I want to make sure I fully understand what you are doing now because the question feels completely different

obsidian mango
#

Ok. I'll attempt to reproduce and provide the relevant ids, and checkout url so that you can also see what I'm seeing.

#

Here is what happened:

  1. I signed up to my app with a new account. This creates a new customer in Stripe: cus_OKTcKBNNycXABL
  2. I then added apple pay as a payment method using a setup checkout session: cs_test_c1AcA9WJUBtOvk1mvV2mZjtTmKrVamsgV1Tg0Sf5VMnjh2B6o43T3GRzP0
  3. I then visited this checkout url for a subscription checkout session.
    url: https://checkout.stripe.com/c/pay/cs_test_b123IFe4p70hPqEd7yo6yBDe59QGoR3DFdNB9a6KVeycoE4hwhzrbIVRwH#fidkdWxOYHwnPyd1blpxYHZxWjNTY1RPNlZkTTVgfzVORHJJT053f1JRfDU1VmwybE5tU2cnKSdjd2poVmB3c2B3Jz9xd3BgKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl
    checkout sesion id: cs_test_b123IFe4p70hPqEd7yo6yBDe59QGoR3DFdNB9a6KVeycoE4hwhzrbIVRwH
    request id: req_Y1BwqrUyFXyyfk

Right now it is prefilling with the apple pay payment information (you can visit the url and see for yourself).

molten zealot
#

Okay and so you are saying that without changing anything, in an hour this won't work anymore?

obsidian mango
#

Yes

molten zealot
#

Okay, so I asked my team and neither of us have ever heard of anything like this before at least

grizzled havenBOT
obsidian mango
#

I understand your skepticism. I can ping you when I notice the prefilling no longer working.

molten zealot
#

I have an Apple Pay example locally so I'm going to check it over the next 30 minutes while we look internally into what could be happening

#

Can you ping me as soon as that Checkout Session stops the prefilling?

obsidian mango
#

Sure

molten zealot
#

Perfect, I'll update you if I figure out what it could be or if I can suddenly reproduce too

obsidian mango
#

The checkout page from the above url is no longer prefilling

molten zealot
#

perfect so it's not just timing as mine still totally works. We're looking

#

my god it just happened on my session too

#

okay so now I have enough to reproduce and figure out what the heck is happening and then update our docs (it's the 5th person on my team I ask that has never seen this ๐Ÿ˜… )

#

will take some time but I'll let you know once I figure it out. But I assume it's mostly expected with Apple Pay and I'll find some code locally that explains why

obsidian mango
#

I also experienced it without apple pay.

#

So you may want to try reproducing with a regular card as well.

molten zealot
#

If you can give me a concrete end to end example with normal card that'd be great too. I've never seen this happen at all so that really surprises me

obsidian mango
#

Sure. I'll repeat the process I did earlier with a regular card.

#

Repeated steps above for test card ending in 4242.
customer: cus_OKUYy88v5rh1am
setup checkout session id: cs_test_c1XcRk8WGb2mb28IHlO7e2COauVcOo5AJYW6xanIeMrI5Wr5ddV1c29pDX
subscription url: https://checkout.stripe.com/c/pay/cs_test_b1wExEggeymaTXEQldWNtOBnam8frMI1rJtTHCxlNZxlDtOiYNP8cCuZ9W#fidkdWxOYHwnPyd1blpxYHZxWjNTY1RPNlZkTTVgfzVORHJJT053f1JRfDU1VmwybE5tU2cnKSdjd2poVmB3c2B3Jz9xd3BgKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl
subscription checkout session id: cs_test_b1wExEggeymaTXEQldWNtOBnam8frMI1rJtTHCxlNZxlDtOiYNP8cCuZ9W
subscription request id: req_eDrgH4XFvinxgy

Currently prefilling. Will follow up if/when it stops.

molten zealot
#

my god I'm so sorry

#

so turns out this is 100% expected and it's always been this way. No one on my team has ever seen or heard of this before

#

but it's clearly right there in the code where 30 minutes after the first time you load that page we then stop the pre-fill to protect the data

#

I'll make sure this is 100% covered in details in the docs because this is baffling

obsidian mango
#

Oh wow

#

So, if I want it to prefill, I should create a new checkout session if it's been 30 minutes since the url was first opened? And if the url was never visited, it should still prefill? Do I understand that correctly?

molten zealot
#

I wouldn't create a new one honestly

#

but yes it's 30 minutes after first load, not after creation

obsidian mango
#

Why not create a new one? I want to reduce the friction for checkout so a prefilled page is definitely better.

molten zealot
#

I don't really get the upside and then you get 2 different Sessions for the same thing. I would really never do this. You're the first person in well over 2 years to even ask about this. My team has never seen this behaviour and no user has asked about this before

obsidian mango
#

The upside is pretty clear. A user doesn't have to re-enter their payment information if they visit the checkout page a second time.

#

Less friction = higher conversion

molten zealot
#

Agree to disagree. Ultimately I wouldn't do that, up to you though

#

also we'll likely stop prefilling Apple Pay in the near future, this shouldn't be happening (which I'm reporting internally to fix)

obsidian mango
#

Do you mind if I ask why it shouldn't be happening?

molten zealot
#

Apple has strict rules that every time you pay via Apple Pay on session you have to present the Apple Pay "payment sheet" to the customer

obsidian mango
#

Oh, interesting. I guess that's only for the initial payment on a subscription?

#

Renewal payments don't require that

molten zealot
#

correct they are off session so it's different

obsidian mango
#

Got it. Thanks