CMS 1 PayPal Store
Product page - Black cap selected
Full size image page
Cart page - Paypal button appears after black cap chosen
Empty cart option selected - Paypal button removed as there is no items
Back to Main Index Page Option Selected
Product Page - black shirt chosen
Cart Page - after black shirt chosen
Back to Main Index Page Option Selected
Search Bar - uses "LIKE" to target database entries so "bla" entered
All items in database with "black" in description shown
Scroll down through search options to chose "Black office shoes"
Product page after clicking black office shoes
Cart Page - after adding black office shoes
Directed to PayPal login after pressing PayPal button
PayPal Confirmation - items reduced to £0.50 each for testing via admin
PayPal receipt for our first purchase
PayPal receipt - Return button which responds to directions sent through the PayPal button press which have an option to proceed to the completed payments page if the "Cart Total" which we know when the data is sent to PayPal matches the data sent back from PayPal which is stored in the "transactions" table in the application database. The Instant Payment Notification (IPN) page processes the data return through validation steps before storing the data in a record in the database before comparing the "Cart Total" to the PayPal "mc_gross" value in the stored record. If both match the user is redirected to checkout_complete.php
The checkout_complete.php page's only option has an attached call to a function which empties the user's cart on pressing before redirecting the user to the main index page where they will arrive with an empty cart to avoid confusion
Main Index Page - Cart emptied so we will now make our second transaction in which a hard coded simulated error will show the sites functionality when it detects a discrepancy between the sent Cart Total and the PayPal returned "mc_gross" value
Product Page - army combats chosen
Product Page - black office shoes chosen again to show multiple order of same choice
Black Office Shoes selected twice from the main index page but it can be done just as easily by altering the value in the cart page to increase the value - the next image shows the reverse of this process as we decrease the value from 2 to 1
Black Office Shoes amount altered by entering the value box altering the number from 2 to 1 and pressing the "change" button directly beneath the value to commit the change which changes the "Cart Total" value confirming the action and reflecting the new order values
The simulated error which is "$fullAmount = $fullAmount * 8" committed after a data return of the transaction is added as a record in the transaction table and the final totals are made before an if statements conditional checks to see if "$fullAmount" the "Cart Total" matches the "grossAmount" which is a figure returned in the "PayPal" data housed in the database record, if they don't match the user will be redirected to order_price_warning.php
Explanation of what is sent to PayPal via the "PayPal Button" choice
Redirect to PayPal on pressing PayPal Button in the Cart Page for the second time
PayPal payment receipt for second order again items made £0.50 each by editing price in admin page options explained further on in this user journey
Return to Merchant button from PayPal on second order
User is redirected to order_price_warning.php as "Cart Total" has been found not to match the PayPal "mc_gross" figure returned in the PayPal data. The transaction has completed and a record of it is stored in the transactions table but the user is warned the totals don't match and is advised to investigate further
To facilitate further investigation the page has the options to insert the order details in the form of "Order Email" and "Client Surname" which when found will bring up the PayPal "mc_gross" figure from the record in the database and display it next to the cart total as well as showing all the orders made by that "Client Email" and "Client Surname"
The "Cart Total" is correct as is the "PayPal Total" this is because PayPal has made no error and we have introduced a simulated error after the PayPal data came back in this case multiplying the PayPal figure by 8 times. This then proves if PayPal did make an error or the totals didn't match for whatever reason it would be picked up and the user alerted about a possible price difference that may be a problem and to investigate further. It may not stop the problem but it would at least alert the user
The two records pulled from the "transactions" table in the MySQL database once the "Client Email" and "Client Surname" are entered in the pages form allowing further investigation
A print of the two transaction held as records in the transactions table. From this data the "product_id_array" can be seen which can be used to find out what items where ordered i.e. record 1 has values 8-1 which means black dress shirt - one then comma 12-1 which means Black office shoes - one Some other sensitive data has been changed to xxxxxxxx values
Admin Login Page
Admin Options Page
Add Product Form which is very simple to use and can upload an image which it attaches a ".jpg" extension to
Uploading image from a file held on the desktop
New product added
Duplicate entry attempted
Duplicate entry rejected and link back to "Admin Inventory" page provided
Delete Entry - All Terrain Boots entry
Confirm Deletion Page
All Terrain Boots entry deleted
Edit Product - Black cap price edited from £0.50 to £10.00
Edit confirmed and link back to Inventory Edit age provided
Redirected to Inventory Edit page where edit is confirmed
Main Page completing user journey thank you for watching