Page MenuHomePhabricator

Compare amounts and currencies between payments logs and Civi, fix discrepancies
Open, HighPublic4 Estimated Story Points

Description

Bug T115171 let us record the wrong amount in certain cases where a donor had payment forms open with different amounts in multiple windows. A donor on 10/6 alerted us to this, and I found one more that day. That was 2 out of almost 5,000 donations, so they're likely not very common.

@awight suggested a general-purpose log parser interface that takes a callback, and calls the function with all the info from each donation found in the log.

The bug likely affected GlobalCollect, Worldpay, and AstroPay donors, but we should check the other gateways to be sure.

Event Timeline

Ejegg raised the priority of this task from to High.
Ejegg updated the task description. (Show Details)
Ejegg added a project: Fundraising-Backlog.
Ejegg added subscribers: Ejegg, awight.

Is this for a 1-off audit/fix or something that will run constantly in the background?

DStrine edited a custom field.
DStrine moved this task from Triage to Sprint +3 on the Fundraising-Backlog board.

Random code I started and abandoned: https://gerrit.wikimedia.org/r/#/c/234417/

Definitely a big win to have a reusable log parsing component that can be run from audit processors + anything else.

Small correction, although I do like @Ejegg's callback idea, I was suggesting something slightly different. We need the ability to use regex search to find contributions affected by specific bugs, etc., and I was imagining we might want to broaden that matching callback to take all of a transaction's log lines and returning whether or not this fits our criteria.