Paypal Concept v1
Posted: Sun Nov 23, 2008 6:58 pm
This is the first attempt at a proposed change to the paypal checkout design.
- This is not a full contrib. This is only a version meant for testing to decide whether or not to include it in 0.7.9Final.
- Please test with 0.7.9 RC4
- Please let me know if there are any problems or any other feedback you may have
- For the advanced, please test the IPNcallback stuff. I have been unable to get that working with my localhost dev setup.
We'd like to get this into 0.7.9 Final if it is widely accepted by the community as a better option for the paypal design, but there could be something I missed. (This was coded by a father of triplet babies! 3hrs of sleep per night for the win!)
The sooner we get this tested and either accepted or rejected, the sooner we can get 0.7.9 out and possibly a better paypal design.
Old way:
- Checkout from cart, choose shipping & payment.
- Temp Order saves on checkout_confirm page load
- Click confirm on checkout_confirm to goto paypal
- If enabled, Paypal IPN updates the temp order into the order table with "Pending" state
- Alternately, clicking "Return to Merchant" updates the order, but not the status so it stays "Paid Unconfirmed"
Problems:
- Going straight to payment page from confirm page leaves no validation. Customer "could" bypass payment and still get order into system.
- If IPN not working or Return to Merchant not clicked. Order is lost
- Order is entered by state not changed if IPN disabled and return to merchant is only validation.
- Contrib is reliant on IPN and/or Customer clicking "Return" or order will be lost
New way:
- Checkout from cart, choose shipping & payment.
- Temp Order saves on checkout_confirm page load
- Click confirm on checkout_confirm now goes to checkout_process
- Checkout_process:
---- validates that the page was loaded from the confirmation button being pressed, and not directly accessed.
---- saves order to db with a "Paid Unconfirmed" state
---- clears the cart
---- goes to checkout_pending
- Checkout_pending will automatically submit form to paypal
---- Clicking "Cancel and return" will run the new "undo" feature which deletes the order, restores the cart, & pretends they never went to paypal
---- Successful payment using IPN will update the order to "Pending" or whichever state you enter in the language file for "final_order_status"
---- If IPN is disabled, Clicking "Return to Merchant" will also update the order into "Pending" state assuming the "payment_status" field is one of the "successful" values
Solutions:
- Validation is done on the checkout page to ensure proper checkout steps are followed
- Order never lost
- Order restoration on cancel prevents confusion and mistakes
- Not reliant on IPN only
Install:
- Drop the entire 'catalog' structure into your server at the 'catalog' level. Overwrite when asked. (Backup first!)
- This is not a full contrib. This is only a version meant for testing to decide whether or not to include it in 0.7.9Final.
- Please test with 0.7.9 RC4
- Please let me know if there are any problems or any other feedback you may have
- For the advanced, please test the IPNcallback stuff. I have been unable to get that working with my localhost dev setup.
We'd like to get this into 0.7.9 Final if it is widely accepted by the community as a better option for the paypal design, but there could be something I missed. (This was coded by a father of triplet babies! 3hrs of sleep per night for the win!)
The sooner we get this tested and either accepted or rejected, the sooner we can get 0.7.9 out and possibly a better paypal design.
Old way:
- Checkout from cart, choose shipping & payment.
- Temp Order saves on checkout_confirm page load
- Click confirm on checkout_confirm to goto paypal
- If enabled, Paypal IPN updates the temp order into the order table with "Pending" state
- Alternately, clicking "Return to Merchant" updates the order, but not the status so it stays "Paid Unconfirmed"
Problems:
- Going straight to payment page from confirm page leaves no validation. Customer "could" bypass payment and still get order into system.
- If IPN not working or Return to Merchant not clicked. Order is lost
- Order is entered by state not changed if IPN disabled and return to merchant is only validation.
- Contrib is reliant on IPN and/or Customer clicking "Return" or order will be lost
New way:
- Checkout from cart, choose shipping & payment.
- Temp Order saves on checkout_confirm page load
- Click confirm on checkout_confirm now goes to checkout_process
- Checkout_process:
---- validates that the page was loaded from the confirmation button being pressed, and not directly accessed.
---- saves order to db with a "Paid Unconfirmed" state
---- clears the cart
---- goes to checkout_pending
- Checkout_pending will automatically submit form to paypal
---- Clicking "Cancel and return" will run the new "undo" feature which deletes the order, restores the cart, & pretends they never went to paypal
---- Successful payment using IPN will update the order to "Pending" or whichever state you enter in the language file for "final_order_status"
---- If IPN is disabled, Clicking "Return to Merchant" will also update the order into "Pending" state assuming the "payment_status" field is one of the "successful" values
Solutions:
- Validation is done on the checkout page to ensure proper checkout steps are followed
- Order never lost
- Order restoration on cancel prevents confusion and mistakes
- Not reliant on IPN only
Install:
- Drop the entire 'catalog' structure into your server at the 'catalog' level. Overwrite when asked. (Backup first!)