Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/4.5.0' into 4.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ébano Penha Andrello Lopes committed Mar 4, 2019
2 parents fd1e098 + 24dbe33 commit 45afed7
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 67 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ View our Magento 1 product manual for instructions on installing the extension v

Before getting started "Compilation Status" must be "Disabled". You can disable this by going to the Magento admin System > Tools > Compilation.

Download the [latest release](https://github.com/signifyd/magento1/releases/latest) and copy/upload folder www/magento/app to the root of your Magento installation.
Download the [latest release](https://github.com/signifyd/magento1/releases/latest) and copy/upload the folder www/magento/app to the root of your Magento installation.

- For FTP and SFTP use a client software of your choice and upload www/magento/app folder at the root of your Magento installation
- For SSH, upload compressed file to target environment, decompress files and copy files using the following command line:
Expand All @@ -21,7 +21,7 @@ On Magento admin clear the Magento cache from System > Cache Management, by sele

Log out of Magento admin and then log in again. Go to System > Configuration and look for "SIGNIFYD" session on configs. If Signifyd is visible from the page the extension was successfully installed.

If compilation was previously enabled you can now re-enable by going to System > Tools > Compilation.
If the compilation was previously enabled you can now re-enable it by going to System > Tools > Compilation.

_Compilation is not required for the Signifyd extension to work. If compilation was not previously enabled before installing the extension we recommend not enabling it._

Expand All @@ -38,22 +38,22 @@ Logs can be found on MAGENTO_ROOT/var/log/signifyd_connect.log file.

These settings enable fine grain control over advanced capabilities of the extension.

_Updating these settings should only be performed by an experienced developer under the supervision of the Signifyd support team. If these steps are not completed correctly they may cause issues._
_Updating these settings should only be performed by an experienced developer under the supervision and instruction of Signifyd. If these steps are not completed correctly you may experience issues with the Signifyd extension and or your Magento store._

### Restrict orders by states

Restrict orders with specific order states (not status) from being sent to Signifyd.

[Restrict orders by states](docs/RESTRICT-STATES.md)
[Learn how to restrict orders by states](docs/RESTRICT-STATES.md)

### Restrict orders by payment methods

Restrict orders with specific payment methods from being sent to Signifyd.

[Restrict orders by payment methods](docs/RESTRICT-PAYMENTS.md)
[Learn how to restrict orders by payment methods](docs/RESTRICT-PAYMENTS.md)

### Pass custom payment data using payment helpers

The Signifyd extension will try to collect payment data (avsResponseCode, cvvResponseCode, cardBin, cardLast4, cardExpiryMonth and cardExpiryYear) from Magento when submitting an order for guarantee. If these fields are missing from submitted orders you can pass these fields by using the extension's payment helper module.
The Signifyd extension will try to collect payment data (avsResponseCode, cvvResponseCode, cardBin, cardLast4, cardExpiryMonth and cardExpiryYear) from default locations within the Magento database when submitting an order for fraud review. If you are not using one of the following payment gateways Authorize.net, Braintree, Paypal Payflow, or Stripe (Cryozonic extension) you may need to pass payment data to Signifyd using the extension's payment helper module. You can use the Signifyd console to determine whether payment data is being succesfully sent to Signifyd for a given order.

[Payment helper module](docs/PAYMENT-DETAILS.md)
[Learn how to pass payment details using the Payment Helper module](docs/PAYMENT-DETAILS.md)
30 changes: 15 additions & 15 deletions docs/INSTALL-TROUBLESHOOT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,35 @@

# Install Troubleshoot

##Third-party cache errors
## Third-party cache errors

If anything does not go as expected, try to clear any additional caches on environment (e.g. PHP APC or OPCache, Redis, Varnish).
If something does not go as expected, try to clear any additional caches on the environment (e.g. PHP APC or OPCache, Redis, Varnish).

##There is no "SIGNIFYD" session on System > Configuration
## There is no "SIGNIFYD" session on System > Configuration

Go to System > Configuration, click on section ADVANCED > Advanced and look for Signifyd_Connect on modules list at "Disable Modules Output" tab. It must be present and must be Enable.
Go to System > Configuration, click on section ADVANCED > Advanced and look for Signifyd_Connect on the modules list. This can found on the "Disable Modules Output" tab. Be sure that this section is visible and the setting is enabled.

If it is "Disable", enable it, clear Magento cache, log out, log in again and check for it again.
If it is "Disabled", enable it, clear Magento cache, log out, log in again and check for it again.

If it is not present check if it is possible to see below files on Magento installation folder:
If it is not present, check if it is possible to see the files below on the Magento installation folder:
- MAGENTO_ROOT/app/etc/modules/Signifyd_Connect.xml
- MAGENTO_ROOT/app/code/community/Signifyd/Connect/etc/system.xml

If above files are not present, please repeat installation steps.
If the above files are not present, please repeat the installation steps.

##A 404 page shows when accessing Signifyd session on System > Configuration
## A 404 page shows when accessing Signifyd session on System > Configuration

Try to log out and log in on admin and check it again.

##Logs show database related errors
## Logs show database related errors

On MySQL database check for the existence of 'signifyd_connect_case' table using below command:
On the MySQL database check for the existence of 'signifyd_connect_case' table using below command:

```
DESC signifyd_connect_case
```

It is expected to see below columns on this table:
Verify you see the following columns on the table:
- order_increment
- signifyd_status
- code
Expand All @@ -43,7 +43,7 @@ It is expected to see below columns on this table:
- magento_status
- retries

If anything it is out of expected, check if Magento installation scripts had run for the latest version.
If you find any missing columns or issues with the table, check if the Magento installation scripts has been ran for the latest version.

On file MAGENTO_ROOT/app/code/community/Signifyd/Connect/etc/config.xml check for `<version>` tag

Expand All @@ -61,8 +61,8 @@ Run below SQL command on MySQL:
SELECT * FROM core_resource WHERE code='signifyd_connect_setup';
```

Results of above command should match with `<version>` tag from config.xml file. If does not match, run installation steps again and make sure to clean every possible cache on Magento administration and environment.
The results of the above command should match with `<version>` tag from config.xml file. If does not match, run installation steps again and make sure to clean every possible cache on Magento administration and environment.

##All steps followed and some error prevents extension to work as expected for installation
## All of the steps were followed but some error prevented the extension from installing succesfully

Check for any log errors on web server (e.g. Apache, NGINX) and on PHP logs. Also check for errors on MAGENTO_ROOT/var/log on files system.log, exception.log and signifyd_connect.log.
Check for any log errors on the web server (e.g. Apache, NGINX) and on PHP logs. Also check for errors on MAGENTO_ROOT/var/log on files system.log, exception.log and signifyd_connect.log. If you are still stuck you can [contact our support team](https://community.signifyd.com/support/s/)
22 changes: 9 additions & 13 deletions docs/PAYMENT-DETAILS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Overview

The functionality tries to fetch as much as possible out of these payment information:
The extension will try to fetch the following payment data:

- AVS Response Code
- CVV Response Code
Expand All @@ -13,24 +13,20 @@ The functionality tries to fetch as much as possible out of these payment inform
- Expiry Month
- Expiry Year

As each payment method has it own workflow, there is no guarantee that information will be found at the same database locations. However many payment methods follow some Magento standards, so we made use of those.
As each payment gateway has it own workflow, there is no guarantee that the extension will find the payment data. To support a variety of payment gateways and extensibliity helpers can be used to pass payment data from any payment gateway.

## Basic Structure

The solution fetches the desired information using helpers. There are helpers working on specific payment methods. There are also helpers to work on the Payment Bridge default behavior, as well as another helper that tries to find the information on any other payment method.
There are pre-built helpers for specific payment gateways (authorize.net, braintree, stripe, and paypal payflow), as well as, helpers for Payment Bridge, and a generic helper that tries to find payment details for any other payment gateway.

The workflow is:
You should follow these guidelines
1. Use the specific helper, if it exists
2. If the payment method is using Payment Bridge, use the default Payment Bridge helper
3. Use the helper for other payment methods

All helpers are implemented based on ` Signifyd_Connect_Helper_Payment_Interface`, that guides which methods are expected.

There is also the helper `Signifyd_Connect_Helper_Payment_Default`, whose purpose is to implement data colect for the Magento default locations for the desired information. All the other helpers developed so far extend this helper. Most of the other helpers use this one as a fallback: if the information is not found on the method-specific location, try the default location. This helper also initializes some data on the object and has filters for data validations.

The helper for the other payment methods tries first the default locations and if the information is not found, it tries to find it on the additional information of the payment method (which is the field available for the payment methods to save these kind of information on the Magento database).

In addition to helpers, there is also a process that captures and saves information from payment data submitted to the store server. The extension does not submit any new data to the store server, it only takes advantage of the data already submitted. The data collected and saved during this process is: cardholder name, expiry month, expiry year, bin and last 4 digits. In order to be able to collect these informations, the credit card form submitted to store server must have fields named as: cc_owner, cc_exp_month, cc_exp_year, cc_number. The whole credit card number or the CVV is not saved to the database by this functionality.
There is also the helper `Signifyd_Connect_Helper_Payment_Default`, whose purpose is to implement data collection from the Magento default locations. Most of the other helpers use this one as a fallback: if the information is not found on the payment method-specific location, then it will try the default location. This helper also initializes some data on the object and has filters for data validation.

## Including custom payment method

Expand All @@ -50,7 +46,7 @@ Usually it is possible to find the payment method code inside the payment method
</default>
```

Another way to find out the payment method code is on the database. Get an increment ID of any order placed with the desired payment method and use the following script on the database to get the payment method code.
Another way to find the payment method code is on the database. Get an increment ID of any order placed with the desired payment method and use the following script on the database to get the payment method code.

**_Replace INCREMENT_ID with the order increment ID_**

Expand Down Expand Up @@ -129,9 +125,9 @@ public function getExpiryMonth();
public function getExpiryYear();
```

It is not required to implement all the methods, only the ones that will actually get data from the custom payment method. If a method is not implemented, the default one will be used, that is, the one on the parent class (Signifyd_Connect_Helper_Payment_Default).
It is not required to implement all the methods, only the ones that will actually get data from the custom payment method. If a method is not implemented, the default one will be used, that is, the one on the parent class. (Signifyd_Connect_Helper_Payment_Default).

Each implemented method should return the related data as the result. Before returning the data, it is possible to validate it with some filter methods listed bellow. These same filters will also be applied later on the API integration.
Each implemented method should return the related data as the result. Before returning the data, it is possible to validate it with some filter methods listed bellow. These same filters will also be applied later when the API call to create a case is made to the Signifyd API.

```
public function filterAvsResponseCode($avsResponseCode);
Expand Down Expand Up @@ -168,7 +164,7 @@ class Signifyd_Connect_Helper_Payment_Vendor_Payment_Method

## Built in helpers

Here is a list of the payment methods that have a built in helper on the extension and which have data being collected so far. If the cardholder name is not found, billing first and last name will be used.
Here is a list of the payment methods that have a built in helper on the extension and will have payment data collected. If the cardholder name is not found, the billing first and last name will be used.

### Authorize.Net
- Code: authorizenet
Expand Down
28 changes: 18 additions & 10 deletions docs/RESTRICT-PAYMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,39 @@

# Restrict orders by payment methods

The extension can be restricted from acting on some payment methods. Orders placed with restricted payment methods will not have a case created on Signifyd, neither will the extension interfere in any way with their status workflow.
**_Warning: These steps should only be performed under the instruction and supervision of Signifyd. If these steps are not completed correctly you may experience issues with the Signifyd extension and or your Magento store. It is recommended to test this on a development environment first._**

On all below SQL statements, `checkmo,cashondelivery,banktransfer,purchaseorder` must be replaced with the desired settings. The list of payment methods codes must be comma separated in order for them to be restricted for Signifyd cases creation. So include the payment methods that must not have their orders submitted to Signifyd analysis on the list.
## Things to know before getting started

To modify the restricted payment methods, run the command below on the database:
Orders placed using a specific payment method can be excluded from being sent to Signifyd. These orders will not be created in Signifyd and the extension will not interfere with the order workflow i.e. place the order on hold or capture the payment.

By default the extension will automatically exclude orders with the following payment methods from being sent to Signifyd `checkmo,cashondelivery,banktransfer,purchaseorder`. If you want to modify the payment methods (add or remove) you will need to provide a list of payment methods codes in a comma separated list.

### Add custom payment methods

Insert the list of payment codes you want to restict and then run the command below on your database:

```
INSERT INTO core_config_data (path, value) VALUES ('signifyd_connect/settings/restrict_payment_methods', 'paypal_express,checkmo,cashondelivery,banktransfer,purchaseorder');
INSERT INTO core_config_data (path, value) VALUES ('signifyd_connect/settings/restrict_payment_methods', 'INSERT-LIST-OF-PAYMENT-METHODS-HERE');
```
### Update custom payment methods

To modify an existing setting use the command below:
To modify an existing restricted list, insert the list of new payment codes you want to restict and then run the following command on your database:

```
UPDATE core_config_data SET value='checkmo,cashondelivery,banktransfer,purchaseorder' WHERE path='signifyd_connect/settings/restrict_payment_methods';
UPDATE core_config_data SET value='INSERT-LIST-OF-PAYMENT-METHODS-HERE' WHERE path='signifyd_connect/settings/restrict_payment_methods';
```
### Delete custom payment methods

To exclude a setting and use the extension's defaults, just delete it from the database:
To revert back to the extension's default restricted payment methods, just delete it from the database:

```
DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_payment_methods';
```

## Checking current restriction settings
### Check current restriction settings

To check all current restriction settings on the database, run the command below:
To check the current restricted payment methods, run the command below on your database:

```
SELECT * FROM core_config_data WHERE path LIKE 'signifyd_connect/settings/restrict%';
SELECT * FROM core_config_data WHERE path LIKE 'signifyd_connect/settings/restrict%';
Loading

0 comments on commit 45afed7

Please sign in to comment.