There are a number of lessons to be learned from these two projects:
The iterative, incremental prototyping approach of the successful project was preferable to the "big bang" approach of the unsuccessful project.
Proving the architecture should of course have been the first iteration on the unsuccessful project. Converting the prototype into a working system without any of the credit card payment facilities or transaction confirmations would by itself have been one huge iteration, a very large second deliverable and milestone within the project. The third iteration could then have added the credit card payment and transaction confirmations.
The first rule of prototyping is key herejust because a prototype looks like it already does something, it shouldn't be assumed that little work will be needed to get it to work for real.
Increased user involvement in the development of a system can vastly improve the end result, ensuring that it matches user requirements.
It's very important that the project manager understands the technologies involved in a project, or else is willing to admit he or she knows nothing about them and is willing to listen to those who do.