#SCIF
1 messages · Page 1 of 1 (latest)
This works fine but recently I've got a bug report that a customer has updated his CC but payment was failed
Could you share the payment that is failed? How do you tell that the payment failure was related to the Street and Zip check?
Checking it now
Thanks for sharing! The decline was by the card issuer with transaction_not_allowed on this card
Ultimately, the final authorisation approval was by the card issuer and we don't have visibility on the exact failure reason
Is there a chance we could make sure that new PM mounted and paid the subscription became overdue?
Otherwise it's a really bad UX for the customer — he input the CC details and was redirected back. So platform shown him «Your card successfully updated» and shows new numbers but by the end-of-the-day all those efforts are useless
In this example, this card was charged successfully during subscription signup that led to the card to be saved: https://dashboard.stripe.com/payments/pi_3MKgGKCsh8lDYN4e0eNmdupc
However, the issuer declined the subsequent subscription payments.
What's about the case when a customer purchased a subscription and once next billing cycle came, the card has expired? Then the customer has input his new CC through the routine I described above. Bank has declined. But that happened 10-20 mins after input the details, so customer believe everything went through but it was not. As far as i can see, this is the example: https://dashboard.stripe.com/acct_1I0qgyCsh8lDYN4e/events/evt_3MVvyaCsh8lDYN4e0iFNY6j3
In evt_3MVvyaCsh8lDYN4e0iFNY6j3 (2023-01-30 11:56:45 UTC), the payment method used was pm_1MKgGJCsh8lDYN4ePY4HVsix
pm_1MKgGJCsh8lDYN4ePY4HVsix was first collected and used in 2022-12-30 10:56:35: https://dashboard.stripe.com/payments/pi_3MKgGKCsh8lDYN4e0eNmdupc
How was that 10-20 mins after inputting the details when the timestamp was 1 month apart?
Yep, the charge has failed at 11:56 but at 11:38 there was another pm added: https://dashboard.stripe.com/acct_1I0qgyCsh8lDYN4e/events/evt_1MVvgdCsh8lDYN4erbDVQXxO
Sorry for missing this
Looking into it now
[2023-01-30 11:38:11 UTC] In evt_1MVvgdCsh8lDYN4erbDVQXxO, the payment method pm_1MVvgaCsh8lDYN4e4bdB7uBK was attached to the customer, but it wasn't set as the default_payment_method to the subscription
[2023-01-30 11:56:45 UTC] In the payment failure evt_3MVvyaCsh8lDYN4e0iFNY6j3, the payment method was deducted from the old default_payment_method pm_1MKgGJCsh8lDYN4ePY4HVsix of the subscription at that point of time
The default_payment_method of a subscription was only changed in https://dashboard.stripe.com/events/evt_1MXB42Csh8lDYN4eZnc6R6Dp on 2023-02-02 22:15:30 UTC
The reason of payment failure was the the payment method was charged to the old default_payment_method on the subscription
Ahh, so changing the PM to default was required
Is there a way I can see the session object created before this event https://dashboard.stripe.com/acct_1I0qgyCsh8lDYN4e/events/evt_1MVvgdCsh8lDYN4erbDVQXxO ?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Hi @muted plank I'm taking over
You can get the checkout session object from the API response when you create a checkout session.
Yes, sure, it's done this way, but I'm asking about Stripe UI to obtain logs 🙂
I'm investigating the reason why PM was not set as default, could be misconfiguration in initial session creation params, so curious whether those logs are available on Stripe Dashboard
https://dashboard.stripe.com/logs Yes, you can find the checkout session creation log here, and you can see both request and response body.
Sure, there's a search bar
Can you share with me your merchant ID? you can find it from the Stripe Dashboard -> Settings ->Account Details
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
The payment method was set as default one
Is your account acct_1I0qgyCsh8lDYN4e?
This is an account connected to my platform
This is a part of customer updated event:
By some reason subscription contains the old method. Even though the new one is attached to customer invoice.default_payment_method
OK. You can also use the API to list and filter events generated on connected account
https://stripe.com/docs/api/events/list#list_events
Remember to specify a stripe_account in the request. By specifying a stripe_account, you are telling Stripe that you want to make an API call on behalf of a connected account. You can refer to this doc to learn more about making API request for connected account (https://stripe.com/docs/connect/authentication)
Please no need to explain basic things of Connect and API usage. That's known and well working
Please respond why the subscription has some weird PM different to customer's default PM
Can you past the Subscription ID here?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
pm_1MKgGJCsh8lDYN4ePY4HVsix was created during checkout(https://dashboard.stripe.com/logs/req_KR6LGAXn4Q23yt), to pay the first invoice of the subscription. (https://dashboard.stripe.com/logs/req_lHiVkSRKERzhXn). Once the payment succeeded. Checkout automatically set the pm_1MKgGJCsh8lDYN4ePY4HVsix as the default_payemnt_method of the subscription.
Can you send me the ID of the event when customer is set with a new default_payment_method?
The screenshot that you shared earliest showed a new default_payment_method set to the subscription, not customer.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
I am totally confused. I was thinking that it's enough to set a PM as a default for the customer, but now you mentioned a default_payment_method for the subscription.
OK. So this is the request that set pm_1MKgGJCsh8lDYN4ePY4HVsix as the default_payment_method for customer https://dashboard.stripe.com/logs/req_LafeZiK4I5a9HF , this request was made by the Platform (MacroActive)
There's another request to set pm_1MVvgaCsh8lDYN4e4bdB7uBK as the default_payment_method for the same customer https://dashboard.stripe.com/logs/req_knC3WhHs69zQzf, the request was also made by Platform (MacroActive)
If your question is why the customer's default_payment_method is updated, It's updated by the platform, and you can use the request links that I sent earlier for details.
My question is why customer's default method was not used for paying the subscription?
That's because this subscription is created through Checkout and Checkout will collect a new payment method and set it as the default_payment_method of the subscription.
See my earlier explanation:
```pm_1MKgGJCsh8lDYN4ePY4HVsix was created during checkout(https://dashboard.stripe.com/logs/req_KR6LGAXn4Q23yt), to pay the first invoice of the subscription. (https://dashboard.stripe.com/logs/req_lHiVkSRKERzhXn). Once the payment succeeded. Checkout automatically set the pm_1MKgGJCsh8lDYN4ePY4HVsix as the default_payemnt_method of the subscription. ````
If your customer already have a default_payment_method and you want to use the same payment_method for new subscription. I'd suggest you directly create the subscription through Subscriptions API instead of using checkout session.
If your customer already have a default_payment_method and you want to use the same payment_method for new subscription.
-
Will the default be used for new subscriptions?? If not — what's the reason to have such entity as default_payment_method?
-
My customer wants to not charge the cc they used for the initial payment. I was under impression that i should set up a new cc as
invoice.default_payment_method. You are saying this is not the case (but apparently it works for my platform's checkout, not Stripe Checkout). What is the correct way to setup a new CC and use it for new payments (imho, default PM must be used) and for renewing of existing subscriptions (should I iterate over all existing subs to change the PM to new default one??)??
For 1. If you are creating the subscription directly (e.g., through Subscription API) and you didn't specify the subscription's default_payment_method, Stripe will use the customer's invoice.settings.default_payment_method to pay the invoices generated by this subscription. (More details explained in https://stripe.com/docs/api/subscriptions/object#subscription_object-default_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.
For 2. What do you mean by the initial payment? is the the first invoice payment that the customer pay during a subscription checkout session?
RE #2: I'm looking for the way to use one CC for all actions
All actions means recurring payments for all future subscriptions created for the customer?
And all currently active subscription
OK. You can set the customer's invoice_settings.payment_method and unset the default_payment_method and default_source of all existing subscriptions. Stripe will use the customer's invoice_settings.payment_method to pay the invoices generated by relevant subscriptions.
So any subscriptions created using Stripe Checkout should also be updated with unsetting the default_payment_method?
You are right\