SOFTWARE REQUIREMENT
SPECIFICATION
        DOCUMENT
                       on
                      PayPal
By: -- Mayank Singh
Reg No: -- 11916113
Roll No: -- 76
Section: -- K18UW
                        Contents
1 Introduction
  1.1 Purpose
  1.2 Scope
  1.3 Overview
  1.4 Definitions
2 General Description
  2.1 Product Perspective
  2.2 Product Functions
       -->2.2.1 Data Flow Diagram
  2.3 User Characteristics
3 Specific Requirements
  3.1 User Interface Description
  3.2 Performance Requirements
     -->3.2.1 Test Cases
4 Attributes
  4.1 Availability
  4.2 Security
  4.3 Maintainability
        1. INTRODUCTION
1.1 Purpose
PayPal is a Californian e-commerce website headquartered in Palo Alto,
California, United States. Founder and CEO of PayPal is Mr. Daniel Schulman. It
was launched in December 1988 and adds to the industry of e-Bay in United
States. The firm started by offering mobile recharging, adding bill payment and
e-commerce, with products similar to businesses such as Amazon. It further
has some prominent list of names behind its founder section like Elon
Musk, Peter Thiel, Max Levchin, Ken Howery, Luke Nosek, Yu Pan
1.2 Scope
With current payments ecosystem and infrastructure, wallets cannot be
wholesome payments instrument anytime soon. Instead of getting into
consumer wallet business, it would be worthwhile to create a smartphone
friendly payment network which will address interoperability issues for banks
and merchants. That's a Meta problem to be solved. eBay has millions of items
for sale, but the only way to pay is with a payment system called PayPal. This
payment system allows buyers to send money to sellers virtually, without
involving personal checking, debit card, or credit card numbers. PayPal is safe,
widely accepted, and seamless when paying for items online.
1.3 Overview
Up to this document, Project Description Document, Software Project
Management Plan (SPMP) and Software Requirements Specification (SRS) have
been released.
In this document, detailed design of the system with user interfaces will be
described. In section 3.
Decomposition of the system with module decomposition, concurrent process
decomposition and data decomposition is given, in section 4.
Dependency Description is given, in section 5.
User Interface Description can be found and finally in section 6.
Detailed Design of the system is provided.
1.3 Definitions, Acronyms and Abbreviations
 Customer: --
Mean a person who has registered with PayPal for availing the PayPal Wallet
and who has accepted these Terms and Conditions and, owns/operates/has
access to an internet compatible device that supports the PayPal Wallet.
 PayPal Wallet: --
PayPal Wallet means the pre-paid payment instrument issued by PayPal
including Basic Account and Prime Account.
 Person-to-Person Transfer: --
Refers to a facility to transfer funds from a PayPal Wallet to any other PayPal
Wallet issued by PayPal or to any savings or current bank account.
 Merchant Establishment: --
Shall mean and include physical Merchants, remote Merchants and any other
outlet that has been authorized by PayPal to accept payment using PayPal
Wallet.
 Enrolment Form: --
Shall mean the PayPal Wallet Enrolment Form, as is required by PayPal from
the Customer at the time of Registration for availing and / or continuation of
the PayPal Wallet.
 Basic Account: --
Means Customer PayPal Wallet classified as Semi-closed system payment
instruments issued by accepting minimum customer details being Customer
name, Email address, mobile number, which permit payment and domestic
money remittance as per RBI direction on Issuance and Operation of Pre-paid
Payment Instruments in the domestic country.
 Prime Account: --
Means Customer PayPal Wallet which is KYC compliant and classified as Semi-
closed system payment instruments which permit Person-to-Person transfer
and payment to all identified Merchant.
 KYC: --
The KYC (know your customer) procedure is a standard process to verify your
identity and that of your business. this is to help protect your
business from risks such as identity theft, money laundering and financial
fraud. After signing up for your PayPal business account, you’re invited to
complete a KYC procedure as 1 of the 4 steps to activate your account. once
that’s done, you can start receiving payments locally and internationally.
Here’s a complete breakdown on the details of the KYC procedure for
every type of business selling either domestically only or both
internationally and domestically, or internationally only. If you have
all your required documents on hand, it should take no more than 15 minutes
to complete. Receiving local and international payments individual
businesses.
 Password: --
Means the secret password used to secure PayPal Wallet applications, without
knowledge of which your PayPal Wallet will not be operable.
 Transaction: --
Means Person-to-person transfer or purchase of goods or services at Merchant
establishments or equivalent amount of money-in PayPal Wallet, if goods or
services not available.
 Person-to-bank transfer: --
Refers to a facility to transfer funds from a PayPal Wallet to any Bank Account.
 Transaction: --
Means Person-to-person transfer or purchase of goods or services at Merchant
establishments or equivalent amount of money-in PayPal Wallet, if goods or
services not available.
2. General Description
2.1 Product Perspective
The PayPal network doesn't work independently. It has to work with the
computer /software owned by the PayPal. They are clearly defined interfaces
for the different systems.
2.2 Product Functions
The software should support a mobile payment network. Each PayPal account
has its own data in database to maintain its accounts and process transaction.
When we Login PayPal account it communicates with the PayPal's database. In
PayPal wallet we can add money by Debit card, Credit Card, Net Banking. The
PayPal account requires appropriate details to keep secure our wallet. We can
also transfer our wallet money to bank account.
2.2.1 Data Flow Diagram:
 DATA FLOW DIAGRAM
LEVEL 0
User 1    Device                      Company_1
                       {0}
User 2    Device     PayPal           Company_2
User 3    Device                      Company_3
                   BANKS ASSOCIATED
Level 1
                                 {0.1}
                                PayPal
                         (check for bank account)
if available                                                   if not
                                                              available
               {0.2}                                          {0.3}
                                                      Error Message to
    Ask To Choose Bank                              create new bank a/c
                                    {0.4}
                                   (BANK)
                         Display Result for Bank
Level 2
                                              ask to choose a bank
                              {0.2.1}
                          LOGIN IN BANK               incorrect password
If password is correct       ACCOUNT
                         (ask for password)
             {0.2.2}                                  {0.2.3}
    OPEN AND LINK BANK
   ACCOUNT TO MOBILE                             ERROR MESSAGE
            NUMBER
                               {0.2.4}
                          DISPLAY RESULTS
2.3 User Characteristics
There are several users of the PayPal Network
 Customers
          Customer interacts with the PayPal network via app/website. It must
be very easy to use the PayPal. Everyone who uses smartphone can easily use
PayPal.
 Maintainer
          Using PayPal is easy but to maintain it is a bit difficult. There are so
many programmers/coders working together to maintain the database and the
internal functions that we can't see.
3. Specific Requirements
3.1 USER INTERFACE DESCRIPTION
Web Technologies used to develop PayPal
1. Server Side Programming - Javascript
2. Client Side Programming - Javascript
3. HTML5
4. Character encoding-UTF 8
5. Image Format-JPEG format
6. Site Elements
  6.1 Embedded CSS
  6.2 Inline CSS
  6.3 Cookies expiring in hours
  6.4 Non-HttpOnly Cookies
  6.5 Non-Secure Cookies
  6.6 Gzip Compression
  6.7 Weak ETag
  6.8 HTTP Strict Transport Security
7. SSL Certificate Authority-Geo Trust
8. Web Servers- Nginx , Node.js
9. Web hosting Provider - Amazon
 PayPal is the leading mobile, data recharges and bill payments service in
Palo Alto, California, United States. It has a new user interface, a new feature
called Fast Forward and new billers now.
#1 New user interface
The user interface has been revamped completely, is simple and shows
everything necessary in one single page. The PayPal logo has also been given a
revamp.
#2 ‘Fast Forward’ for quick recharges
       There is no denying that having your PayPal cash loaded helps you
make recharges within seconds. PayPal cash has been useful till date and is still
in use. Fast Forward is a new option in the recharge section that helps you
make recharges in one click.
After you enter the recharge details, enable the Fast Forward option, available
below in the recharges section, to immediately make the recharge. You should
make sure that your PayPal cash is loaded, or you will face troubles.
3.2 Performance Requirements
   o Performance Requirement 1
 Description: --
Error message should be displayed at least 30 sec
   o
   o Performance Requirement 2
 Description: --
If there is no response from the PayPal database after a request within 2
minutes the payment is cancelled with error message.
3.2.1 Test Cases
   o Test Case 1
 Description: --
      Login in PayPal (Check account exist or not)
 Input: --
      Entered the details like, mobile number and password
 State: --
       Checking whether this account exist or not.
 Output: --
       Account doesn't exist. You have to sign in to create a PayPal account.
   o Test Case 2
 Description: --
       Add money in PayPal Wallet
 Input: --
       Enter the amount and choose the method via which you want to add
money (like debit card, credit card.net banking)
 State: --
       Check if
       1. The card number/Net banking id is valid or not
       2. It is not expired
 Output: --
       Display error message that the card number/Net banking id is invalid
   o Test Case 3
 Description: --
       Error occur during the payment
 Input: --
       Enter the amount (x) you want to pay.
 State: --
       Check whether PayPal wallet contains (x) amount or not.
 Output: --
       If wallet contains valid money then payment successful, otherwise
payment unsuccessful.
   o Test Case 4
 Description: --
      Problems or error comes during transferring money from wallet to bank.
 Input: --
      Enter amount, account holder's name, account number, IFSC code
 State: --
      Check if
      1. Account details are right or not
      2. And amount of transferring money is valid or not
 Output: --
       Transferring is cancelled, display account details is wrong.
   o Test Case 5
 Description: --
      To pay money to shopkeeper
 Input: --
      Phone number/QR code of shopkeeper and the amount
 State: --
      Transferring money to Shopkeeper's PayPal account
 Output: --
       Payment Successful
   o Test Case 6
 Description: --
       Create a link to accept PayPal money from others
 Input: --
       Sender's phone number and amount
   o Test Case 7
 Description: --
       Mobile recharge/dish recharge
 Input: --
       Phone number and amount to recharge
 State: --
       Contact the service provider and recharges the phone and deducts
money from your PayPal wallet.
 Output: --
       Recharge successful
   o Test Case 8
 Description: --
       Pill payment of electricity/gas/water bill
 Input: --
       Select type of bill, bill number and customer number.
 State: --
       Checks the amount to be paid and transfers the money to the specified
company.
 Output: --
       Payment successful.
   o Test Case 9
 Description: --
       Opens the portal of online shopping.
 Input: --
       Select the item to be bought.
 State: --
       Generates the bill of the item and sends the prompt to the seller and
ask the customer to payment.
 Output: --
       Transaction done and item will be delivered by estimate date
   o Test Case 10
 Description: --
       Online booking of movies/bus/trains/flights tickets.
 Input: --
       Enter your date and place and then select your seat.
 State: --
       Contact the host and generates the ticket a deductes the money from
PayPal wallet.
 Output: --
       Ticket has been generated.
                    4. Attributes
4. 1 Availability
The PayPal servers should be in working condition 24*7 without any server
problems.
4.2 Security
PayPal wallet should provide maximal security. User data like username,
password, account balance should be transferred over safely using high level
encryption.
4.3 Maintainability
Only maintainers are allowed to check our PayPal details. Maintainers are
basically the system administrators, so, no other user should be allowed to do
so.