[00:05:58] (PS12) Awight: Move more validation out of GatewayPage and into the adapter. [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/63823 (https://phabricator.wikimedia.org/T86249) [00:06:49] (PS1) Awight: remove and comment unused code [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183741 [00:08:53] i'm going to head out, too [00:09:23] i'll see you kids online tomorrow! [00:09:37] (CR) Awight: Move more validation out of GatewayPage and into the adapter. (2 comments) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/63823 (https://phabricator.wikimedia.org/T86249) (owner: Awight) [01:10:31] (PS2) Awight: make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) [01:10:33] (PS1) Awight: Move function into the base class [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183752 (https://phabricator.wikimedia.org/T86256) [01:10:55] (CR) jenkins-bot: [V: -1] make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) (owner: Awight) [01:10:57] (CR) jenkins-bot: [V: -1] Move function into the base class [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183752 (https://phabricator.wikimedia.org/T86256) (owner: Awight) [01:11:40] (PS2) Awight: Move function into the base class [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183752 (https://phabricator.wikimedia.org/T86256) [01:11:42] (PS2) Awight: sprinkle comments [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183629 [01:11:44] (PS3) Awight: make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) [01:12:43] (CR) jenkins-bot: [V: -1] make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) (owner: Awight) [01:22:28] (PS4) Awight: make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) [01:22:44] (CR) jenkins-bot: [V: -1] make paymentmethod non-static [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183630 (https://phabricator.wikimedia.org/T86256) (owner: Awight) [17:44:09] Hey ccogdill: You there? [17:44:18] hey k4-713 [17:44:20] what’s up? [17:44:58] I *think* the alipay transaction settled, but it did so in a way odd enough that it broke the nightly audit script. [17:45:06] heh [17:45:16] okay, what does that mean? [17:45:45] Well, the invoice currency and payment currency, are different. [17:45:58] The first is CNY, and the second is EUR. [17:46:03] oh, man [17:46:05] This is completely unusual. [17:46:15] ohhh [17:46:18] I thought they told us we would be paid in USD [17:46:41] we’re not receiving the funds in the actual currency? [17:46:48] at least on GC’s end? [17:46:50] I Have no idea. [17:46:52] Ooh, they actually tout this mismatch as a feature [17:47:07] I was hoping you would be able to follow up on this on their end / in some portal somewhere. [17:47:12] for companies they assume want to recieve currencies other than CNY [17:47:19] do you have an order ID? [17:47:21] And then... I need to know what we should do when this happens, with the audit script. [17:47:30] Like, would you like to see CNY in civi, or EUR? [17:47:35] and did this affect other transactions or just this one? [17:47:36] and CNY [17:47:39] what the donor gave [17:47:56] This is a first for this exception in the code, so I have to think it's just anipay. [17:48:00] Er. Alipay. [17:48:03] cool [17:48:16] So... here's another wrinkine in choosing to see CNY in civi. [17:48:48] If we go off the original amount in the original currency, the USD equivalent will be calculated off of that original amount. [17:49:22] is that a problem? maybe I don’t understand how Alipay transactions settle [17:49:24] ...not the final EUR amount that they presumably settle with. [17:49:29] hmm [17:49:34] That could cause drift in the db totals. [17:49:42] Probably not a lot, but... [17:49:45] from my perspective, we should be giving donors a receipt with the amount they paid in their currency [17:49:53] Well, yes. [17:50:24] But how we record it afterward *could* be another matter. [17:50:24] yeesh I didn’t realize that EUR conversion was happening. that’s sticky [17:50:40] Yeah, we need to raise this as an issue all over, I think. [17:51:00] I believe GC's docs say the conversion is optional [17:51:01] well the other hiccup on my side is some of my agents have Civi access but not PSP access. so ideally, Civi should say the same thing the PSP does [17:51:01] ejegg: Can you see what I'm talking about with the wr1 job fail from last night? [17:51:13] looking now... [17:51:34] We should check to see what the PSP says. [17:51:42] I can't actually do that. [17:51:55] k4-713 - let me know how I can help with GC. I just need to see the transaction and know for sure what you guys want/expect it to do :D [17:52:10] 25483391.62775 [17:53:09] ccogdill: I don't think we have any expectations, other than those two currencies are generally identical. [17:53:15] thanks, I see what you mean [17:53:21] okay, so we want them to be identical [17:53:27] Well... maybe not. [17:53:34] haha this is what I can’t tell [17:53:57] should we bring this to Pats before GC? [17:53:58] We just don't know for sure what it means when they're not, and if we need to handle it in a way other than "use the original for donor communications". [17:54:30] I mean, maybe this is some fancy thing we actually want for reasons I am totally unaware of. [17:54:53] I was just assuming this is how Alipay transactions are processed :/ [17:54:59] Could be. [17:55:05] so should I start there? Just ask GC if this is how they normally process? [17:55:11] switching currency in the paid amount? [17:55:26] Yeah. And it might be nice to find out why it's EUR and not USD. [17:55:34] Or rather, if that was intended. [17:55:38] yeah it seems like that could solve all our problems if it was USD... [17:55:49] yeah, I see the audit line [17:55:53] I guess technically speaking I don't really care why, so long as I know that somebody meant to do it. [17:56:02] I think we asked them to cash out in USD [17:56:02] fair enough [17:56:20] so I was confused when the Alipay site showed CNY and EUR [17:56:29] during my test payment [17:56:47] I emailed GC about that, and they said it always showed those two [17:56:48] ejegg: Do you think you can throw a nonfatal for alipay in the wr1 script until we get the real answer pinned down? [17:57:02] This is choking the whole job. [17:57:06] (It's that unusual) [17:57:26] Sure, just log & skip that payment instrument for now? [17:57:52] Ah... actually, I'd write the exception in a place that's... pretty much where we would handle the odd case when we do find out what we should be doing. [17:58:13] There's this keygrinder thing... [17:58:29] ok, I'll look at putting it there. Thanks! [17:58:40] ...which looks at all the named fields that we feel are basically the same data item, and complains like crazy if they don't all match. [17:58:43] Probably in there. [17:58:51] There may already be exceptions in there. [17:59:13] In fact, just searching for the error message will probably take you straight to it. [17:59:25] glanced away for a sec - I take it there’s no need to ask GC as ejegg already did. Is that right? [17:59:41] Ah, I think we need to talk to them about this. [18:00:04] yeah, I believe we can ask them to just cash out in the same currency [18:00:19] Well, we might not want that. [18:00:23] oookay, so I’ll proceed with that request (and cash out in USD as a backup?) [18:00:34] Definitely not EUR [18:00:37] Pats might know more. [18:00:55] Like, if for some reason the fees are silly if we *don't* set it up this way. [18:01:04] Or there is some other financial advantage to this. [18:01:09] Not my department. [18:01:14] yeah it seems like she must have known this was coming [18:01:33] well do you want to wait till Monday to talk to her, or escalate now so we can figure this out? [18:01:54] We can slap a bandaid on it for now, so there's no technical emergency. [18:02:00] But I'd like to talk to her if we can. [18:02:12] ccogdill: I guess what I wanted to ask you, was if it looked sane in the console. [18:02:17] Again, I can't get there to look. [18:02:21] I guess it doesn’t [18:02:28] because usually it’s the same currency across the board [18:02:35] BUT [18:02:45] Okay. Does it look insane in a way that's going to cause a mess for donor services? [18:02:51] I don’t think so [18:02:56] That's good news. :) [18:03:02] when things look really crazy is when the order and request amount are different [18:03:23] I don't think we ever got a straight answer about why that happens. Did we? [18:03:25] the paid amount is a little less concerning to me on the GC side - I just want to make sure the receipts are right [18:03:35] k [18:03:41] uhh I thought you said it had to do with order IDs being reused after abandoned attempts [18:03:53] I think that *can* cause that. [18:03:57] But not always. [18:04:08] ah. well that’s been my go-to explanation... [18:04:27] I'm almost completely certain that it's totally complicated. [18:04:33] haha that sounds right [18:04:38] so as to receipts, the alipay site DOES show the user the currency conversion [18:04:46] orly [18:04:52] so they may be used to getting receipts for the converted currency [18:05:00] So, does it look to them at the end of it all, that they paid in CNY, or EUR? [18:05:04] Yep, it shows both the CNY amount and the EUR amount [18:05:09] Blarf. [18:05:09] weird [18:05:23] So, basically, there is no right answer. [18:05:26] Neat. [18:05:36] Again, I think that's because GC thinks we want to be paid out in EUR [18:05:45] Or, alipay does. [18:05:45] which is also weird. [18:06:16] GC's Alipay docs say this is u 'unique feature' of alipay [18:06:23] baaaahahaha [18:06:54] but again, I think they said it was optional [18:06:56] ejegg: What does the keygrinder say about which currency code keys it prefers? [18:08:15] Because, if it's anything other than Payment-currency, it seems we can stop being fatal there (*just* for alipay, though) and let it through. Same for Payment-amount. [18:08:56] Then the donor gets a TY is the sensible currency, and we... remember that the amounts may contain some degree of conversion drift. [18:09:12] Until we convince civi to, ah... start keeping track of more than one settlement currency. [18:10:17] ejegg: Does that sound like crazy talk, or is that somewhat reasonable? [18:10:55] yeah, sounds good for now! [18:11:11] Cool. [18:11:21] OK, will add that [18:11:26] Please keep me informed re: the wr1 patch progress. [18:11:38] We should get this thing back on it's legs today if we can. [18:11:39] yup, shouldn't take long [18:16:33] oh yeah, we already have the same exception for webmoney. even easier [18:18:52] Webmoney! [18:19:04] Are we even... doing that? [18:19:19] oh wait, with webmoney we end up using payment-currency [18:19:31] no idea [18:19:59] Yick. [18:20:05] hmm, still have a form configured for it! [18:20:11] This is why I asked. :) [18:20:23] Finland? [18:20:29] Oh, ha. [18:21:05] Didn't we stop with that? [18:22:07] Well, finland's still listed under CC in 'ways to give' [18:22:31] though that page has no ewallets besides paypal [18:23:22] no, we are not still doing webmoney :) [18:23:23] oh, it just goes to 'sorry, we can't take your money' [18:23:45] atgo: Then, somebody should remove it from ways to give, probably. [18:23:48] maybe we should take it down [18:23:49] yep [18:23:52] hey the-wub ^ [18:24:19] For anything we decide not to have anymore, we should also un-whitelist the form on payments. [18:24:29] on it [18:25:12] also yandex? [18:25:35] thanks atgo, I'm on it [18:28:14] (PS1) Ejegg: Remove unused ewallets from whitelist [core] (fundraising/REL1_23) - https://gerrit.wikimedia.org/r/183886 [18:31:30] (CR) Katie Horn: [C: 2] Remove unused ewallets from whitelist [core] (fundraising/REL1_23) - https://gerrit.wikimedia.org/r/183886 (owner: Ejegg) [18:43:35] K4-713: so, both of the amounts we feed to keygrinder are EUR in that audit line, and the first key in the currency grinding is payment-amount is 'EUR' in that audit line. So best we can do is give 'em a receipt in the cashed-out currency [18:43:56] ... [18:43:58] I mean both of the amounts are the euro cents [18:44:25] I'm having difficulty parsing that statement. [18:44:32] sorry [18:44:38] that was not clear at all [18:45:01] The only amounts we go on are payment-amount, and amount-due [18:45:17] We can add the others. Or, flip to those in an exception. Right? [18:45:26] which are 00082 in the audit line (the amount of euros) [18:45:43] I mean, there's no reason not to just add the others. Probably never had to look at them before. [18:45:53] Also, the preferred key for currency is payment-currency, which is 'EUR' in that audit line [18:46:30] There should be a way to switch behavior / key preference based on payment method. [18:46:33] OK, I'll add another amount key and set up the exceptions [18:46:34] I know we had to do that for cc. [18:46:42] Or rather, not-cc. [18:48:19] I'm going to be really interested to see what this looks like in the wx file. [18:55:38] (Abandoned) Awight: comment large_donation [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/163133 (owner: Awight) [18:56:39] (CR) Awight: [C: 2] Differentiate delete buttons for large donation [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183542 (owner: Ejegg) [18:56:46] (Merged) jenkins-bot: Differentiate delete buttons for large donation [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183542 (owner: Ejegg) [19:02:37] (PS13) Awight: Move more validation out of GatewayPage and into the adapter. [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/63823 (https://phabricator.wikimedia.org/T86249) [19:03:24] thanks awight! [19:03:39] are we doing the MG check-in? [19:03:54] ooh [19:04:25] ccogdill: running upstairs now! [19:04:26] i'm in there ejegg awight [19:04:46] k awight, I’m a bit late too! [20:04:33] (PS1) Ejegg: Add exception for Alipay mismatches [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183895 [20:07:41] K4-713: https://gerrit.wikimedia.org/r/183895 [20:08:30] I looked through a couple existing wr1 files, and the new field I'm checking for amount matches the existing two in all cases but alipay [20:09:06] will do a more thorough check once i figure out how to feed the fixed widths to awk right [20:29:43] awight: still 10M rows where do_not_solict is null [20:30:17] I think I'll want to shut down the qc while I do that update [20:44:00] (CR) Ejegg: [C: -1] "Oops, looks like adding Invoice-amount-deliv will break other foreign currency stuff" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183895 (owner: Ejegg) [20:59:35] ccogdill: did you want to close that task as "declined" or something? :) [20:59:51] heh, wasn’t sure of the phab etiquette there [21:00:32] does declined seem right to you, atgo? [21:00:40] either that or stalled [21:00:40] if we're not going to do anything about it, yes :) [21:00:46] okay sounds goo [21:00:48] *good [21:00:49] thanks! [21:00:49] yeah either of those.. let me see if there's some documentation [21:02:15] ccogdill: https://www.mediawiki.org/wiki/Phabricator/Project_management#Tasks_cannot_be_worked_on_yet [21:03:49] maybe that's not the right thing but i'm sure we'll get feedback if so :) [21:03:55] I’m sure... [21:04:05] so do you have a second to talk about a related task? [21:04:13] t60373? [21:06:02] atgo I think I’ll have to respond to that card because it was related to the one I just did [21:06:30] the thing is I’ll have to say “we did this because our WMF https page broke too many times”. basically what Matt said but a little clearer. [21:06:38] so I’d be bringing up a new-ish tech task [21:06:58] sorry, what's the question? [21:07:11] it seems like this is complaining about 1 - the certificate and 2 - the language? [21:07:22] I think the cert is the main issue [21:07:32] the other is splitting hairs, IMO [21:08:11] yeah the language we can do... i don't know much about the cert [21:08:22] all Silverpop pages are http, sadly [21:08:29] ahh and they can't fix? [21:08:34] apparently not [21:08:52] we had to switch to an spop unsusbcribe page for our emails last year because the WMF one kept breaking [21:09:00] oh i see [21:09:01] I don’t think we want to put effort into fixing it? but maybe I’m wrong [21:09:06] hmm ok [21:09:13] let's just leave it.. if it comes up again it comes up [21:09:26] okay so don’t respond on phab for now? [21:09:27] it's triaged as "normal" priority so we'll get there when we get there [21:09:30] yeah it's ok [21:09:35] sounds good, thanks :) [21:09:35] i'm chewing through things slowly but surely here [21:09:49] I’m always happy to leave stuff like that [21:20:20] (PS2) Ejegg: Add hokey Alipay special treatment in audit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183895 [21:48:03] !log disabled queue consumers [21:48:09] Logged the message, Master [21:58:28] !log enabled queue consumers [21:58:31] Logged the message, Master [22:24:44] K4-713: http://binhdanh.com/Projects/Immortality/Immortality.html [22:26:43] That's so cool. [22:27:00] hehe I just misread "Add honkey Alipay special treatment" [22:27:49] ejegg: Hmm. Is there no keygrinding done for things other than amount and currency code? [22:27:58] For some reason, I thought there were more. [22:28:04] K4-713: sure, there is [22:28:18] but I think we only need to short-circuit those two for Alipay [22:28:48] date should be the same [22:29:06] along with order number and amount sign [22:30:40] ejegg: It just looks like in https://gerrit.wikimedia.org/r/#/c/183895/, you're setting every possibility that isn't 'currency' to the invoice amount. [22:31:06] Which would be awkward if we were asking for... I don't know. Country. [22:31:14] check the in_array test to get into the block [22:32:14] Ugh. I'm... in a weird place with this repo on my local. [22:32:17] This might take a while. [22:32:28] Do you have a line number? [22:32:33] 1935 [22:32:41] ty [22:32:58] it only gets to that place if $name is currency or amount [22:33:21] Oh, dur. [22:33:33] Never mind me. [22:35:20] (CR) Katie Horn: [C: 2] Add hokey Alipay special treatment in audit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/183895 (owner: Ejegg) [22:35:37] Thanks! lemme deploy that and see how it goes [22:35:42] Thanks! [22:35:50] Let me know when you're ready to fire off the job. [22:35:58] word, will do [22:35:58] I sort of want to watch it go. [22:37:29] (PS1) Ejegg: Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/183995 [22:39:22] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/183995 (owner: Ejegg) [22:41:45] bit of a late entry, but I like the idea that we can use the invoice amount and currency for everything, not just alipay [22:42:25] Unfortunately, I don't think that's always the right... thing. [22:42:43] I'm sure there's loads of helpful documentation about this... [22:42:45] Also, I don't think those specific keys always exist. [22:42:45] not [22:42:48] hah [22:43:42] It's giant blocks of... what the different positions and lengths in their bigass fixed-length row data mess actually map to. [22:43:51] What the column names actually mean? Not so much. [22:44:12] yeah the tech writers never survive long enough in the episode to explain all that [22:44:53] I imagine they're all abducted by ex-clients at some point, and tied to chairs. [22:45:01] I DEMAND AN EXPLANATION. [22:45:04] :p [22:45:21] btw, I assume this is going to happen to me someday. [22:45:25] that never works, they'll just lie to us [22:45:26] I just don't know who's going to be the one. [22:45:49] !log updated crm from 8ded33737337d0c842d8c194b5cb15b25fc99c2e to d8a1160bca99354a856b1595cedf5c33f9ac255c [22:45:53] Logged the message, Master [22:45:56] maybe we can get Cheney to cover up our brutality [22:47:02] pfff [22:47:13] I think he's busy. [22:47:26] Hm. Here's an idea. [22:47:47] K4-713: ready to watch the audit? [22:47:54] Yep! [22:48:01] Shall I kick one off? [22:48:09] Just did! [22:48:26] Heh, cool. [22:52:25] soooo many dots... [22:52:45] i'm going cross-eyed watching the scroll [22:52:52] That will totally happen. [22:53:11] So far: One stupid exclamation point. [22:53:19] the refund? [22:53:27] 1 missing records from a possible 83653 total records found. [22:53:29] ...nope. [22:53:38] There's *one* exclamation point. [22:53:41] In a field of dots. [22:53:53] 22:51:40 [22:54:03] That's the jerk that's keeping this file from moving. [22:54:08] The new script, won't do that. [22:54:48] Will it keep just the missing record around somehow? [22:55:04] Nah, but it will stop trying so hard. [22:55:20] ...with a command-line parameter change. [23:03:26] There it went. [23:03:39] Cool [23:04:02] let's see how the record looks [23:04:04] 23:03:16 [23:04:18] yep, just been searching for Alipay [23:05:00] Well, it's probably not in there yet. [23:05:12] It's got to re-marry the wr1 data to the log data, still. [23:05:16] Oh right [23:06:34] Oh no wait, it found and sent already. [23:06:42] 23:03:30 [23:07:01] Or... I'm making that up. [23:07:03] ah, yep! [23:07:09] That's... cc. [23:07:11] d'oh. [23:07:18] oh [23:07:33] 23:06:41, though. [23:07:36] That looks real. [23:07:44] Also it's got your name on it. [23:07:53] That would be the one! [23:09:13] Wow. I almost tried to ssh in to aluminium. [23:09:17] What is this? Last year? [23:11:36] and it's in the civi db with the right payment instrument [23:11:52] seems to have converted correctly [23:12:07] source = CNY 6.1 [23:13:29] And here's my thank you letter with the spiffy CNY symbol [23:13:39] woohoo! [23:14:37] woooooooo. [23:14:41] Nicely done. [23:14:43] yarp [23:16:45] (CR) Ejegg: [C: 2] "inching towards elegance!" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183144 (owner: Awight) [23:17:31] (Merged) jenkins-bot: Normalize minor include file naming [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183144 (owner: Awight) [23:30:20] (CR) Ejegg: [C: -1] "One code concern, one phpdoc request" (2 comments) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/63823 (https://phabricator.wikimedia.org/T86249) (owner: Awight) [23:36:48] (CR) Ejegg: [C: 2] "getCompoundMethod comment leaves me in suspense, but I see you're deleting the whole shebang a couple PS later" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183629 (owner: Awight) [23:37:16] hehehe [23:37:25] (Merged) jenkins-bot: sprinkle comments [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183629 (owner: Awight) [23:37:39] "document this crap before chopping the " ayiiiiieeee [23:38:15] last words at the guillotine [23:38:25] Oh no! They got him. [23:38:36] just the tech writer [23:40:50] I Just realized the thing I wanted to do isn't going to work at all in its current form. [23:41:20] chicken-egg environment bootstrapping blargh. [23:41:31] Who wants ice cream. [23:42:27] * awight jumps on one foot [23:42:38] I may need some. [23:42:48] I'm testing validation. [23:42:55] where is nearby [23:43:11] Uhh... I think there's that place on the corner. [23:43:26] Not that corner. [23:43:27] The other one. [23:44:41] double rainbow! [23:44:56] tart 2 tart [23:45:00] coordinates locked in [23:45:09] That's the one! [23:49:13] these 'lightbox1' forms are totally obsolete, right? [23:51:30] mmm, guessing yeah. Hardcoded appeal from Brandon Harris! [23:51:55] And a paypal button that would hit a deadend code path [23:53:27] (CR) Ejegg: [C: 2] "PaypalRedirect is a nice thread to pull on to find more dead code. lightbox1 forms, PaypalRedirect hidden inputs, etc." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183741 (owner: Awight) [23:53:49] (Merged) jenkins-bot: remove and comment unused code [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/183741 (owner: Awight)