- In the website CMS disable the transfer of orders from the website to FM
- On the dev server place the site into offline mode by editing C:\inetpub\wwwroot\assets\includes\config.php and setting define('siteOffline', true);
- Modify the mapping on the router such that all traffic to payment.solopress.com (IP 194.74.170.116) is directed to the dev server (IP 192.168.0.90). This will display the message 'This site is offline for schedule maintenance. Please try calling back later. We apologise for any inconvenience caused.' to anyone who tries to make a payment while the upgrade is being performed.
- When configuring the FileMaker server,
- use the new wildcard SSL certificate for the server
- enable the XML interface and PHP API using either the CLI fmsadmin SET CWPCONFIG ENABLEPHP=true ENABLEXML=true or through the FMS Admin API
- Ensure that there is a valid DNS entry for the FileMaker server which the PHP code can connect to the PHP API interface using (e.g. fms.solopress.com). Ideally this should have both an internal and external IP addresses so that traffic from the PHP code doesn't have to exit the LAN to connect. Currently cwp.solopress.com is also configured to connect to the production server.
- Import the payment.solopress.com EV SSL certificate to the local machine certificate store
- Download and install the subversion command line client from https://msdev.co.uk/windows-svn-client/
- Open a command prompt, run the following commands to export the PHP code from version control into the webroot folder
cd c:\inetpub\wwwroot svn export https://svn.msdev.co.uk/SoloPress/trunk/src/ ./ --force --username subversion --password Rb9Pa4lF
- Create the payment.solopress.com virtual host in the IIS console.
- Set the Physical Path to C:\inetpub\wwwroot
- bind to port 80 with host payment.solopress.com
- bind to port 443 with host payment.solopress.com, require SNI, and select the payment SSL cert
- Ensure that the internal DNS entry for payment.solopress.com points to the correct internal IP address
- Modify C:\inetpub\wwwroot\assets\includes\config.php to point to the DNS name of the FMS, including the https protocol (this is a new FM17 requirement) which means it must be a fqdn and not an IP address which is used.
- Switch the payment gateway to test mode in the above config file (line 112, set define('sagePayMode', 'test');).
- Conduct end-to-end testing of the payment process to ensure everything functions as expected (e.g. using https://payment.solopress.com/?/order/v9jhQs8TPbFxp8748HUUPi/dfdd16d0b176755c8434754d1d78701b)
- Conduct testing of the order submission process
- Revert the payment gateway in the config file to production mode (line 112, set define('sagePayMode', 'production');).
- Update the router configuration for payment.solopress.com to direct to the production server IP
- Revert the change to the dev server to place the site back into online mode by editing C:\inetpub\wwwroot\assets\includes\config.php and setting define('siteOffline', false);
- In the website CMS re-enable the transfer of orders from the website to FM.
- Conduct a low-value test of the payment gateway to ensure that the production environment is functional. Refund that payment through the SagePay gateway.
Last modified 7 years ago
Last modified on Aug 17, 2018, 11:19:27 AM
Attachments (1)
- SoloPress.postman_collection.json (5.7 KB) - added by steve.winter 7 years ago.
Download all attachments as: .zip