#joshuacs94
1 messages ยท Page 1 of 1 (latest)
Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- joshua-invoice-paymentintent, 1 day ago, 57 messages
- joshuacs94, 6 days ago, 16 messages
It depends which PaymentMethod you are using
regarding question 1 or 2? ๐
๐ taking over for my colleague. Let me catch up.
Im asking because 1 month ago I saw an event of type payment_method.automatically_updated for an ACH payment method stating the ACH network blocked the account, and then a mandate.updated was fired saying the mandate was deactivated. That totally makes sense. But, a week ago, we had a payment that failed (event of type payment_intent.payment_failed) with the error code debit_not_authorized and a mandate deactivation for the ACH used in that payment happened at that exact moment, so my guess is the mandate was deactivated because of that specific error. The difference between this case and the first one is that in this no event regarding the ACH PM (payment_method.*) was fired, so I'd like to know when this mandate deactivation can happen.
Here are the events
From the first case I thought that, every time a mandate gets deactivated, some event about the PM itself would be fired... but this proves I was wrong
@wicked nexus thoughts?
I'm looking into this, please give me a moment
Can you share the evt_xxx IDs please
sure
mandate.updated:
evt_1OK8uiHewQvzvH77l1Ej72OK
payment_intent.payment_failed:
evt_3OIQuvHewQvzvH770SVeVuXw
And the payment_method.automatically_updated event? What specifically is the concern here? Generally I think mandates are revoked/deactivated if/when a bank declines a payment, or the customer cancels the debit instruction
the payment_method.automatically_updated is for the first case I described that happened more than 1 month ago, this second one is totally different and happened one week ago
This is my concern
From the first case I thought that, every time a mandate gets deactivated, some event about the PM itself would be fired... but this proves I was wrong
Do you have the evt_xxx ID?
yes, wait
I just want to know when that deactivation can happen to have a better understanding of how mandates work
Yeah I don't think that's necessarily true for mandate cancellation. I wouldn't expect to see a payment_method.automatically_updated in that scenario, but would need to see the Event object to understand why that was fired in this case
As explained, generally on a payment failure (bank rejection), and/or customer cancellation of the banking instruction/mandate
looking for the ID
and what about the second question regarding setup_future_usage?
@soft mica evt_1O89FDHewQvzvH77OYhoOeki
Generally you wouldn't need to pass s_f_u on a PI that's using a pm_xxx already setup/saved for recurring usage no
ok, gotcha
Looking at this
I know we have to watch for the mandate.updated so we can have the customer setup the PM again but, like I said, I also want to better understand how mandates work
Yeah with this being an older event we don't have the exact object payload that was sent so difficult to discern exactly what occured. But seems the bank flagged the details as invalid/incorrect and as such fields were updated to reflect that on the related object. I see no related mandate for that specific ba_xxx so that likely explians why there was no mandate.updated event?
What specifically do you want to understand that I haven't already explained?
there was a mandate.updated as well, lol: evt_1O89FFHewQvzvH772YcGfw7G
Just wanted to confirm that its also possible to not have a payment_method.* event when the mandate gets deactivated
Yeah, sorry. Don't really know in this instance
No, you can't configure that. That will fire whenever a field on the associated object is updated. I guess in some scenarios there's fields that are updated to reflect the failure/mandate rejection