Page MenuHomePhabricator

Recurring Token Migrate - Adyen CC
Open, Needs TriagePublic

Description

We would like to move our existing Adyen recurring over to Gravy in order to manage all recurrings from Gravy.

This phab tracks the migration of the CC tokens to Gravy for them to be able to charge on our behalf.

Event Timeline

I sent the first set of recurrings for a test export to Adyen today. The list can be found on this SearchKit. It consists of recuurings from @Cstone and I, which includes migrated ingenico recurrings, AMEX, MasterCard, and Visa recurrings also.

I've informed Adyen of the possibility of adding to the list next week.

This is currently blocked as we have sent the full list to Adyen of active recurring tokens and waiting to hear back from them.

Change #1313312 had a related patch set uploaded (by Damilare Adedoyin; author: Damilare Adedoyin):

[wikimedia/fundraising/crm@master] WIP: Gravy Payment token import scripts

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

Change #1321674 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] API action for token migration

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

Change #1313312 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Gravy Payment token import scripts

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

Change #1321674 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] API action for token migration

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

We received the tokens and tested on 3258 transactions, of which 45 of them failed. Here's a SK showing the recurring subscriptions that were migrated and there current status.

The failures were due to reasons some of which would have failed on Adyen as well, the failure reasons are shown below:

Revocation of authorization for recurring or installments (26)
46 : Closed account (8)
79 : Life cycle (2)
79 : Life cycle (6)
79 : Life cycle (10)
54 : Expired card (6) 
Insufficient funds

Only the expired card failures are avoidable due to Adyen not sharing the updated card details.

I've reverted the tokens with expiry dates < 10/26 out of the first batch. The next batch of credit card imports would also exclude tokens expiring soon as a SQL query shows over 120k+ out of the 270k+ tokens are due to expire before October. I've also initiated the conversation with Gravy about enabling the account updater on our production instance to help protect subsequent transactions.

SQL query:

select count(card_expiration_date) from T418759_cc_backup where STR_TO_DATE(CONCAT('01/', card_expiration_date), '%d/%m/%y') < STR_TO_DATE('01/10/26', '%d/%m/%y')

Change #1346647 had a related patch set uploaded (by Damilare Adedoyin; author: Damilare Adedoyin):

[wikimedia/fundraising/crm@master] Add payment service id parameter to migration script

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

Change #1346647 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Add payment service id parameter to migration script

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