#noel-checkout-prefill
1 messages ยท Page 1 of 1 (latest)
๐ I won't reopen the thread but I'm happy to continue helping if you can give a clear summary of your issue!
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*** ๐คฆโโ๏ธ
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
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:
-
cs_test_b1eaQKoEGb9KRhBoG3hrB2o2gUQ0ZidXYq3gbKpoH3L641LECkLou75Qu7 : req_tSBXYyMGcd49zj
-
cs_test_b1BsKjmvhL8AMTFhU3yOQIOKRtNdippCk2I3UhZD2ePc570tUbI9agFsTE : req_5QdXNQG8LVm1RR
-
cs_test_b1GSd62MbFp3xRE6vLBWQ3J0cUmRNOntpTFHreWfaToIOF9k8L0u3amvFS : req_tJyrOQLwSOSzkN
All of them are not prefilling.
looking, give me a bit of time to debug this
Sure. Thanks.
I looked at a random one and you seem to have used Apple Pay, is that normal? Those can't be reused
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.
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
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?
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?
Sure, let me do that. Would you like me to do it with a new customer?
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
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:
- I signed up to my app with a new account. This creates a new customer in Stripe:
cus_OKTcKBNNycXABL - I then added apple pay as a payment method using a
setupcheckout session:cs_test_c1AcA9WJUBtOvk1mvV2mZjtTmKrVamsgV1Tg0Sf5VMnjh2B6o43T3GRzP0 - I then visited this checkout url for a
subscriptioncheckout 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).
Okay and so you are saying that without changing anything, in an hour this won't work anymore?
Yes
Okay, so I asked my team and neither of us have ever heard of anything like this before at least
I understand your skepticism. I can ping you when I notice the prefilling no longer working.
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?
Sure
Perfect, I'll update you if I figure out what it could be or if I can suddenly reproduce too
The checkout page from the above url is no longer prefilling
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
I also experienced it without apple pay.
So you may want to try reproducing with a regular card as well.
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
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.
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
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?
I wouldn't create a new one honestly
but yes it's 30 minutes after first load, not after creation
Why not create a new one? I want to reduce the friction for checkout so a prefilled page is definitely better.
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
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
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)
Do you mind if I ask why it shouldn't be happening?
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
Oh, interesting. I guess that's only for the initial payment on a subscription?
Renewal payments don't require that
correct they are off session so it's different
Got it. Thanks