Distuting Computing Week 10: Assignment 5: Create a detailed design of the payment processing system

Deadline: 48 hours

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Please place a bid if and only if you are comfortable with my deadline and budget. Thanks

PORTFOLIO ASSIGNMENT

This assignment will serve as the “Portfolio Assignment” for this course. A portfolio assignment is an applied assignment that showcases your ability to apply what you learned in this class. You are encouraged to create a free

 

DU portfolioLinks to an external site.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

 in which you can store evidence of what you learned (such as papers, projects, and key course assignments) as you move throughout your coursework at University College. You have the ability to share the portfolio with potential employers or colleagues. Keeping a portfolio will allow you to reflect on, provide context for, and continue to hone your work samples as you build knowledge and skills throughout your time at DU.

PURPOSE OF ASSIGNMENT

This assignment will bring together the learning from the previous assignments. Collect together all your work thus far and put it into a coherent unified high-level design for the system. You are welcome to use previous assignments verbatim where appropriate although you should be sure to incorporate the feedback on them.

As a reminder, here’s the original description of the system we’re creating:

Have you ever stopped to consider what happens when you’re shopping online? In between entering your credit card information and the money getting charged to your account is a very complex set of interactions. During this class, we will explore a simplified payment processing system that does exactly this. We’ll create a design for it and provide sample implementations for some of the components. 

Let’s take a look at some of the details of a payment processing system. 

FORMS OF PAYMENT

To keep this simple we’ll assume that we only accept credit cards for payment.

FRONTEND

The happy shopper needs some way to enter their payment details.

ONLINE STORE

The storefront needs an interface to the processing system where they can enter the shoppers’ details, get confirmation that they can charge the card, and collect the money afterwards.

CREDIT CARD PAYMENTS

Paying by credit card, whether online or in a physical shop, follows a two-step process

When your card is first run, it performs an “authorization”. This authorization takes the credit card details and the amount requested and sends them to the credit card company. The company then looks up the card and verifies whether or not the payment will succeed. A status code (OK or some kind of error code) is returned, along with an authorization code if the status is OK. 

Later on (e.g. once an hour, once a day) all of these authorizations are collected up into a single batch and sent as “payment requests” to the credit card company. A payment request contains the same information as the initial authorization along with the authorization code that was returned. The credit card company will respond with statuses for each payment request and all the money for those requests that succeeded is transferred into the store’s bank account.

PAYMENT PROCESSING SYSTEM

The system needs to implement credit card processing as described above. 

CREDIT CARD COMPANY

We shall assume we use a single credit card processor and that processor provides us with an interface for performing authorizations in real time and batch payment requests.

ASSIGNMENT INSTRUCTIONS

This assignment will bring together the learning from the previous assignments. Collect together all your work thus far and put it into a coherent unified high-level design for the system. You are welcome to use previous assignments verbatim where appropriate although you should be sure to incorporate the feedback on them. You should also incorporate code from the previous assignments as necessary to illustrate your designs. If you use small snippets, then they can go in the document, otherwise, you should organize the code in a coherent package structure and submit it with the document in a zip file.

 
 

FORMATTING AND STYLE

REQUIREMENTS

1.

Refer to the 

UCOL Format and Style Requirements (Links to an external site.)

 on the Course Homepage, and be sure to properly cite your sources using 

Turabian Author-Date style citations (Links to an external site.)

.

SAMPLE OUTLINE

Below we include a sample outline that you may use for inspiration. It is not required that you follow this outline; this is provided merely as a guide. Should you use it you must remove all the text that describes the purpose of the relevant section.

INTRODUCTION

Describe the payment processing system from a high level in your own words.

REQUIREMENTS

Provide the basic requirements that your system will satisfy. Include a section on “non-requirements” as appropriate. The latter would be a good place to mention that you won’t support payment types other than credit cards.

HIGH-LEVEL DESIGN

Capture the major components of the system and how they interact with one another. A mixture of text and diagrams would be best here. Make sure you cover the full control flow, starting from the user and ending at the credit card processor.

COMMUNICATION

Document the communication protocol you will use across the entire system. It’s possible, even likely, that different parts will use different protocols (e.g. HTTP between the user’s web browser and the payment system; JSON internally to the system; proprietary database driver to communicate with the backend.

RESOURCE PLANNING

Include your resource plan for the system along with how it will scale as your user base grows.

DEPLOYMENT

Describe the environment within which the system will run, including and services it will depend on.

IMPLEMENTATION

Include any implementation details you consider necessary to complete this work.

APPENDIX

We covered many topics in this class. Consider whether any of these belong in your design:

1. Privacy

1. Security

1. Reliability

1. Replication

1. Specific cloud providers

1.
1.
1.
1.
1.
1.
1.

Rubric

Writing Rubric

Writing Rubric

Criteria

Ratings

Pts

This criterion is linked to a Learning OutcomeAnswers the Question

Demonstrates an understanding of the requirements and purpose of the assignment, and addresses the topics specified at the appropriate level of detail.

40.0 pts

This criterion is linked to a Learning OutcomeConcepts and Content

Uses relevant content, including external sources if appropriate, to illustrate mastery of key ideas. The material submitted forms a complete document that addresses the assignment’s focus.

80.0 pts

This criterion is linked to a Learning OutcomeGrammar, Mechanics, and Style

Engaging and consistent style and voice, nearly free of errors in grammar, spelling and mechanics, and adheres to University College format and style requirements, including Turabian Author-Date citation style.

20.0 pts

Total Points: 140.0

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.

Order your essay today and save 30% with the discount code ESSAYHELP