Patent Publication Number: US-2022222714-A1

Title: Sending funds via an email payment gateway

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a Continuation of U.S. patent application Ser. No. 16/537,995 filed Aug. 12, 2019, which is a continuation of U.S. patent application Ser. No. 15/643,523, filed Jul. 7, 2017, which issued on Sep. 24, 2019 as U.S. Pat. No. 10,423,990, which is a continuation of U.S. patent application Ser. No. 13/758,552, filed Feb. 4, 2013, which issued on Jul. 11, 2017 as U.S. Pat. No. 9,704,184, which claims the benefit of U.S. provisional application No. 61/676,488, filed Jul. 27, 2012, which are incorporated herein by reference as if fully set forth herein. 
    
    
     BACKGROUND 
     Currently available mechanisms for performing electronic financial transactions such as electronic donations are inefficient, time consuming, and not user friendly. A need therefore exists for a secure electronic system and method for managing fundraising campaigns electronically, and processing electronic donations securely, conveniently and efficiently. 
     SUMMARY 
     An email payment gateway may be configured to send emails to donors that are registered with the email payment gateway. The emails may include mailto hyperlinks. Each mailto hyperlink may be associated with one or more fundraising campaigns, and each mailto hyperlink describes an email message that may be generated when that hyperlink is selected. When a mailto hyperlink is selected, the generated email message may include one or more parameters related to the fundraising campaign associated with the hyperlink, such as an identifier of the fundraising campaign, donor identity or donation amount. The generated email message may then be transmitted to the email payment gateway. The email payment gateway may receive the message and, based on the parameters in the received message, process the donation on behalf of the donor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings wherein: 
         FIG. 1  shows a logical architecture for making donations using email; 
         FIG. 2  shows a method for authenticating an email; 
         FIG. 3  is a method implemented with an email payment gateway; 
         FIG. 4  is a diagram of an email sent from an email payment gateway to a donor; 
         FIG. 5  is a diagram showing UUIDs and the data with which they are associated wherein the UUIDs are associated with each other; 
         FIG. 6  is a diagram showing UUIDs and the data with which they are associated wherein a plurality of the UUIDs are combined into a single UUID for inclusion into an email; 
         FIG. 7  is a diagram of an email sent from a donor to an email payment gateway; and 
         FIG. 8  shows an example system that may be used to implement features described herein with reference to  FIGS. 1-7 . 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows an example logical architecture  114  for making email-based donations. The example architecture  114  may include a donor client device  120 , an e-commerce system  100 , a donation processing system  136 , a donor recognition fulfillment system  138 , and a organization client device  130 . The e-commerce system  100  may include an account management module  102 , a database module  104 , an e-commerce database  106 , a donation execution module  108 , a security module  109 , a message processing module  110 , and an email interface module  112 . 
     It is noted that one or more of the e-commerce system  100 , the donation processing system  136 , and/or donor recognition fulfillment system  138  may be collectively be referred to hereinafter as an email payment gateway  115 . Further, the email payment gateway  115 , in addition to comprising one or more of the e-commerce system  100 , the donation processing system  136 , and/or donor recognition fulfillment system  138 , may be configured to include one of more of the individual components of the e-commerce system  100  as desired. 
     As will be described in further detail below, the e-commerce system  100  and donor client device  120  may exchange email messages to initiate and manage donations. Also as will be described in further detail below, the e-commerce system  100  may communicate with the donation processing system  136  and the donor recognition fulfillment system  138  to execute the transactions. The donor recognition fulfillment system  138  is optional, such that it may be used by organizations desiring to provide some type of commemorative item to a donor to show the relevant organization&#39;s appreciation to the donor. 
     The account management module  102  in the e-commerce system  100  may manage data related to accounts for donors and organizations participating in various fundraising campaigns using the e-commerce system  100 . The account management module  102  may be or include, for example, a web application. Organizations may interact with the account management module  102  via a web browser, such as the web browser module  134  in the organization client device  130 . As one example, a user of the organization client device  130  may provide information to the account management module  102  such as: information related to a particular fundraising campaign to be used for email advertisements to be sent to donors in email campaigns; email formatting information to be used for email advertisements to be sent to donors; financial information related to bank accounts and/or other types of financial accounts (e-Payment accounts such as PayPal accounts) that may be used to receive payments or donations from donors of the e-commerce system  100 , such as account numbers and/or other identifying information; and/or other information. Donors may register with the e-commerce system  100  by interacting with the account management module  102  via a web browser, such as the web browser module  124  in the donor client device  120 . A user of the donor client device  120  may provide information to the account management module  102  via the web browser module  124  such as: an email address associated with the donor; financial information associated with the donor, such as a credit card information (such as a credit card number and expiration date), and/or other information related to bank accounts and/or other types of financial accounts (such as e-payment accounts) that may be used to make payments to vendors via the e-commerce system  100 ; shipping address information; billing address information; preferences regarding which fundraising campaigns the donor would like to receive email advertisements from; and/or other information. 
     The account management module  102  may, via the database module  104 , store information received from the donor client device  120  and/or the organization client device  130  in the e-commerce database  106 . The account management module  102  may also add information to the e-commerce database  106  when donors and organizations to which donations may be made register with the e-commerce system  100 , such as donor identifiers, organization identifiers, and other identifying information. 
     The security module  109  generates a plurality of Universal Unique Identifiers (UUIDs)  202 . A UUID is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). 
     Utilizing UUIDs enables distributed systems to uniquely identify information without significant central coordination. Since the identifiers have a finite size, it is possible for two differing items to share the same identifier. However, the identifier size and generation process are selected such that this is sufficiently unlikely. 
     In one embodiment, the UUIDs have a length of  32  characters, in groups, separated by a “dash” (-) character. For example, in one embodiment, an example generated code may be: 891BE826-C023-4DAD-9E53-EE62B-836079C. 
     The message processing module  110  (in conjunction with the email interface module  112 ) may generate and transmit email messages to donors registered with the e-commerce system  100 , such as the user of the donor client device  120 . The advertisement email messages may be HyperText Markup Language (HTML) email messages, Rich Text Format (RTF) email messages, and/or may be defined according to any other appropriate format. The advertisement email messages may include Uniform Resource Identifiers (URIs) or hyperlinks that are defined according to the mailto URI scheme. Each mailto URI or hyperlink may describe an email message that may be generated by an email client module (such as the email client module  122 ) when that URI or hyperlink is selected. The generated message may include a number of parameters that indicate, for example, the identity of a particular fundraising organization (e.g. Red Cross), a particular fundraising campaign being conducted by the Red Cross (e.g. Christmas Fundraiser), a plurality of predetermined potential donation amounts (e.g. $ 10 , $ 15 , $ 20 , other) that may be made by a donor to the Christmas Fundraiser. Of course, the generated message may also include the identity of the donor who is the recipient of the generated message (e.g. John Smith). 
     In the situation where the donor wishes to make a donation, the donor may reply to the generated message, in which case a message is sent to the e-commerce system  100  and, in one embodiment, received by the message processing module  110 . When the generated message is received by the message processing module  110 , the message processing module  110  may then initiate a transaction to make the donation on behalf of the donor. In such an instance, the message processing module  110  may interact with the donation execution module  108  to perform the transaction. 
     The email interface module  112  may be configured to use one or more email accounts that are associated with the e-commerce system  100 , and to send and receive messages associated with the one or more email accounts. The email interface module  112  and/or the email client module  122  in the donor client device  120  may communicate email messages using technologies such as Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) technology, Internet Message Access Protocol (IMAP), Remote Procedure Call (RPC) technology, HyperText Transfer Protocol (HTTP), and/or other appropriate technologies. The interface module  112  and/or the email client module  122  may use these technologies to transmit and/or receive email messages via one or more email servers (not depicted). The email client module  122  may be or include an email client such as Microsoft Outlook, Thunderbird, a web browser application, or any other client application for the communication of email messages. In an instance where the email client module  122  is or includes a web browser application, the email client module  122  may be the same web browser described above that may be used to communicate with the account management module  102 ; alternatively the email client module  122  and the web browser described above that may be used to communicate with the account management module  102  may be different. 
     The donation processing system  136  may be, as one example, a system that is operated by a financial institution for the purposes of processing donations made via the e-commerce system  100 . In such cases, the donation processing system  136  may have a connection to one or more banking networks (not depicted, such as banking institutions; Visa, Mastercard, American Express; or PayPal; or the like) that it may use to process payments corresponding to their respective donation amounts. The donation execution module  108  may communicate with the donation processing system  136  using technology such as Transport Layer Security (TLS) or Secure Sockets Layer (SSL) technology. The donor recognition fulfillment system  138  may be an order management system (OMS), Enterprise Resource Planning (ERP), supply chain management, electronic purchasing system, inventory control system, or any other appropriate system for fulfilling orders related to donor recognition efforts. The recognition may take the form of a public acknowledgement (such as an electronic or social networking posting, blast or tweet) or an actual physical deliverable (such as a certificate, a physical prize, a coupon or the like). 
     The e-commerce database  106  may store information such as information that describes fundraising organizations, any fundraising campaigns being conducted by the fundraising organizations, email campaigns and/or email advertisements associated with one or more fundraising organizations and/or fundraising campaigns, donor information, donation-related information, donation status information, and/or other information. 
     Additionally, the e-commerce database  106  may store information that indicates correspondences between different email campaigns, advertisements, donors, fundraising organizations, donations, information related to donation statuses, and/or other information. For each email campaign, the e-commerce database  106  may store information that includes an identifier of the fundraising organization associated with the campaign, identifiers of the predetermined potential donation amounts associated with the campaign, and/or other information. For each donation that is placed with the e-commerce system  100 , the e-commerce database  106  may store information such as an identifier of the donor that made the donation, when the donation was made, an identifier of the fundraising organization associated with the donation, and/or other information. 
     For each fundraising campaign described in the e-commerce database  106 , the e-commerce database  106  may store information that includes an identifier of the donation campaign, an identifier of the fundraising organization associated with the fundraising campaign, a description of the fundraising campaign, a title of the fundraising campaign, predetermined potential donation amounts, and/or other information. 
     The e-commerce database  106  may be spread across one or any number of computer-readable storage media (not depicted). The e-commerce database  106  may be or include, for example, a relational database, a hierarchical database, an object-oriented database, a flat file, a spreadsheet, or a structured file. The database module  104  may interface with a database management system (not depicted) in order to add data to, modify data in, or obtain data from the e-commerce database  106 . Alternatively or additionally, the database module  104  may perform database driver and/or database client functionality to interact with the database management system. The database management system may be based on a technology such as Microsoft SQL Server, Microsoft Access, MySQL, PostgreSQL, Oracle Relational Database Management System (RDBMS), Not Only SQL (NoSQL), or any other appropriate technology. 
     Each or any combination of the modules described above with reference to  FIG. 1  (including the account management module  102 , database module  104 , donation execution module  108 , message processing module  110 , email interface module  112 , email client module  122 , web browser module  134 , and the web browser module  124  in the donor client device  120 ) may be implemented as software modules, specific-purpose processor elements, or as combinations thereof. Suitable software modules include, by way of example, an executable program, a function, a method call, a procedure, a routine or sub-routine, one or more processor-executable instructions, an object, or a data structure. Additionally, the system  100  may comprise a single server or computer, or may comprise a plurality of servers or computers, or a much larger integrated or distributed computer network including a plurality of computers and communication devices and networks. One example of such an extended network is the Internet. The terminology customer client device  120  will be referred to hereinafter as comprising a mobile or stationary device or terminal. 
     Referring to  FIG. 2 , a method  200  for authenticating an email in accordance with the present invention is shown. The method  200  is shown between the system  100  and a donor client device  120 . 
     As aforementioned, the security module  109  generates  202  a plurality of UUIDs. The UUIDs as delivered in an email message are “opaque”, in that the associated authentication information is not ultimately derivable from parsing the UUID. Although the UUID will be associated with particular authentication information within the database  106 , (such as a donor, a fundraising campaign, one or more donation amounts, etc.), this information is not derivable from the UUID. 
     Once the UUIDs are generated  202 , they are stored  204  in the database  106  for later use. It should also be understood by those of skill in the art, that the storing  204  of the UUIDs is not necessary, in that the UUIDs may be generated  102  upon demand, (i.e. when they are needed), so that storing  204  of the UUIDs is not necessary. Accordingly, those of skill in the art should understand step  204  as being optional. 
     When a new email “campaign” is to be conducted, the UUIDs are retrieved from memory, (or the UUIDs are generated upon demand if they were not previously generated and stored). The UUIDs are associated  206  with particular authentication information to create an authentication control packet. Once each UUID is associated  206  with particular authentication information to create an authentication control packet  300 , one or more UUIDs may be embedded in an email as one or more buttons, for example. The email is then transmitted  210  from the system  100  to the donor client device  120 . The donor client device  120  receives  212  the email, and the donor is allowed to review the email and make a selection  214  of one or more of the buttons, which in one embodiment, may correspond to one or more predetermined potential donation amounts. 
     The selection  214  of one or more of the buttons by the donor causes the donor client device  120  to generate  216  a return email which includes the UUIDs associated with the one or more selected buttons. The return email including the UUIDs is then transmitted  218  from the donor client device  120  to the system  100  where it is received  220 . It should be noted by those of skill in the art that although the return email is shown as being transmitted  218  back to the system  100 , it may also be sent to a third party site for processing without departing from the spirit and scope of the present invention. 
     Initial processing  225  of the return email is performed in steps  224  and  226 . In step  224 , the return email is parsed for one or more UUIDs. In step  226 , security qualification of the UUIDs is performed. In step  228 , the system further processes the transaction based upon the success or failure of the security qualification. 
       FIG. 3  is a flow diagram of a method  400  of a disclosed embodiment wherein donations are made using an email payment gateway  115 . The method  400  begins with step  402  wherein a plurality of unique codes are generated. The unique codes may be generated using any coding technique and any coding generation process. As described in more detail above, by way of example, the unique code may be a universally unique identifier (UUID). The UUID may be any length. Hereafter, the terms “codes” and “UUID&#39;s” may be used interchangeably 
     Next, in step  404 , a subset of the generated UUIDs are associated with various data sets included in an email message that may be sent to one or more recipients. The various data sets included in an email may be configured as desired, but in general relate to a particular fundraising campaign, the organization associated with the campaign, and how to donate to same. 
     For example, in the context of a fundraising campaign and referring now to  FIG. 4 , an email  502  may include a data set indicative of a recipient (i.e. a member who may or may not be registered with the email payment gateway  115 )  502 A (e.g. John Smith), a data set indicative of a particular fundraising organization  502 B (e.g. Red Cross), a data set indicative of a particular fundraising campaign  503  (e.g. Christmas Fundraiser), and a data set indicative of various donation amounts  502 C ($ 10 , $ 20 , $ 50 , etc.). As mentioned hereinbefore, the various data sets included in an email such as email  502  may be configured as desired. An example configuration is where a plurality of executable hyperlinks are provided for each donation amount included in data set  502 C. To illustrate this example, a data set indicative of a $ 10  dollar amount button  502 D, a $20 donation amount button  502 E, a $ 50  donation amount button  502 F or an “other amount” button  502 G is provided, wherein the buttons  502 D,  502 E,  502 F and  502 G are executable hyperlinks. 
     Referring back to  FIG. 3 , in step  406 , the subset of generated UUIDs may be stored in a database. The database may be a database such as database  106  described above, or may be a separate database provided for the purpose of retrieving and verifying information sent to the email payment gateway  115  in response to emails sent from the email payment gateway  115 . That is, in addition to the storage of UUIDs, providing the ability to retrieve the UUIDs later when sending subsequent emails versus regenerating them when sending subsequent emails as discussed above, storing the UUIDs in a database (either a same database or a separate database) enables different options for efficiently processing responses from donors to emails containing the subset of generated codes, or enables efficient processing by third parties. 
     For example, in one embodiment, each UUID in the subset of generated UUIDs is associated with each other in the database within which they are stored, such that all of the generated UUIDs that make up the subset may be retrieved from the database by applying any one of the subset of generated UUIDs to the database. To provide an example of such an arrangement, reference is made to  FIG. 5 . In  FIG. 5 , a subset of generated UUIDs are shown as UUIDp, UUIDb, UUIDm, UUIDi 10 , UUIDi 20 , and UUIDi 50 . This subset of generated UUIDs are associated with a data set included in the email  502  of  FIG. 4  where UUIDp corresponds to Red Cross  502 B, UUIDb corresponds to Christmas Fundraiser  503 , UUIDm corresponds to John Smith  502 A and UUIDi 10 , UUIDi 20  and UUIDi 50  correspond to donation amounts $ 10 , $ 20 , and $ 50 , respectively. In such a scenario, a reply email sent from John Smith to the email payment gateway ( 115  of  FIG. 1 ) will enable the email payment gateway  115  to retrieve the entire subset of associated UUIDs and verify the information and, once verified, process the donation. Therefore, in one embodiment, the email payment gateway may be configured such that when a reply email is sent in response to email  502 ,  115  it will include the UUIDi corresponding to the selected donation amount and UUIDm corresponding to the identity of the sender, John Smith  502 A (and optionally, as additional levels of security, the UUIDp corresponding to the partner and/or UUIDb corresponding to the email blast). In this manner, a relatively small amount of data is sent in the reply email but all of the UUIDs in the subset may be retrieved and verified based on receipt of the UUIDs in the reply email. Once verified, the donation may be processed. The UUIDs may be visible to the user or not visible, depending upon the manner in which the buttons are encoded. This is a technology choice which will be clearly understood by those of skill in the art. 
     In another embodiment, and as also described in step  406 , instead of associating each of the UUIDs with each other and storing them in a database as described hereinbefore, UUIDp, UUIDb, and UUIDm, may be combined to generate a single UUID (UUIDc as shown in  FIG. 6 ). In this embodiment, UUIDc and UUIDi 10 , UUIDi 20 , and UUIDi 50  are included in emails sent from the email payment gateway to a recipient. Reply emails sent back to the email payment gateway  115  from the recipient include UUIDc and at least one of UUIDi 10 , UUIDi 20 , and UUIDi 50  corresponding to the selected donation amount. In this embodiment, upon receipt of return emails, the email payment gateway  115  does not need to retrieve and compare all of the received UUIDs from a database prior to verifying the email. Instead, the email payment gateway  115  may only compare the received UUIDc with its list of active UUIDc identifiers to verify the email. Once verified, the donation is processed according to the at least one of UUIDi 10 , UUIDi 20 , and UUIDi 50  that was received in the email. 
     Of course, as noted above, while two examples of code generation are provided, the UUIDs may be generated, associated, configured, related or otherwise structured with respect to not only how they related to the data sets of the emails but also with respect to optimization of backend retrieval, verification and processing. 
     Referring back to  FIG. 3 , the next step is to select one or more codes to be included in the email message being sent from the email payment gateway  115  to a donor (step  408 ). As described hereinbefore, the codes may be generated in any manner as desired and the selection of codes for inclusion in the email sent from the email payment gateway  115  to a user may be related to the manner in which the codes are generated. For example, where the subset of generated codes are each associated with each other such that the entire subset may be retrieved based on any one code of the subset; step  408  requires the selection of which code(s) to include in the emails to/from the email payment gateway  115  and to use for retrieval purposes. On the other hand, where a plurality of codes in the subset of generated codes are combined into a single code, the combined code, and possibly any other codes corresponding to specific donation amounts are selected to include in the emails to/from the email payment gateway. 
     Referring back to  FIG. 3 , a recipient of an email executes  410  one of the buttons included therein to generate a reply email capable of causing the recipients intended donation to occur automatically from the perspective of the user with no further steps required by the user. 
     To provide an first example embodiment showing a possible implementation of step  410  of  FIG. 3 , reference is made to  FIGS. 4 and 7  and emails  502  and  510  in particular. In  FIG. 4 , by way of example, an embodiment is shown wherein a recipient, John Smith, executes the button  502 D corresponding to a $50 donation. 
     As discussed hereinbefore when describing the embodiment where UUIDs are associated with each other, the button  502 F corresponding to a $ 50  donation includes UUIDi 50  which: a) belongs to the subset of generated UUIDs associated with the Christmas Fundraiser; and b) is one of the subset of generated UUIDs stored in the database  504  of the email payment gateway  115 . 
     In this embodiment, upon execution of the button  502 F corresponding to a $50 donation, a reply email  510  ( FIG. 7 ) is generated and sent to the email payment gateway  501 . The email  510  includes UUIDi 50  embedded therein (shown using reference numeral  550  for convenience). UUIDi 50  is applied to a database of the email payment gateway  115  to positively match and identify the UUIDi 50  as a valid UUID, and then to obtain additional information regarding the partner/campaign/member/etc. and the email  510  is then processed by the email payment gateway  115  as shown in in step  412  of  FIG. 3 . 
     In this example, the instructed financial transaction is a $ 50  donation to the Red Cross Christmas Fundraiser. Of course, in accordance with the second code generation example provided above, where a combination UUID is used such as UUIDc, the step of retrieving data stored in a database is not necessary. 
       FIG. 8  shows an example system  1300  that may be used to implement features described above with respect to  FIGS. 1-5 . The example system  1300  includes an e-commerce server  1350 , a client device  1370 , and one or more networks  1380 . 
     The e-commerce server  1350  may include at least one processor  1352 , memory device  1354 , network interface  1356 , and storage device  1358 . The client device  1370  may include at least one processor  1372 , memory device  1374 , network interface  1376 , input device interface  1375 , display device interface  1377 , and storage device  1378 . 
     The e-commerce server  1350  may be configured to perform any feature or combination of features described hereinbeforfe as performed by the account management module  102 , database module  104 , order execution module  108 , message processing module  110 , and/or email interface module  112 . The client device  1370  may be configured to perform any feature or combination of features described above with reference to  FIGS. 1-5  as performed by the email client module  122  and/or the web browser module in the customer client device  120 . The client device  1370  may be, for example, a desktop computer, a laptop computer, a netbook, a tablet computer, a personal digital assistant (PDA), a cellular phone, or any other appropriate device. 
     Each or any of the memory devices  1354 ,  1374  may be or include a device such as a Dynamic Random Access Memory (D-RAM), Static RAM (S-RAM), or other RAM or a flash memory. Each or any of the storage devices  1358 ,  1378  may be or include a hard disk, a magneto-optical medium, an optical medium such as a CD-ROM, a digital versatile disk (DVDs), or Blu-Ray disc (BD), or other type of device for electronic data storage. The storage device  1358  in the e-commerce server  1350  may store the information or any subset of the information described hereinbefore as stored in the e-commerce database  106 . 
     Each or any of the network interfaces  1356 ,  1376  may be, for example, a communications port, a wired transceiver, or a wireless transceiver. Each or any of the network interfaces  1356 ,  1376  may be capable of communicating using technologies such as Ethernet, fiber optics, microwave, xDSL (Digital Subscriber Line), Wireless Local Area Network (WLAN) technology, wireless cellular technology, and/or any other appropriate technology. The network interfaces  1356 ,  1376  may be used by the e-commerce server  1350  and/or the client device  1370  to communicate via the one or more networks  1380 . The network interface in the e-commerce server  1350  may be configured to communicate any of the messages and/or other information described hereinbefore as communicated by the account management module  102 , database module  104 , order execution module  108 , message processing module  110 , and/or email interface module  112 . The network interface  1376  in the client device  1370  may be configured to communicate any of the messages and/or other information described hereinbefore as communicated by the email client module  122  and/or by the web browser module in the customer client device  120  used for communicating with the account management module  102 . 
     The one or more networks  1380  may include one or more private networks and/or one or more public networks such as the Internet. The one or more networks  1380  may be based on wired and/or wireless networking technologies. 
     The input device interface  1375  in the client device  1370  may be an interface configured to receive input from an input device such as a keyboard, a mouse, a trackball, a scanner, a touch screen, a touch pad, a stylus pad, and/or other device. The input device interface  1375  may operate using a technology such as Universal Serial Bus (USB), PS/2, Bluetooth, infrared, and/or other appropriate technology. The input device interface  1375  may be configured to receive any or any combination of the user input described hereinbefore as received by the by the email client module  122  and/or by the web browser module in the customer client device  120  used for communicating with the account management module  102 . 
     The display device interface  1377  may be an interface configured to communicate data to a display device (not depicted). The display device interface  1377  may operate using technology such as Video Graphics Array (VGA), Super VGA (S-VGA), Digital Visual Interface (DVI), High-Definition Multimedia Interface (HDMI), or other appropriate technology. The client device  1370  may include or be connected to a display device (not depicted) via the display device interface  1377 . The display device may be, for example, a monitor or television display, a plasma display, a liquid crystal display (LCD), and/or a display based on a technology such as front or rear projection, light emitting diodes (LEDs), organic light-emitting diodes (OLEDs), or Digital Light Processing (DLP). The display device may be configured to display, based on data received via the display device interface  1377 , any display elements described hereinbeforfe as displayed by the email client module  122  and/or by the web browser module in the customer client device. 
     The memory device  1354  and/or the storage device  1358  of the e-commerce server  1350  may store instructions which, when executed by the at least one processor  1352 , cause the at least one processor  1352  to perform any feature or combination of features described hereinbefore as performed by the account management module  102 , database module  104 , order execution module  108 , message processing module  110 , and/or email interface module  112 . The memory device  1374  and/or the storage device  1358  of the client device  1370  may store instructions which, when executed by the at least one processor  1372 , cause the at least one processor  1372  to perform any feature or combination of features described hereinbefore as performed by the email client module  122  and/or by the web browser module in the customer client device  120  used for communicating with the account management module  102 . 
     Although  FIG. 8  shows a single e-commerce server  1350  and a single client device  1370 , the functionality described hereinbefore as performed by the e-commerce serve  1350  and/or the client device  1370  may be distributed across any number of devices that possesses similar characteristics and/or that include similar components  1352 ,  1354 ,  1356 ,  1358 ,  1372 ,  1374 ,  11375 ,  1376 ,  1377  as the e-commerce server  1350  and/or the client device  1370 . 
     While examples are provided above with respect to  FIGS. 1-8  which includes the use of email communications, the features described hereinbefore may also be implemented using different types of communications technology. For example, the features described hereinbefore may also be implemented, mutatis mutandis, using technologies that include any one or any combination of: email; instant messaging; enterprise messaging; Short Message Service (SMS); Multimedia Messaging Service (MMS); and/or any other appropriate technology for the electronic communication of data. 
     As used herein, the term “vendor” broadly refers to and is not limited to a business, a non-profit organization, any other type of organization, and/or an individual person. One example of a business is an online retailer. Examples of non-profit organizations include fundraising organizations, educational institutions such as schools and universities, arts organizations, and recreational organizations. Examples of recreational organizations include historical or preservation societies, local recreational sports leagues. 
     As used herein, the term “processor” broadly refers to and is not limited to a single- or multi-core general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, one or more Application Specific Integrated Circuits (ASICs), one or more Field Programmable Gate Array (FPGA) circuits, any other type of integrated circuit (IC), a system-on-a-chip (SOC), and/or a state machine. 
     As used to herein, the term “computer-readable storage medium” broadly refers to and is not limited to a register, a cache memory, a ROM, a semiconductor memory device (such as a D-RAM, S-RAM, or other RAM), a magnetic medium such as a flash memory, a hard disk, a magneto-optical medium, an optical medium such as a CD-ROM, a DVDs, or BD, or other type of device for electronic data storage. 
     Although features and elements are described above in particular combinations, each feature or element can be used alone or in any combination with or without the other features and elements. For example, each feature or element as described hereinbefore may be used alone without the other features and elements or in various combinations with or without other features and elements. Sub-elements of the methods and features described hereinbefore may be performed in any arbitrary order (including concurrently), in any combination or sub-combination.