Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 6.0.0 #171

Merged
merged 32 commits into from
Feb 17, 2020
Merged

Release 6.0.0 #171

merged 32 commits into from
Feb 17, 2020

Conversation

msilvagarcia
Copy link
Contributor

@msilvagarcia msilvagarcia commented Feb 13, 2020

This releases version 6.0.0 of the Adyen PHP API Library

Remarkable features include:

Because of the update to the latest API version (#162), this is a major release. There are changes to the MarketPay configuration API responses that users need to address after updating.

acampos1916 and others added 26 commits January 7, 2020 10:55
Fix bad phpdoc typehint for $liveEndpointUrlPrefix argument
This automates the `vagrant up` command by provisioning required packages and dependencies, and installing them on a provisioning run.

The `bin/composer-installer.sh` file is a recommended automation found in getcomposer.org. It downloads the sha-key for validation from the GitHub repository and downloads the composer.phar from the main location. This ensures a more secure download.
So that we don't forget to check if our changes break work that has been done before, this commit adds configuration to:
1. Run PHPUnit on commits and/or Pull Requests
2. Run the PHP syntax checker (`php -L`) on the project files

This Pull Request will also:
1. Bump up the PHPUnit version
2. Add basic code coverage documentation\
3. Update Vagrantfile with XDebug to generate such documentation
4. Update .gitignore to accommodate for new auto-generated files
To help us with code standards, this adds PHP Code Sniffer to the project. It also fixes the errors found while running it in the command line and enables it in Travis.
While the documentation says that you need to escape the data before doing an HMAC calculation for notifications, this is currently not happening. This commit will work around that until the issue is fixed.
PHP 7.4 was released in December. This raises awareness on compatibility issues.
The /vagrant folder is write-protected in CentOS. This configuration prevents PHPStorm of trying to access it to run tests or other configuration.
* Add maskParametersRecursive() to mask all the sensitive parameters

Walk through recursively in an associative array containing all the key
path combinations for the sensitive values in the request or response
parameters array
Masking is only effective in live environment

Add maskParameter() to only keep the first 10 characters of the
parameter's value and append 3 asterisks in case the value is not empty

* Use maskParametersRecursive() in logRequest() to mask parameters

Add parameter list that needs to be masked
Add environment as a required parameter to the logRequest() to determine
if masking needs to be done or not
Masking only needs to be done in live environment
Adjust the existing usage of the logRequest to the new parameters list

* Add logResponse() to log response objects

Replace the current response object logging with logResponse()

* Add getEnvironment() to retrieve the config environment value

* fix logResponse() and logRequest()

Json decode response before logging because the logResponse expects and
array
Add paymentData into the list of $paramsToMask for both request and
response logging

* Change maskParameter() to mask short parameters completely

* Add environment as a parameter into the createMockClient()

To be able to mock not just test but live configurations as well

* Replace testAuthoriseSuccess with testAuthoriseSuccessInTestEnvironment

By default in test environment the library will not mask the parameters
only in live environment

* Add testAuthoriseSuccessInLiveEnvironment() to test authorize in live

In live environment the parameters will be masked

* Resolve pull request comments

Make $paramsToMask in response and $paramsToMask in request to a private
static property

* Switch maskParameter() from 10 char to 6 char value length
…notification configuraiton for marketpay has a breaking change as you get different result fields for certain actions. (#162)
While the documentation says that you need to escape the data before doing an HMAC calculation for notifications, this is currently not happening. This commit will work around that until the issue is fixed.
cyattilakiss
cyattilakiss previously approved these changes Feb 13, 2020
cyattilakiss
cyattilakiss previously approved these changes Feb 14, 2020
@msilvagarcia
Copy link
Contributor Author

@Aleffio while I believe your suggestions are great, I don't think this Pull Request is the best place to apply them. This would mean we're pushing commits to the develop branch, which should only be done with Pull Requests.

Do you think I should open a new pull request for these changes?

@Aleffio
Copy link
Member

Aleffio commented Feb 14, 2020

@msilvagarcia I agree this is not the best place, though this review is like a "second chance" of seeing something before it goes to the master branch. I don't believe these suggestions are so complex to need a separate pull request, but feel free to open one if you think it is needed

rikterbeek
rikterbeek previously approved these changes Feb 16, 2020
@Aleffio Aleffio dismissed stale reviews from rikterbeek and cyattilakiss via 2294fa7 February 17, 2020 11:32
@Aleffio Aleffio merged commit c5003f5 into master Feb 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants