#Scout-CustomerPortal
1 messages ยท Page 1 of 1 (latest)
hi Jack
Hi there, give me a sec to read your question
sure thanks so much for your help
OK, let us see the payment method problem first, can I just check you have already enabled them in both test and live modes?
Can you share with me your merchant ID? you can find it from the Stripe Dashboard -> Settings ->Account Details
acct_1KgfI2BfY3oefpRl
oh weird. well now I see the payment method there in live mode
I just created a new portal session via the api, maybe there was some delay after the payment method was verified before it appeared? also before the ability to add methods wasn't appearing either
Yes, certain payment methods require verification
I could see it in the admin page as verified and was able to do an immediate payment
then i generated another invoice and went back into the customer session but it wasn't there
anyways, I'm unable to pay with the verified payment method via the customer portal in either test or live mode
so you can see here the payment method exists for the customer, but when you open the invoice to pay it, there's no way to select it to pay
OK, is it a test invoice?
yeah, in live mode with my real bank account
๐คฆโโ๏ธ I probably should have blanked out my contact deets
there...
Thanks for the waiting, can I also have this customer ID so I can take a look?
cus_LOFBGr9SdZuvG4
Hi Scout, I was trying to reproduce the problem by clicking the pay invoice button
and I noticed that the status is already proccessing
try the other invoice
this one here that's "open"
if you click on that one you'll see that it doesn't offer to let you pay with the stored payment method
Yup I got it
The invoice page will not display the saved payment method
I'd suggest you to to set the invoice's collection_method (https://stripe.com/docs/api/invoices/object#invoice_object-collection_method) to charge_automatically so that Stripe will attempt to pay this invoice using the default payment method attached to the customer.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
will that still give the customer an opportunity to confirm the invoice?
or would that trigger an immediate charge to the default method?
If collection_method is set to charge_automatically and the charge is successful, then the customer will receive the receipt email. There's no step to confirm.
I don't think my customers would appreciate me generating an invoice that automatically charges them without their confirmation first
I suppose I can build the check out page myself to work that way with the confirm api but i was really hoping the pre-existing customer portal would work for me :/
What's your use case here? is it a one-time payment or recurring subscription?
recurring invoices
with possibly varying amounts
I generate an invoice, sent it to the customer, then open it and click the link to pay
it's for a rental property, but the utilities vary in price
so it's almost a subscription
I see, the invoice page doesn't requires login and that's why it can't provide the saved payment method.
However, I'll still recommend using the charge_automatically param to advance the invoice automatically, so that you can reduce friction and easier for you to collect the rent.
Not really, it works for one-time payment as well.
in which context?
I tried creating a checkout session but that didn't allow me to use the saved billing details either
the only place i saw them used was in the customer portal video with a subscription example
You can use the PaymentIntent API with confirm=true to charge the customer immediately https://stripe.com/docs/api/payment_intents/create?lang=curl#create_payment_intent-confirm
Of course you need to collect the payment details and consent from the customer first, via SetupIntent API https://stripe.com/docs/payments/setup-intents
right, so basically i would create a copy of the portal that displays the invoice and the payment button, then list the saved payments methods and update the payment intent with the method to use
Actually you do it without any customer interaction, by setting the off_session=true, see https://stripe.com/docs/api/payment_intents/create?lang=curl#create_payment_intent-off_session
ok, but the whole point is I want the customer to log in, look at the invoice, and click something to trigger the payment
from stored payment methods
can i accomplish that with the confirm api?
like grab the invoice, get the payment intent from it, and then give that to the confirm api when they click "pay"?
Got it, you can use this API to pay the invoice with an associated payment method https://stripe.com/docs/api/invoices/pay?lang=curl#pay_invoice-payment_method
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
ah ok got it
thanks Jack!
also could you put in a feature request for me for the customer portal to have an authenticated invoice payment page that lets you choose a saved payment method? ๐
although I think this will be fairly simple to code up myself, it's a bummer that i have to code it at all when what already exists is so close to what I need
Sure, I'll relay this feedback to the team, and you are welcome to give any feedback via https://support.stripe.com/contact
thanks