Various refactoring and little fixes
Summary of changes:
- Shift requirements of omnipay/common to minimum 2.4 #93
- Shift PHP minimum requirement to 5.4
- Add more constants to the abstract request defining API values.
These are partly for reference by the application, and partly for use within
the driver in place of naked strings defined in various places. - Support profile parameter for iframe use at gateway level #4
- Support surchargeXml field #91
- Refactor the request data building into a collection of smaller units
(token data, authorization data, card data, etc.) - Added ResponseFieldsTrait to share fields between the AbstractResponse and the
ServerNotifyResponse messages. This reduces the amount of code duplication. - Similarly, added ServerNotifyTrait for shared mnethods between the ServerNotifyRequest
and the AbstractResponse. - Fix the ServerNotifyResponse so it does not refer to custom methods in its
Request object. This was a pain to test, as the mock requests only complied to
the strict AbstractRequest interface. - Support saved card token creation while a card payment is being made.
This complements the explicit card token creation methods. #90 - Added tests hopefully covering all these changes.
- Add many missing docblocks.
- General code formatting cleanup.