#arya_
1 messages · Page 1 of 1 (latest)
Can you share more details? Do you have a subscription ID I can look at?
Customer id: cus_OklBQUwRtVZBpw
Invoice number: 9B2F8EDE-0003
ID in_1NznAhIJY9GdUtEDCEqoBJs5
Were you able to take a look?
Yep, I'm looking. Why does this customer have two subscriptions?
Not sure if that's intended but wanted to flag.
Yeah I saw that, the customer subscribed twice. I was hoping to cancel the other one when this payment went through
The goal was:
Free trial from Oct 3 - Oct 10
Then monthly charge from Oct 10 for USD 10 (which is after the coupon code applied)
Okay, so, when creating a trial, a PaymentMethod is not required since no payment is needed at that time.
But it does show a card on file. What should I do? I'm confused how to bill them beginning today
The customer has a saved card, yes, but since that card is not their default card, it won't be used for invoice payments.
You'll need to update this customer's invoice_settings.default_payment_method
How to make them pay for invoices? I have many customers that started the free trial with the expectation that the card details they entered at the start of the trial will be used for billing
How to make this customer's card the default card and then charge them again?
If I just set this card as default, will it always work?
Hello! I'm taking over and catching up...
Thanks rubeus! I'm a bit worried!
When you created the Subscription mentioned above your code set save_default_payment_method to on_subscription which will save the Payment Method as the Subscription's default, but only once a successful payment is made: https://dashboard.stripe.com/logs/req_jK6VVQzOhqdSrf
This will not set the default on the Customer, just for this specific Subscription after a successful payment is made.
Do you want your Customers to have a default for all Invoice/Subscription payments?
I have many customers that started the free trial with the expectation that the card details they entered at the start of the trial will be used for billing after the free trial ends
How do i fix this for existing customers?
How do i fix this for future customers?
That should be what happens. Are you seeing every payment for every Customer failing?
No, the first customer's free trial ended today. Their payment failed
So no other trials have ended yet across all your Subscriptions?
Yes, that's correct. I'm worried their payment will fail as well since there is no difference right
Also, How do I fix this customer's payment now?
I'm seeing some other Subscriptions where the payment succeeded.
If you go here there are some Subscriptions that are active: https://dashboard.stripe.com/subscriptions
The only active subscriptions are me and the second subscription this customer did (which i intend to cancel)
My subscription is active because I disabled my trial by altering information in the database (unrelated to stripe and you may ignore this)
Anyways
Could you please help me figure out how to make this customer's payment succeed?
How do I fix this customer's payment?
i.e. how do i fix this payment so that the payment succeeds
Hey, are you there?
Yep, I'm looking, hang on.
As far as I can tell they never provided payment info for this Subscription, only the other one, so payment failed because there were no payment details to use for the payment.
It seems like your integration is not requiring payment details to be provided.
I have the card on file
That was the card provided for the other Subscription.
That card was/will only be used for the other Subscription where they did provide payment details.
It seems like what happened is that they Subscribed with a trial without providing payment details, then they Subscribed again and did provide payment details. The trial for the first Subscription without payment details ended, no payment details were present for that Subscription, so payment failed. When the same thing happened for the second Subscription there were payment details and the payment succeeded.
Did you build this integration?
Yes
Oh okay. I see. So could you look at the other customers and let me know if their charge will proceed correctly once their free trial ends? Because idk if the save_default_payment_method was any different from this failed customer
It was not, and the others seem fine to me.
But the problem remains that somehow this customer created a Subscription without providing payment details, which sounds like something you don't want to happen?
I know why that happened. They called me and asked to fix it. I was stupid and created a new subscription from the dashboard - so the payment details weren't there in the subscription
Yes it won't let the user submit the form haha
Should I set every card for every customer as the default payment method?
That depends on what your business needs and use case are.
You're currently setting the default on the Subscription.
After a successful payment.
Do you want the default set at the Subscription or Customer level?
Im confused what that exactly means . My goal is to charge the customer after the free trial ends. I want to collect payment details only once when the trial begins
In Stripe you can set a default Payment Method at the Subscription or Customer level. If you set it at the Subscription level that allows you to do things like have a Customer with two Subscriptions, each of which have a different default Payment Method. You an also set a default at the Customer level which will be used for all Subscriptions/Invoices unless a more specific default isn't set.
What you're doing now appears to be fine, and will accomplish the goal you outlined above.
Let me look at some other customers though to be sure.
Okay, thank you
Just to confirm - for the other customers, when the trial ends, will they be charged correctly? Im worried I might run into this issue again where they aren't charged
Oh okay, thanks - please let me know
Yeah, looking at the others it looks like your integration is using the pending_setup_intent from the Subscriptions you're creating to set up the Payment Method for future use and attach it to the Customer. That Payment Method should be used for the intial Subscription payment and, if that payment succeeds, it will be set as the default on the Subscription.
In other words, the payment should succeed for the customer whose trial ends tomorrow, right?
If the payment isn't declined for some reason, yeah.
You can also explicitly set the Payment Method as the default_payment_method on the Subscription by updating it after the Setup Intent succeeds if you want: https://stripe.com/docs/api/subscriptions/update#update_subscription-default_payment_method
That would make it more explicit, but I don't think you need to do this.
Oh okay. For tihs particular customer, i made the payment method as the default one. Is that fine?
That's fine, yeah.
This customer's payment was refunded so she has a subscription without a payment haha. How can I charge her now?
That sets the default at the Customer level.
Not sure I understand... you mean you refunded in error?
Is this the one with the two Subscriptions?
Here's what happened:
- She subscribed with a wrong coupon code and then contacted me.
- I was like okay I'll refund your money. I refunded through the dashboard and created a new subscription (without the payment details)
- This new subscription started with a trial and now failed (coz well no payment details were present)
I see. Now that they have a Customer-level default set you can attempt to pay the Invoice again: https://stripe.com/docs/api/invoices/pay
If I delete sub_1NxFhNIJY9GdUtEDTX6cLXQa will the card still be there
Their charge succeeded now. How can I keep the card on file and renew on november 10 ahah
You set it as the Customer's default, so you don't need to do anything else. You can cancel the other Subscription and it won't have any effect on the card.
Got it, thanks
Also
This customer's payment cus_Okh6kijAAowS9p was blocked
Apparently because of an incorrect zip
Yep.
Should i disable zip verification?
Can I disable zip verification for this customer or not
You can't disable it on a per-customer basis. Deciding to disable it is up to you. We recommend you don't as it will increase the chance of fraud.