-
Notifications
You must be signed in to change notification settings - Fork 308
analyze credit card failures #915
Comments
We get a short error message with each failure. Here's the breakdown for the past seven weeks:
|
The four explanations that come to mind are:
Can we infer anything from the above error messages about what scenarios we're hitting? Maybe someone from @balanced can comment on the meaning of the error messages? Ping @mjallday @jkwade @mahmoudimus. |
I emailed @balanced support about this as well. |
Hey Chad! I had a quick look, it doesn't look like you're passing the Is it easy for you to break down the rejections by US/non-US so we can see if that's a factor? The docs show how you can pass |
I had a quick look at your code, you're using an ISO2 country code, Balanced accepts an ISO3 :) Essentially we could make a simple change like this
But we also need to switch the country codes in |
will it ruin any existing queries if i just go ahead and change it? |
I'd say go ahead with a pull request if you're up for it. Thanks! :D |
I ended up backing out the change on #919, see notes there. Need to spend more time with this. |
Got a follow-up text message from @jkwade on this:
I would like to dig into this but at the moment I'm not seeing it as bad enough to raise an IRQ. |
I had an expired card on Gittip and was never notified so it's been sitting there and I'm not sure what happened. I assumed no donations failed because I still had a positive balance, but what would happen if my balance ran dry? We preemptively email people when their credit card is about to expire at Code School, which reduces those issues somewhat. |
@olivierlacan I've added a +1 to #583 for you. :-) |
Andrew from Balanced support, over a Heroku cc failure today:
7299 is "Miscellaneous General Services." http://usa.visa.com/download/corporate/resources/mcc_booklet.pdf |
In week 74 (#1632) we jumped 13% in credit card failures, which is a lot. I don't have all logs on my laptop, here's the data based on what I have:
Ironically, Balanced is among those whose card failed this week. |
I've emailed Balanced support and it sounds like we'll debug here. |
Thanks for getting this data for us @whit537. I think this issue is related to the Merchant Category Code (MCC) change we put in effect last week, but don't have concrete evidence of that yet, just correlation. |
Thanks @jkwade. |
@whit537 et al, We looked into the increased declines from today. Gittip 73 ran successfully with the new MCC, so I don't think that's the problem. Both Balanced and cardholders' banks (e.g. jdorfman's bank) have fraud filters that flag transactions that appear to be abnormal. Since Balanced has a strong partnership with Gittip, we've decided to dial down our internal fraud filters (don't ask us what they are that would defeat the purpose of having them). We'll continue to monitor and calibrate. Keep in mind, this does not mean that declines won't occur in the future, either from Balanced or the cardholders' banks. Sorry for the inconvenience. |
Anyone that would like more insight into Balanced's fraud fighting philosophy might find this blog post interesting. |
Thanks @jkwade. To date, the answer when we've asked about specific declines (such as @jdorfman's) has been that each decline has been at the bank layer. Without delving into specifics, do I hear you right that the spike in declines this week was due to fraud filters at the Balanced layer instead? We did talk a year ago about increasing the data we send to Balanced for the purposes of fraud signaling (#362). That would probably help here, eh? In addition to @mjallday's suggestions above? Apart from that, I suppose the immediate action item is to see whether those 233 declines drop back down towards 203 next week. |
Leaving this as an IRQ until next week. |
So what happens to people that were giving money and now no longer are? They aren't alerted in any way, and anyone who was receiving money from them just loses that? |
@ericholscher There are no automated notifications, no. That's #583. I've manually notified both Heroku and Balanced that their card is failing. I will follow up next week to make an effort to ensure they participate next week. Feel free to do likewise. :-) For the ~30 new failures this week due to Balanced's fraud filter, we're expecting those to not fail next week because Balanced has relaxed their internal fraud filter for us. Are there other steps you can see that we should take here? |
@whit537 I think @ericholscher's use case is very interesting. There might be an expectation of a certain ceiling of tips per week, so when there's a decrease in expected earnings per week happens, there could be anxiety, etc. @whit537 does gittip offer retries in case a tip fails? Going to watch this issue develop as a potential usecase for balanced/billy /cc @victorlin |
@mahmoudimus Agreed. It kind of snuck up on me, but we now have at least three people (@ericholscher @alexpott @ashedryden) relying on Gittip as their primary source of income. That's a weighty responsibility for Gittip and we need to live up to it. Gittip retries credit cards week by week indefinitely, but we don't immediately retry after a failure in any given week. I guess I've assumed that an immediate retry is highly unlikely to succeed. Is it? |
@whit537 Yes, immediate retries are unlikely to succeed, and are likely to look even more fraudulent to the issuing bank. We recommend retrying no more than once every 24 hours. |
@whit537 recurring billing has a ton of issues with what the payment industry calls, 'soft declines', which are just declinations that can be retried using a back-off window. So try failing cards 1 day later, then if that fails, try it 2 days later, then if that fails, try it 3 days later - so on and so forth. This is a specialization of offering [Dunning](http://en.wikipedia.org/wiki/Dunning_(process\)) support in a recurring billing system. This will provide more analytics such as how much expected tips were not given per payday? or projected tips given velocity of increase / decrease in tips, etc. |
Sounds like we're on the right track with the weekly retries, then. We could retry on Fridays but if that fails I wouldn't want to retry again on Monday or Tuesday, because then it gets into the next week and encroaches on the following payday. I've reticketed retrying on Fridays as #1637. |
@mahmoudimus @jkwade Any chance you could re-enter the Balanced credit card on Gittip so you're back on the homepage and the numbers go back up? :-) |
A manual retry after being notified that it failed would also be nice. I |
We've recovered somewhat but not entirely:
|
Sorry, I should've opened a new ticket for the rash of cc failures two weeks ago (#915 (comment)). I'm removing IRQ from this ticket. |
Setting to three stars, reticket specific action items. |
Closing. If anything comes up again related to this, reticket. |
We have 140 bad credit cards in our database, out of 929 total. That's 15%! Ouch! :(
What's going on? What can we do to prevent failures in the future and recover from failures we're already seeing?
The text was updated successfully, but these errors were encountered: