Page MenuHomePhabricator

Remove Adyen WSDL classes and related code in Api.php and PaymentProvider classes
Closed, ResolvedPublic2 Estimated Story Points

Description

Once all the IPNs are switched to JSON and the API calls are all made via REST, remove all the WSDL classes that are checked in to the SmashPig repo as well as the code for making SOAP requests and handling SOAP responses.

Event Timeline

Dwisehaupt set the point value for this task to 2.Oct 3 2022, 8:39 PM

@jgleeson wondering if you have any insight as to whether these classes have been removed. Happy to share more context in a stand.

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

[wikimedia/fundraising/SmashPig@master] Remove unused classmap and wsdlPath

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

Looks like we can just add a getInstanceFromJSON method to the AdyenMessage class that parallels the current getInstanceFromWSDL method.

Then we also add a constructFromJSON to replace constructFromWSDL, on AdyenMessage and any subclasses that override the WSDL one.

Change 997897 abandoned by Ejegg:

[wikimedia/fundraising/SmashPig@master] Remove unused classmap and wsdlPath

Reason:

oops, those are used in the parent class

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

Looks like we can just add a getInstanceFromJSON method to the AdyenMessage class that parallels the current getInstanceFromWSDL method.

Then we also add a constructFromJSON to replace constructFromWSDL, on AdyenMessage and any subclasses that override the WSDL one.

OK, that was a very hasty analysis. We need to replace the AdyenListener entirely as it inherits from SoapListener. We can run both listeners in parallel on a short term basis, instantiating the appropriate one based on the first char of the notification.

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

[wikimedia/fundraising/SmashPig@master] Test data for Adyen JSON IPNs

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

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

[wikimedia/fundraising/SmashPig@master] WIP adyen multilistener

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

Change 997969 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Test data for Adyen JSON IPNs

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

Change 1003575 had a related patch set uploaded (by Cstone; author: Cstone):

[wikimedia/fundraising/SmashPig@master] Remove the WSDL directdebit method iDEAL and newer bank transfers are using the new methods

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

Change 1003575 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Remove the WSDL directdebit method iDEAL and newer bank transfers are using the new methods

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

OK, there is a JSON IPN listener ready for some smoke testing

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

[wikimedia/fundraising/SmashPig@master] Remove old WSDL recurring authorize method

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

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

[wikimedia/fundraising/SmashPig@master] Clean up WSDL stuff from Api.php

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

Change 997998 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Add Adyen multilistener and REST listener

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

Change 1004133 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Remove old WSDL recurring authorize method

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

Change 1004145 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Clean up WSDL stuff from Api.php

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

XenoRyet set Final Story Points to 2.