Page MenuHomePhabricator

Create orphan rectifier for PayPal Express Checkout
Closed, ResolvedPublic4 Estimated Story Points

Description

PayPal Express Checkout can suffer from the same problems as GlobalCollect/Ingenico hosted transactions - if the donor fills out all their information on the payment processor site but somehow doesn't make it back to us with their PHP session intact, we don't do the necessary post-processing to push their donation through.

We should have a generic script to rectify orphans found in the pending database, starting with those for PayPal Express.

It should eventually be adaptable to rectify orphans from Ingenico Connect hosted checkout transactions.

Event Timeline

Ejegg triaged this task as High priority.Aug 1 2017, 4:52 PM
Ejegg set the point value for this task to 4.
Ejegg moved this task from Backlog to Doing on the Fundraising Sprint Navel Warfare board.

Change 384077 had a related patch set uploaded (by Mepps; owner: Mepps):
[wikimedia/fundraising/crm@master] Updated donation interface for orphan_slayer Bug: T172202

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

Change 384077 merged by jenkins-bot:
[wikimedia/fundraising/crm@master] Updated donation interface for orphan_slayer and module update Bug: T172202

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

Change 384715 had a related patch set uploaded (by Ejegg; owner: Ejegg):
[mediawiki/extensions/DonationInterface@master] Batch mode: don't look for country in session

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

Change 384715 merged by jenkins-bot:
[mediawiki/extensions/DonationInterface@master] Batch mode: don't look for country in session

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

Let's test it again! I fixed the & settings late last night and haven't actually run the thing since.

@Ejegg new error message! The token is invalid due to timeout, which probably is expected? But should we be filtering for that before it tries to DoExpressCheckoutPayment?

@mepps yes, that sounds good!

I think the simplest thing to do is just make the expiration job aggressive with the EC messages, and delete them after a single day. We could also be checking for age in the orphan slayer - that should be configurable per gateway