The goal of this chapter is to extend the basic system we've designed so far with a more robust and flexible payment system. Currently we have a shopping cart design that is independent of our payment process. We convert the cart to a format that is compatible with the Google Checkout API and then we can submit our customer orders for payment. We will now extend this system to achieve several things:
Create a pluggable design so that payment systems can be reused, swapped out, or replaced
Migrate our simple Google Checkout processor to our new system
Discuss payment processors for Amazon FPS and PayPal services
Explore advanced Django and Python design concepts such as class-based generic views and callable objects
After we have built our generic payment system, implementing additional payment services such as Amazon and PayPal will be relatively straightforward.
An additional goal in this chapter is to build a system that is not constrained to the payment...