Have you ever stopped to consider what happens when you’re shopping online?

DESIGN A PAYMENT PROCESSING SYSTEMHave 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 PAYMENTTo keep this simple we’ll assume that we only accept credit cards for payment.FRONTENDThe happy shopper needs some way to enter their payment details.ONLINE STOREThe 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 PAYMENTSPaying 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 SYSTEMThe system needs to implement credit card processing as described above.CREDIT CARD COMPANYWe 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 INSTRUCTIONSThis assignment is for you to design a payment processing system as a distributed system. There will be multiple components for this and it will be quite complex. In week 2 we will explore distributed system architectures. Begin by breaking down the system into its individual components. Note: If you took Web Enabled Information Systems, you may have completed a similar exercise. Based on the description you’ll need several pieces for this as there’s an online piece and a batch piece, plus all the storage. Then choose an appropriate architecture for your system and write a design for it.You should submit a 2,000 – 2,500-word paper along with appropriate diagrams and references for your system.Assignment FocusOVERVIEW OF A PAYMENT PROCESSING SYSTEMFirst, you need to understand how a payment processing system works.I will leverage the material athttps://wallethub.com/edu/cc/credit-card-transaction/25511/ (Links to an external site.), Accessed 2020-03-10to lay out the basic interactions of a payment processing system in UML.Credit-Card-Processing-How-Does-It-WorkOpen use case text documentThe Use Case diagram show the actors in the main scenarios we are concerned about, which are Authorize Transaction and Clearing and Settlement.Our main tasks in design for the first assignment are to detail out the interactions needed for the Shopper to purchase the items selected on the Merchant’s web site.These diagrams should document the main interactions necessary to make your solution work.They do not constrain your decisions about what components make up the solution, such as whether there is a database and how many nodes work together to accomplish the application’s purpose.The mechanics of what protocol or mechanisms will be used is beyond the scope of this assignment; the need to exchange messages and their content are key items.When you determine the architecture, this will begin to add constraints to appropriate protocols and other mechanisms.WHAT KINDS OF INFORMATION SHOULD BE IN THE PAPER?Here is one idea about organizing this information. You may have other ideas, all of which are acceptable. This should get the juices going!IntroductionParaphrase your understanding of the credit card processing systemHigh-level DesignDocument the key responsibilities of the processing system, and delineate what tasks it must perform, especially for the authorization use case.Determine how the actors interact with the system.What components does this entail? For instance, with what component(s) does the credit card holder interact with the credit card processor?Assign the responsibilities to the componentsDependenciesDocument any external component dependenciesSummarySummarize this overall architecture