#SlamDuncan
1 messages · Page 1 of 1 (latest)
That's because you are providing a Customer and expecting it to use a default Payment Method.
But Customer isn't a parameter on the Confirm API call
You'll need to provide that Payment Method ID
So there's no way to use the customers default payment method and not have to specify the payment method?
If you create the Payment Intent with the Customer and both confirm=true and off_session=true
See this request. It worked, but has the same setup as the first request id I sent. req_5F6jn1GT9pBigo
The only difference between the one working and not working is this. I added a card manually for the working one. The one not working, I used a checkout session to upload a card for that customer. 2 different customers. Both have payment methods. One created manually, one created via session. Manual works. Session doesnt
Can you share the request where you created the Checkout Session?
This isn't a request to create a checkout session. That's the one I want
Hi yeah it's super busy
But this session appears normal. I can see the successful payment method is created
No worries. I dont know why it works for a manually created payment method but not for a payment method created via session.
Hmmm the Customer set up using the Session has an invoice_settings.default_payment_method but the one created manually simply has a source.
Okay found the difference. Checkout does not create a default_source on the Customer as this is deprecated in favor of invoice_settings.default_payment_method. However, when you manually set up the customer it created the default_source. Payment Intents are supposed to require a Payment Method but they "just work" in the scenario where you have a default_source on the Customer.
Ok thanks for helping. This kinda goes back to my original question. How can I charge the invoice_settings.default_payment_method without having to specify a payment method?