Page MenuHomePhabricator

[Epic] Do not show donation form error message: "No processors available". Fix UI and plug holes.
Closed, ResolvedPublic2 Estimated Story Points

Assigned To
Authored By
MBeat33
Nov 5 2015, 3:54 PM
Referenced Files
F4707548: NPAScreen_Shot_2016-11-08_at_12_26_18_PM.jpg
Nov 8 2016, 6:04 PM
F4270395: Astro Screen Shot 2016-07-13 at 11.12.27.png
Jul 13 2016, 4:49 PM
F4057010: EUtest.jpg
May 26 2016, 1:30 PM
F4056995: no procs
May 26 2016, 1:30 PM
F3514660: NPAcap 20160303, 133413.gif
Mar 3 2016, 3:05 PM
F3310501: NPAfeb4image001.png
Feb 4 2016, 4:02 PM
F3040680: Screen Shot 2015-12-01 at 1.36.30 PM.png
Dec 1 2015, 9:38 PM
F2918868: NPAimage001.jpg
Nov 5 2015, 3:54 PM

Description

Three recent donors have received this error message from the credit card donation form, before their data is sent to GC. This is a relatively uncommon error, but it would be good to know whether to advise the donors to retry their donation, or if it points towards something that we need to fix.

NPAimage001.jpg (488×575 px, 23 KB)

This error message covers a wide range of conditions, and as we see new error codes, they should be interpreted by backend code and translated into a reasonable donor-facing action or error message. Usually, that just means "try again" vs "we can tell you that this will never work".

Some errors we've been seeing, and notes on the correct response.

codecount (Dec 1-14th)donor meaningour meaning
40012024255 second delayRegenerate a new order ID--backend retry should result in success
41011016try againUnknown order (maybe a lost API call?)
430339112contact donate@"contact globalcollect", looks like a bad payment method combination
43040397try againUnable to authorize, but try again
4303277contact donate@Invalid amount--but we don't allow editing the amount. Flag.
2000000043contact donate@Flag: Our form and API call were broken, we're missing a parameter.
2100005036try again (?)We failed to validate a field, e.g. CVV sufficiently before passing it along.
21000080223contact donate@Invalid country code, this is a serious issue. Flag.
2100013010 (all nl)contact donate@Invalid email address. Our validation failed.
2100024044contact donate@"field too short", this is an unrecoverable error on our side and should be flagged.

For unknown errors, let's deliver the "contact us" message instead of recommending that the donor try again.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
awight removed awight as the assignee of this task.Feb 1 2016, 5:06 PM
awight moved this task from Doing to Backlog on the Fundraising Sprint Bloodletting 2016 board.

We've received two reports from donors receiving the 'no processors available' error message today, in ZD #s 207484 & 207501. It looks like they received this error before submitting their details to Ingenico. We're following up for more details with the donors, but one thing that stands out is that they see only two card options available, Visa and MC. #207484 used Chrome. One donor included the url:

https://payments.wikimedia.org/index.php?title=Special:GlobalCollectGateway&appeal=JimmyQuote&ffname=cc&recurring=&payment_method=cc&utm_source=sp50619562.default~default~JimmyQuote~default~control.cc&utm_medium=email&utm_campaign=C15_Email1&utm_key=&referrer=&language=en&country=EU&returnto=Thank_You/en&amountGiven=&currency_code=USD&frequency=onetime&amount=5&uselang=en

Could it be a geolocation error that selects the country as EU? We're continuing to see this at a low level [6 cases in February, 7 in March], and will add any useful donor feedback as we receive it.

NPAcap 20160303, 133413.gif (209×436 px, 14 KB)

NPAfeb4image001.png (209×444 px, 13 KB)

A recent example confirms this; if the country somehow is set to EU then the form behaves differently. The donor in ZD 229675 using this link sent the first screenshot:

https://payments.wikimedia.org/index.php?title=Special:GlobalCollectGateway&appeal=JimmyQuote&ffname=cc&recurring=false&utm_source=sp51459589.default~default~JimmyQuote~default~control.cc&utm_medium=email&utm_campaign=C1516_Email3&utm_key=&referrer=&language=en&country=EU&payment_method=cc&payment_submethod=&gateway=&amountGiven=&currency_code=USD&frequency=onetime&amount=15

no procs (843×1 px, 33 KB)

And when I test the landing page with EU as the country, the form defaults to USD and gives the smaller yellow boxes for card details.

Can we determine why some donors are getting URLs with EU as the country (a geolocation error of some sort)? Is this worth spinning off to a separate task, if it's just one of the cases where the 'no processors available' message appears to donors?

EUtest.jpg (1×912 px, 111 KB)

@MBeat33 n.b. AstroPay is supposed to be disabled in banners and on donatewiki, so hopefully this isn't a large volume of spontaneous donors?

Yeesh, maybe we sent an email...

@awight no, thankfully the volume's not large, just a handful of donors. Thx for the update.

Seems to be another IP address change. T101129 tracks the whitelist update. Unfortunately our code to disable one processor at the donation form is currently sending you on a redirect loop: see T140314.

@awight We aren't running any banners in these countries atm, so traffic will be low. I had re-enabled the Astropay buttons on donatewiki after we updated the whitelist with their previous list. Will remove them again...

Pcoombe lowered the priority of this task from Unbreak Now! to High.Jul 26 2016, 5:53 PM

Thanks for fixing the whitelist! I restored Astropay buttons on donatewiki.

Lowering priority, since that seemed to be the major cause of these errors.

If you click among several card options (after entering donor info, but before entering card #s) I get the 'no processors available' message in different browsers. Is there a limit to how many times a donor can change their mind? The error message appears not as a pop-up but above the selected amount on the form.

@MBeat33 can you make a separate bug for your last comment?

The focus of this bug should be: Display a more friendly error message, and include the error code in case the donor wants to help us debug. Then we should close.

On second thought, we can't show most of these error code cos it gives fraudsters too many clues. DonationInterface has an error code mapping for exactly this reason, so all we really want to do is fix the language to be more friendly.

For a future enhancement, we could log a unique ID with the error, then make that available in the error message, and give donor services a way to look that up.

awight renamed this task from Do not show donation form error message: "No processors available". Fix UI and plug holes. to [Epic] Do not show donation form error message: "No processors available". Fix UI and plug holes..Sep 6 2016, 11:08 PM
awight added a project: Epic.
awight removed the point value for this task.

After further review 400120 is fixed.

For the errors that mean try again, please switch the text to:
"There was an error processing your request. Please try again"

For the errors that mean contact donor services use the copy:
"There was an error processing your request. Please contact Donor Services at [email protected]."

DStrine set the point value for this task to 2.Sep 7 2016, 8:09 PM
DStrine moved this task from Q3 2021-2022 to Next on the Fundraising-Backlog board.
DStrine moved this task from Next to Sprint 3 on the Fundraising-Backlog board.

Change 316709 had a related patch set uploaded (by Ejegg):
Default errors links to donate@ and other_ways

https://gerrit.wikimedia.org/r/316709

Change 319905 had a related patch set uploaded (by Ejegg):
Use more specific error messages

https://gerrit.wikimedia.org/r/319905

Change 319906 had a related patch set uploaded (by Ejegg):
Add more 'try again' errors for globalcollect

https://gerrit.wikimedia.org/r/319906

From an Italian Ingenico donor trying to give USD today:

NPAScreen_Shot_2016-11-08_at_12_26_18_PM.jpg (1×2 px, 247 KB)

I will follow up for browser & OS details, and to see if they switched card types.

UPDATE: this donor came back with more details. They have used IE, Chrome & Firefox and get the error using all of them, even after turning off Adblock & autofill. They noted the message is appearing when they first select a card type.

They also added that the version of Javascript they have installed is not current, version 1.7.0_67

Sorry, we haven't deployed anything for the messaging yet

ohhhh, but it shouldn't be in English there, in any case

Ejegg removed Ejegg as the assignee of this task.Nov 15 2016, 6:53 PM

Change 316709 merged by jenkins-bot:
Default errors links to donate@

https://gerrit.wikimedia.org/r/316709

@MBeat33 : We're all ready to deploy a change to the default error message to include the donate@ email address, but the other changes are still in review (and may not make it out of review before Big English). Would you like me to deploy the default message change on its own? Not sure if that's going to end up swamping you with email.

@Ejegg cool! I think it will be good to refer these donors to us. Will there likely be any console visibility if we look them up @ Ingenico (like status 20, 25)?

The one thing I hope will not change is that donors who submit card details will still get the error reference in their message - this is working really well.

If the error happens before we finish the initial I_OWP call, there won't be anything in the console. Anything else should at least have one of those early statuses. And error messages will still have that reference number!

if the reference number doesn't show up in the console, but is an 8 digit number around 40000000, then that means we didn't have an order ID and fell back to the contribution tracking ID

Got it. This looks like a good change to make, it will be interesting to see whether what we get from donors changes by putting the email address here. Thank you!

XenoRyet moved this task from Doing to Review on the Fundraising Sprint Value Subtracting board.
XenoRyet subscribed.

Change 319905 merged by jenkins-bot:
Use more specific error messages

https://gerrit.wikimedia.org/r/319905

Change 319906 merged by jenkins-bot:
Add more 'try again' errors for globalcollect

https://gerrit.wikimedia.org/r/319906

It sounds like we changed the error messaging on this already. @MBeat33 is it ok to close?

MBeat33 claimed this task.

Yes!

If we see ever any more 'no processors available' errors popping up we can create a more focused task.

Thanks, @DStrine

Change 259186 abandoned by Eileen:
Make the generic error message human-readable

Reason:
old & conflicted

https://gerrit.wikimedia.org/r/259186