I need 2 simple functions that will facilitate the purchase of items on our web site in groups. For example, if a user makes the purchases as follows:
item1 - $10
item2 - $20
item3 - $30
The system should perform 3 authorizations as they come in ($10, $20, $30). LATER, a cron daemon running as a separate process will group these together (select from purchases where now > authorization_time + 24 hours) and buy them as a single purchase containing 3 items. IE, the user's CC will be charged once for all items, rather than 3 purchases with 1 item each.
We plan to use PayPal as a credit card payment gateway because they are reliable, inexpensive, and safe. If you have a strong preference in favor of another merchant we will consider that as well if they are easy to use and inexpensive.
The database must record all CC authorizations and purchases as they happen: (pending, in_progress, success | rejected) etc. This system must be fault tolerant and fail gracefully, ie, no half-purchased items, transactions either all succeed or all fail.
This will be integrated into a Django application. I can supply pseudocode for the entire process as well as the DB model objects that will be used.
Logging is required, as is basic documentation so I can understand the code. All errors must be logged.
When replying please include:
- Whether you have integrated with CC payment gateways in the past (this is not a requirement).
- # years experience with python / django.
- Include the words "tepid soup" in your reply so I know you have read this post in its entirety.
- Speed of development is a consideration -- please include how many hours you can devote to the project and whether you work full time somewhere else.
Hello Sir
=> 'tepid soup'
I aim to complete the project within a maximum period of 7 days ( + 3 days testing+debugging+deployment period etc).
Looking forward to hear from you.
Dear project owner, I am a Python programmer and Python book author, and write Python many years experuences.
I can start work with you any time. please contact me!