diff --git a/README.md b/README.md index 84d3982..17a71a8 100644 --- a/README.md +++ b/README.md @@ -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: @@ -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._ @@ -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) diff --git a/docs/INSTALL-TROUBLESHOOT.md b/docs/INSTALL-TROUBLESHOOT.md index 87d1d05..17a5cce 100644 --- a/docs/INSTALL-TROUBLESHOOT.md +++ b/docs/INSTALL-TROUBLESHOOT.md @@ -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 @@ -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 `` tag @@ -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 `` 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 `` 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. \ No newline at end of file +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/) diff --git a/docs/PAYMENT-DETAILS.md b/docs/PAYMENT-DETAILS.md index 8a5acae..09c1512 100644 --- a/docs/PAYMENT-DETAILS.md +++ b/docs/PAYMENT-DETAILS.md @@ -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 @@ -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 @@ -50,7 +46,7 @@ Usually it is possible to find the payment method code inside the payment method ``` -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_** @@ -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); @@ -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 diff --git a/docs/RESTRICT-PAYMENTS.md b/docs/RESTRICT-PAYMENTS.md index 66f366c..ecf557a 100644 --- a/docs/RESTRICT-PAYMENTS.md +++ b/docs/RESTRICT-PAYMENTS.md @@ -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%'; \ No newline at end of file +SELECT * FROM core_config_data WHERE path LIKE 'signifyd_connect/settings/restrict%'; diff --git a/docs/RESTRICT-STATES.md b/docs/RESTRICT-STATES.md index 1863b12..9be09ef 100644 --- a/docs/RESTRICT-STATES.md +++ b/docs/RESTRICT-STATES.md @@ -2,61 +2,68 @@ # Restrict orders by states -The actions of the extension can also be restricted according to the order state. E.g. by default, the extension restricts any action on payment_review state, to make sure that the extension will not interfere with the payment workflow. +Orders with a specific state can be excluded from being sent to Signifyd. E.g. by default, the extension restricts any action on payment_review state, to ensure the extension does not interfere with the payment workflow. -**_Warning: the wrong settings can interfere on the checkout and payment workflows and make the process no longer work as expected. It is recommended to test new settings on a development environment carefully. Default settings have been tested with Magento default payment methods on clean installations and all of them work well._** +**_Warning: the wrong settings can interfere with the checkout and payment workflows. If you need to modify the restricted states it's recommended you first test it on your development environment. The default restricted states have already been tested with Magento's default payment methods._** There are three different settings for states restrictions: default, create and update. By default, these settings are as below: - default: `pending_payment,payment_review,canceled,closed,complete` - create: `holded,pending_payment,payment_review,canceled,closed,complete` - update: `[empty]` -Default setting will be used on all actions that do not have a setting of their own. Create setting will be used for Signifyd case creation. Update setting will be used to restrict states for case update. +The default settings will be used on all actions that do not have a setting of their own. The create setting will be used for sending an order to Signifyd and the update setting will be used to restrict states for case update. -As default setting includes values for default and create, and does not include any setting for update, case creation will use create setting and all other situations will use the default one. +Besides case creation and update, the default setting is also used for order workflow actions: hold, remove from hold, cancel and capture payment. -Besides case creation and update, the default setting is also used on order workflow actions: hold, remove from hold, cancel and capture payment. +## Things to know before getting started +Be aware that these settings use Magento states (not status), which must be one of these: `new, pending_payment, payment_review, processing, complete, closed, canceled, holded`. States should be provided as a comma separated list of one or more values. -Be aware that these settings use Magento states (not status), which must be one of these: new, pending_payment, payment_review, processing, complete, closed, canceled, holded. States should be provided as a comma separated list of one or more of those values. +## Changing create states -## Changing create setting +Use the command below on the database to work with the create setting. Replace `holded,pending_payment,payment_review,canceled,closed,complete` with the desired states. -Use the commands below on the database to work with the create setting. Replace `holded,pending_payment,payment_review,canceled,closed,complete` with desired states. The extension will not submit the case to Signifyd for provided states: +### Add custom states -To include create setting in the database, use the command below on your database: +To include custom create states use the command below on your database: ``` INSERT INTO core_config_data (path, value) VALUES ('signifyd_connect/settings/restrict_states_create', 'holded,pending_payment,payment_review,canceled,closed,complete'); ``` +### Update custom states -To modify an existing setting, use the command below: +To modify an existing custom state, use the command below: ``` UPDATE core_config_data SET value='holded,pending_payment,payment_review,canceled,closed,complete' WHERE path='signifyd_connect/settings/restrict_states_create'; ``` +### Delete custom states -To exclude a setting and use the extension defaults, just delete it from database: +To use the extension default states, use the command below: ``` DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_states_create'; ``` ## Changing update setting -Use the commands below on database to work with the update setting. Replace `pending_payment,payment_review,canceled,closed,complete` with desired states. The extension will not update the case on Signifyd for the provided states. - -To include update setting in the database, use the command below on your database: +Use the command below on database to work with the update setting. Replace `pending_payment,payment_review,canceled,closed,complete` with the desired states. + +### Add custom states + +To add custom states for updates, use the command below on your database: ``` INSERT INTO core_config_data (path, value) VALUES ('signifyd_connect/settings/restrict_states_update', 'pending_payment,payment_review,canceled,closed,complete'); ``` +### Update custom states -To modify an existing setting, use the command below: +To modify an existing custom state, use the command below: ``` UPDATE core_config_data SET value='pending_payment,payment_review,canceled,closed,complete' WHERE path='signifyd_connect/settings/restrict_states_update'; ``` +### Delete custom states -To exclude a setting and use the extension defaults, just delete it from the database: +To use the extension defaults, use the command below: ``` DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_states_update'; @@ -64,24 +71,27 @@ DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_stat ## Changing default setting -**_Warning: changing the default settings is not recommended and can impact the checkout and payment workflows. Also it can cause the Signifyd integration to malfunction._** +**_Warning: changing the default settings is not recommended as it can impact the checkout and payment workflows._** Use the commands below on the database to work with the default setting. Replace -`pending_payment,payment_review,canceled,closed,complete` with the desired states. Default setting will be used to restrict all workflow actions (hold, remove from hold, capture and cancel) - also for restricting case creation and update if no specific settings are defined for those. +`pending_payment,payment_review,canceled,closed,complete` with the desired states. The default setting will be used to restrict all workflow actions (hold, remove from hold, capture and cancel) - also for restricting case creation and update if no specific settings are defined for those. -To include default setting in the database, use the command below on your database: +### Add custom states +To add custom default states, use the command below on your database: ``` INSERT INTO core_config_data (path, value) VALUES ('signifyd_connect/settings/restrict_states_default', 'pending_payment,payment_review,canceled,closed,complete'); ``` +### Update custom states To modify an existing setting, use the command below: ``` UPDATE core_config_data SET value='pending_payment,payment_review,canceled,closed,complete' WHERE path='signifyd_connect/settings/restrict_states_default'; ``` +### Delete custom states -To exclude a setting and use the extension defaults, just delete it from the database: +To use the extension defaults, use the command below: ``` DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_states_default'; @@ -89,8 +99,8 @@ DELETE FROM core_config_data WHERE path='signifyd_connect/settings/restrict_stat ### Checking current restriction settings -To check all current restriction settings on the database, run the command below: +To check the current custom state settings, run the command below: ``` SELECT * FROM core_config_data WHERE path LIKE 'signifyd_connect/settings/restrict%'; -``` \ No newline at end of file +```