Page MenuHomePhabricator

Adyen PaymentProvider / API classes should be split out like Ingenico ones.
Closed, ResolvedPublic

Description

Let's make the division of labor in SmashPig's Adyen code look like that of the Ingenico code.
Specifically, the class implementing PaymentProvider should be responsible for taking the normalized parameters and values, transforming them into the provider-specific parameter names (and nesting, for JSON) and value scales, and passing them off to the appropriate method on an API object. That API object should be responsible for adding any boilerplate or authentication and making the request.

Among other things, this will let us mock the API object in tests of the PaymentProvider object. Those tests shouldn't need to mock the low-level SOAP classes.

Event Timeline

Change 567141 had a related patch set uploaded (by Jgleeson; owner: Jgleeson):
[wikimedia/fundraising/SmashPig@master] Update Adyen to break out into separate PaymentProvider and Api classes. Also map responses sent back from Api to the new PaymentProviderRespone thingy.

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

Change 574874 had a related patch set uploaded (by Jgleeson; owner: Jgleeson):
[wikimedia/fundraising/SmashPig@master] Move FinalStatus to Core

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

Change 574874 merged by jenkins-bot:
[wikimedia/fundraising/SmashPig@master] Move FinalStatus to Core

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

Change 567141 merged by jenkins-bot:
[wikimedia/fundraising/SmashPig@master] Break up Adyen into separate PaymentProvider and Api classes.

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

Change 575306 had a related patch set uploaded (by Jgleeson; owner: Jgleeson):
[wikimedia/fundraising/SmashPig@master] WIP: map Ingenico createPayment response to Response object

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

Change 575306 merged by jenkins-bot:
[wikimedia/fundraising/SmashPig@master] Map Ingenico createPayment response to Response object

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