1). Field of the Invention
This invention relates to a method and system for processing a sale of an article, a virtual article, a service or a functionality such as a game using redeemable codes.
2). Discussion of Related Art
A merchant who sells articles, virtual articles, services or functionalities such as access to games online usually have an online store and a check-out system, wherein the online store can be used by remote user to select an item for purchase and the checkout system allows for the user to enter payment details such as credit card details or the like. Instead of direct payment, the merchant may offer the sale of a unique code that can be redeemed for the user to obtain access to the item. Many of these codes are purchased by users and gifted to other users. However, it is also common for people such as minors who do not have credit cards to purchase codes over the counter using cash and then use these codes themselves. Systems and methods are required that will allow for merchants to more easily sell codes to users.
The invention provides a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with a billing server, a first text message from the user device, the first text message being a request for a code and transmitting, with the billing server, the code to a user device of the user, redemption of the code allowing access to the user device to the article, virtual article, service, or functionality.
The invention also provides a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with a billing server, a request for a code from a user, identifying, with the billing server, a carrier server of the user from a plurality of carrier servers, receiving, with the billing server, a phone number of the user, an account being an account identified by the phone number on the carrier server, transmitting, with the billing server, a charge request to the carrier server to charge an account of a user corresponding to the phone number for a value of a code and transmitting, with the at least one server, the code to a user device of the user, redemption of the code allowing access to the user device to the article, virtual article, service, or functionality.
The invention further provides a non-transitory computer readable medium having stored thereon a set of instructions which, when executed by at least one processor, performs a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with a billing server, a first text message from the user device, the first text message being a request for a code, transmitting, with a billing server, a charge request to an account server to charge an account of a user for a value of a code and transmitting, with the billing server, the code to a user device of the user, redemption of the code allowing access to the user device to the article, virtual article, service, or functionality.
The invention further provides a billing server including a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium being executable by the processor to carry out a method for processing a sale of an article, a virtual article, a service, or a functionality including a text messaging module receiving a first text message from the user device, the first text message being a request for a code and a code management module transmitting the code to a user device of the user, redemption of the code allowing access to the user device to the article, virtual article, service, or functionality.
The invention also provides a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with the billing server, a request message from a mobile application running on the user device, the request message being a request for a code, transmitting, with billing server, a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to the request message and transmitting, with the billing server, the code to a user device of the user.
The invention further provides a billing server including a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium being executable by the processor to carry out a method for processing a sale of an article, a virtual article, a service, or a functionality including a mobile application communication module receiving a request message from a mobile application running on the user device, the request message being a request for a code, a billing module transmitting a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to the request message and a code management module transmitting the code to a user device of the user.
The invention also provides a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with the billing server, a phone number and a code from a merchant server, transmitting, with billing server, a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to receiving the phone number at the billing server and transmitting, with the billing server, the code to a user device of the user.
The invention further provides a billing server including a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium being executable by the processor to carry out a method for processing a sale of an article, a virtual article, a service, or a functionality including a billing server application programmable interface receiving a phone number and a code from a merchant server, a billing module transmitting a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to receiving the phone number at the billing server and a code management module transmitting the code to a user device of the user.
The invention also provides a method of processing a sale of an article, a virtual article, a service, or a functionality including receiving, with a billing server, a request message via a payment panel of the billing server on a website of a merchant server, the request message including a phone number and being a request for a code, transmitting, with billing server, a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to the request message and transmitting, with the billing server, the code to a user device of the user.
The invention further provides a billing server including a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium being executable by the processor to carry out a method for processing a sale of an article, a virtual article, a service, or a functionality including a payment panel communication module receiving a request message via a payment panel of the billing server on a website of a merchant server, the request message including a phone number and being a request for a code, a billing module transmitting a charge request to an account server to charge an account of a user for a value of the code, the charge request being in response to the request message and a code management module transmitting the code to a user device of the user.
The invention is further described by way of example with reference to the accompanying drawings, wherein:
At 20, a user uses the user mobile phone 12 to send a first text message to the billing server 14. The first text message includes a keyword and is transmitted to a Short Message Server (SMS) shortcode so that it is received at the billing server 14. The phone number of the user mobile phone 12 is appended to the text message so that the billing server 14 can identify the phone number of the user mobile phone 12. Although not shown in the figure, it should be understood that the first text message travels through the carrier server 18 before reaching the billing server 14. The carrier server 18 appends their identity to the first text message so that the billing server 14 can identify the carrier server 18 from a plurality of different carrier servers.
If the keyword is correctly entered and matches a keyword that has been registered at the billing server 14, the billing server 14 at 22 transmits a second text message to the user mobile phone 12 in response to the first text message transmitted at 20. The second text message requests an authorization to charge an account of the user mobile phone 12 on the carrier server 18. The second text message transmitted at 22 again traverses the carrier server 18 before reaching the user mobile phone 12.
At 24, the user of the user mobile phone 12 transmits a third text message to the billing server 14. The third text message indicates either authorization or not authorization. If the text message 24 does not authorize the transaction, then no charge is placed on an account at the carrier server 18 and no code is transmitted to the user mobile phone 12.
If the third text message 24 does includes an authorization, the billing server 14 proceeds, at 26, to transmit a charge request to the carrier server 18. The particular carrier server 18 has been identified from the first text message 20 and the charge request 26 is transmitted to the relevant carrier server 18. The charge request 26 includes a phone number and a value 28 stored in the billing server 14. The carrier server 18 then charges an account on the carrier server 18 corresponding to the phone number for an amount having a value 30 corresponding to the value 28. In the present embodiment, the value 28 is determined from the particular keyword transmitted in the first text message 20. For example, if the keyword is “argo25”, then the billing server 14 matches the particular keyword to a particular value of for example $25. The particular value is then the value 28 that is transmitted in the charge request 26. If the carrier server 18 successfully places a charge on the account of the user, then, the carrier server 18 automatically transmits a confirmation 32 indicating that the account has been charged. The billing server 14 receives the confirmation 32 and then at 34 requests a code from the merchant server 16 in response to the receipt of the confirmation 32.
The merchant server 16, in the present embodiment, has a plurality of codes (codes 1 to 7). Each code has a respective value. Each code initially indicates that it is available (Av). The merchant server 16 at 36 sends or transmits one of the codes, in the present example code 4, to the billing server 14. The merchant server 16 also marks the relevant code as active (Ac). An active code differentiates from an available code in that that active code has been sent and is available for redemption. The billing server 14 receives the code from the merchant server 16 and then automatically at 38 sends or transmits the code to the user mobile phone 12.
At 40, a user of the user mobile phone 12 redeems the code at the merchant server 16. The merchant server 16 then marks the relevant code as redeemed (R). Each code can only be redeemed once. When the merchant server processes the redemption of the code, the merchant server 16 also allows access to the user mobile phone 12 to the article, virtual article, service, or functionality such as a game.
What has been described is the sale of one of the codes within the merchant server 16. The process can be repeated until all the codes within the merchant server 16 have been sold. When all the codes have been sold, the merchant server 16 may again mark all the codes as available, or may create a new set of codes for purposes of selling to users.
At a later time, the carrier server 18 collects an amount corresponding to or based on the value 30 from the user. The carrier server 18 typically collects the money when the user pays their phone bill. At 42, the carrier server 18 pays the billing server 14 for an amount corresponding to the value. At 44, the billing server 14 passes an amount on to the merchant server 16 based on the value. The carrier server 18 and the billing server 14 will typically hold back a portion of the money received from the user such that the final amount that is paid to the merchant server 16 is slightly less than, but still based on the original value 30.
As mentioned with respect to
At 36A, the merchant server 16 sends the code directly to the user mobile phone 12 via email using the email address received at 34A. The billing server 14 is thus not used for receiving the code or for sending the code to the user mobile phone 12.
In the embodiment in
At 84, the billing server 14 sends an activation request to the merchant server 16. The merchant server 16 then marks the relevant code as active. At 38, the billing server 14 then sends a fourth SMS message to the user mobile phone 12 with the relevant code. The billing server 14 also removes the code that has been sent to the user mobile phone 12 from the subset of codes that were received from the merchant server 16 at 80. As such, the billing server 14 will not resend the same code to the user mobile phone 12 or any other user device.
In some of the examples provided the billing server 14 transmits the code to the user mobile phone via SMS. In another example the merchant server 16 transmits the code to the user mobile phone 12 via email without passing through the billing server 14. Modifications of the principle are possible without departing from the scope and spirit of the invention. For example, the billing server 14 may alternatively send the code to the user mobile phone 12 via email or the merchant server may send the code to the user mobile phone 12 via SMS.
In the example provided in
The mobile application 100 communicates over the Internet with the mobile application communication module 102. The mobile application 100 is used to select purchases for offer on the merchant server 16. The mobile application 100 is also used to make purchases via the merchant server 16. In another embodiment, the mobile application 100 may be replaced with a browser, in which case the mobile application communication module 102 is a browser communication module.
Both the code issuing module 50 and the mobile application communication module 102 are connected to the merchant server API 104. The merchant server API 104 is used to communicate with the billing server API 106. The merchant server API 104 is used to request a charge through the billing server 14 and to synchronize codes between the code issuing module 50 and the code management module 54 on the merchant server 16 and the billing server 14, respectively.
At 36, the merchant server 16 transmits the phone number of the user mobile phone 12 and a code to the billing server 14. The phone number and the code are typically transmitted together, and typically in the same message. Step 36 in
The browser 120 is used by a user to call the website 122 on the merchant server 16. The website 122 on the merchant server 16 transmits a payment panel request to the billing server 14. The billing server 14 responds to the payment panel request by transmitting the payment panel 124 to the website 122. The payment panel 124 is then inserted by the website 122 as a payment panel 128. The merchant server 16 responds to a call from the browser 120 to transmit the website 122 together with a payment panel 128 to the browser 120. A user can then view the website 122 and the payment panel 128 within the browser 120. The user can enter data and interact with the payment panel 128. Such interaction results in communication between the payment panel 128 residing within the browser 120 and the payment panel communication module 126 of the billing server 14 without going through the merchant server 16.
The various components shown in
The memory 1020 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to the memory 1020 by other components of the user mobile phone 12, such as the CPU 1200 and the peripherals interface 1180, is controlled by the memory controller 1220.
The peripherals interface 1180 connects the input and output peripherals of the device to the CPU 1200 and memory 1020. The one or more processors 1200 run or execute various software programs and/or sets of instructions stored in the memory 1020 to perform various functions for the user mobile phone 12 and to process data.
The RF (radio frequency) circuitry 1080 receives and sends RF signals, also called electromagnetic signals. The RF circuitry 1080 converts electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. The RF circuitry 1080 includes well-known circuitry for performing these functions, including an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. The RF circuitry 1080 may communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. The wireless communication may use any of a plurality of communications standards, protocols and technologies that are known in the art.
The audio circuitry 1100, the speaker 1110, and the microphone 1130 provide an audio interface between a user and the user mobile phone 12. The audio circuitry 1100 receives audio data from the peripherals interface 1180, converts the audio data to an electrical signal, and transmits the electrical signal to the speaker 1110. The speaker 1110 converts the electrical signal to human-audible sound waves. The audio circuitry 1100 also receives electrical signals converted by the microphone 1130 from sound waves. The audio circuitry 1100 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 1180 for processing. The audio circuitry 1100 also includes a headset jack serving as an interface between the audio circuitry 1100 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
The I/O subsystem 1060 connects input/output peripherals on the user mobile phone 12, such as the touch screen 1120 and other input/control devices 1160, to the peripherals interface 1180. The I/O subsystem 1060 includes a display controller 1560 and one or more input controllers 1600 for other input or control devices. The one or more input controllers 1600 receive/send electrical signals from/to other input or control devices 1160. The other input/control devices 1160 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth all serving as forming part of an interface. The input controllers 1600 may be connected to any of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse. The one or more buttons may include an up/down button for volume control of the speaker 1110 and/or the microphone 1130. The one or more buttons may include a push button. A quick press of the push button may disengage a lock of the touch screen 1120 or begin a process that uses gestures on the touch screen to unlock the device. A longer press of the push button may turn power to the user mobile phone 12 on or off. The touch screen 1120 is used to implement virtual or soft buttons and one or more soft keyboards.
The touch-sensitive touch screen 1120 provides an input interface and an output interface between the device and a user. The display controller 1560 receives and/or sends electrical signals from/to the touch screen 1120. The touch screen 1120 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects, further details of which are described below.
A touch screen 1120 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. The touch screen 1120 and the display controller 1560 (along with any associated modules and/or sets of instructions in memory 1020) detect contact (and any movement or breaking of the contact) on the touch screen 1120 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen. In an exemplary embodiment, a point of contact between a touch screen 1120 and the user corresponds to a finger of the user.
The touch screen 1120 may use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies may be used in other embodiments. The touch screen 1120 and the display controller 1560 may detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with a touch screen 1120.
The user may make contact with the touch screen 1120 using any suitable object or appendage, such as a stylus, a finger, and so forth. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which are much less precise than stylus-based input due to the larger area of contact of a finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer/cursor position or command for performing the actions desired by the user.
The user mobile phone 12 also includes a power system 1620 for powering the various components. The power system 1620 may include a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices.
The software components stored in memory 1020 include an operating system 1260, a communication module (or set of instructions) 1280, a contact/motion module (or set of instructions) 1300, a graphics module (or set of instructions) 1320, a text input module (or set of instructions) 1340, and applications (or set of instructions) 1360.
The operating system 1260 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
The communication module 1280 facilitates communication with other devices over one or more external ports 1240 and also includes various software components for handling data received by the RF circuitry 1080 and/or the external port 1240. The external port 1240 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.).
The contact/motion module 1300 may detect contact with the touch screen 1120 (in conjunction with the display controller 1560) and other touch sensitive devices (e.g., a touchpad or physical click wheel). The contact/motion module 1300 includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred, determining if there is movement of the contact and tracking the movement across the touch screen 1120, and determining if the contact has been broken (i.e., if the contact has ceased). Determining movement of the point of contact may include determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations may be applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multitouch”/multiple finger contacts). The contact/motion module 1300 and the display controller 1560 also detects contact on a touchpad.
The graphics module 1320 includes various known software components for rendering and displaying graphics on the touch screen 1120, including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like.
The text input module 1340, which may be a component of graphics module 1320, provides soft keyboards for entering text in various applications (e.g., contacts, e-mail, IM, blogging, browser, and any other application that needs text input). The applications 1360 may include the mobile application 208.
The exemplary computer system 900 includes a processor 930 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 932 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 934 (e.g., flash memory, static random access memory (SRAM, etc.), which communicate with each other via a bus 936.
The computer system 900 may further include a video display 938 (e.g., a liquid crystal displays (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alpha-numeric input device 940 (e.g., a keyboard), a cursor control device 942 (e.g., a mouse), a disk drive unit 944, a signal generation device 946 (e.g., a speaker), and a network interface device 948.
The disk drive unit 944 includes a machine-readable medium 950 on which is stored one or more sets of instructions 952 (e.g., software) embodying any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the main memory 932 and/or within the processor 930 during execution thereof by the computer system 900, the memory 932 and the processor 930 also constituting machine readable media. The software may further be transmitted or received over a network 954 via the network interface device 948.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the current invention, and that this invention is not restricted to the specific constructions and arrangements shown and described since modifications may occur to those ordinarily skilled in the art.