SYSTEM AND METHOD FOR MULTI-CURRENCY TRANSACTIONS

Abstract: A system for determining approval of a multi-currency transaction between a merchant and a customer using currency exchange. The customer and merchant obligations relating to such a transaction can be fixed at the time of the transaction. Risks to these parties heretofore associated with currency exchange is minimized. The parties to a multi-currency transaction authorize an approving entity to settle the transaction. Authorization is granted by virtue of the customer and merchant setting up accounts knowing that transactions will be submitted and processed by the entity holding the accounts. The parties transmit data representing the transaction to the approving entity. This data includes an amount in a first currency that a customer is willing to pay for a product and a price in a different second currency which a merchant is willing to accept for the product. Using predetermined criteria, the approving entity approves the transaction. Once the transaction is approved, the approving entity may settle the transaction at its discretion thereby bearing the risk associated with currency exchange. The parties, however, incur no risk. The customer will pay the amount in the first currency and the merchant will receive the price in the second currency. These are values known and agreed to by the parties at the time of the transaction.

Description: SYSTEM AND METHOD FOR MULTI-CURRENCY TRANSACTIONS BACKGROUND OF THE INVENTION 1. Field of Invention The present invention generally relates to a system and method for approving a transaction over a communications network between a merchant and a customer. More specifically, the present invention is directed to a system and method for approving a transaction between a merchant and a customer, wherein the transaction occurs over an electronic network (such as the Internet) and wherein the customer pays for a product using electronic cash in one currency and the merchant receives electronic cash for the product in a different currency. 2. Description of the Prior Art Soon, international commerce may be a common experience for almost everyone. This is due, in large measure, to computer networks, including the Internet, which link individuals, consumers, businesses, financial institutions, educational institutions, and government facilities. In fact, the growth in international commerce appears limitless, given the forecasts relating to the commercial use of the Internet and the like. There is a problem, however, inherent in international commerce, electronic or otherwise. The problem exists, for the most part, because monetary systems differ from country to country. That is, money is generally expressed in different currencies in different countries and the value of the different currencies vary greatly. Currency conversion is widely used to convert money from one currency into money of a different currency. Λs used herein, the term "currency" includes, but is not limited to, denominations of script and coin that are issued by government authorities as a medium of exchange. A "currency" also may include a privately issued token that can be exchanged for another privately issued token or government script. For example, a company might create tokens in various denominations. This company issued 'money" could be used by employees to purchase goods from merchants. In this case, at exchange rate might be provided to convert the company currency into currencies which are acceptable to merchants. In each instance, currency conversion represents a significant economic risk to both buyers and sellers in international commerce. For example, assume a customer desires to buy a product from a merchant. Further consider the scenario where the customer pays his credit card bills in United States dollars and the merchant only accepts French francs for the products he sells. The customer uses his credit card to pay the merchant for the product. The merchant receives French francs. Typically, at an undetermined later date, the company issuing the credit card would bill an amount to the customer in United States dollars. The amount billed to the customer is determined by an exchange rate used at the time the credit card company settles the transaction. This settlement is often at an indeterminate time and could be on the date of purchase or several days or weeks later. The time of this settlement is at the credit card company's discretion. The risk to the credit card company is minimal—it can settle the transaction when exchange rates are favorable. Thus, in this case, it is the customer who bears the risk that the value of the customer's currency will decline prior to this settlement. As another example, consider a cash transaction where a merchant accepts a currency other than that of his country's currency. In this case, the merchant sells the currency to a currency trader, usually at a discount. The price the merchant charges to the customer who pays cash reflects both the cost of currency conversion (the discount) and the risk that the rate used to establish the price of the product in a particular currency may have changed. This results in the customer paying a higher price for the product and the merchant incurring risk due to a possible change in currency exchange rates. Thus, the described post sale methods of currency exchange may impart significant risk upon the customer and the merchant. Risk is typically on the side of whoever commits to the currency conversion. Specifically, in a cash transaction, the customer bears the risk when currency is converted prior to purchasing a product. The merchant sustains the risk when he converts the customer's currency into his own currency. Also, in the case of transactions on the scale of a few cents, the cost of currency conversion may be greater than the currency is worth. As yet another example, consider the risks that an individual assumes when he converts from the currency of his country ("native currency") to a different second currency. In this case, the individual can purchase goods at a price in the second currency, but cannot be certain of the value of the second currency relative to his native currency. In this case, the currency exchange has occurred pre-sale. Thus, the individual assumes the risk of devaluation of the second currency against the first. Further, the customer bears the risk that the second currency may cease to be convertible into his native currency. It is noted that if the individual desires to purchase an item in a third currency which differs from the native and second currencies, he must undertake at least one additional currency conversion (converting either his native currency to the third currency, the second currency to the third currency, or a combination of both). In this case, the customer assumes an additional risk. The present invention recognizes that international commerce over electronic networks, such as the Internet, cannot reach potential unless customer and merchant obligations relating to transactions are fixed at the time of the transaction so that risk to these parties associated with currency exchange is minimized. Thus, what is needed to encourage the development of international commerce over such networks is a system and method that offers a means of eliminating the uncertainty associated with multi-currency transactions. One aspect of the invention disclosed herein shifts the risk associated with currency exchange from both the merchant and customer to a third party (e_4j., a server) in real time. This server may assume the risk itself or may choose to subsequently pass on the risk to a fourth party (e.g.. a bank or other financial institution). SUMMARY OF INVENTION The present invention is directed to a system for determining approval of a transaction between a merchant and a customer. The system comprises a merchant device associated with the merchant. The merchant device has a first set of data including a product price in a first currency The system also has a customer device associated with the customer. The customer device has a second set of data including a first amount in a second currency. The system further has a server device connected to both the customer device and the merchant device for receiving the first and second sets of data and for approving the transaction when the first amount in the second currency is within a risk range of the price in the first currency in accordance with current exchange rates. Another aspect of the present invention is directed to a system for determining approval of a transaction between a merchant and a customer. The transaction includes the merchant providing a product to the customer at a price in a first merchant currency. The price in the first merchant currency is known by the customer. The system comprises a customer device associated with the customer. The customer device has a first set of data including a customer amount in a customer currency. The system also includes a server connected to the customer device having the merchant price in the first merchant currency for receiving the first set of data, and for approving the transaction when the customer amount in the customer currency is within a risk range of the price in the merchant currency in accordance with current exchange rates. Still another aspect of the present invention is directed to a method for determining approval of a transaction between a merchant having a merchant device and a customer having a customer device. The merchant device and the customer device are connected to a server. The method comprises transmitting a first set of data from the merchant device to the customer device. The first set of data includes a merchant price in a first merchant currency. The method includes receiving the first set of data by the customer device, wherein the customer device has a second set of data including a customer amount in a first customer currency. The method further includes transmitting the first and the second sets of data by the customer device to the server and transmitting the first and second sets of data by the customer device to the server. The server is for approving the transaction when the customer amount in the first customer currency is within a risk range of the merchant amount in the merchant currency in accordance with current exchange rates. BRIEF DESCRIPTION OF DRAWINGS Representative embodiments of the present invention will be described with reference to the following drawings: Figure 1 is a diagrammatic representation of one aspect of the present invention. Figure 2 is a diagrammatic representation of another aspect of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference is now made to Figures 1-2 for the purpose of describing, in detail, the preferred embodiments of the present invention. The Figures and accompanying detailed description are not intended to limit the scope of the claims appended hereto. The preferred architecture of the present invention is generally depicted in Figure 1. Figure 1 shows three entities: a server 100, a customer computer 200, and a merchant computer 300, connected to each other via a network 50. The network 50 may be a private, public, secure, or an insecure network. The preferred embodiments of the present invention contemplate use of an insecure network, for example, the Internet. The connections to the network 50 are identified by lines 105. 205, and 305, respectively, and are well known in the art. The merchant computer 300 represents the computer of an individual, for example, a merchant user 303, who sells products via the network 50. A "product" may include goods, services, information, data, and the like. The customer computer 200 represents the computer of an individual, for example, a customer user 203, who wants to buy a product (or products) from the merchant user 303 over the network 50. The mechanism of delivery of the product is not a part of this patent. Product delivery could be coincident with payment, before payment, or after payment. The server 100 represents a computer of an entity who processes transactions between the customer user 203 and the merchant user 303. The server 100 has a database including at least one customer account in a first currency associated with the customer user 203 and one merchant account in a second currency associated with the merchant user 303. The first currency differs from the second currency. The accounts preferably store electronic funds of the parties, for example, electronic cash. The electronic funds are a representation of funds (real cash, credit, etc.). The server 100 also has its own server accounts. The server accounts are in currencies corresponding to the currencies of the customer and merchant accounts. The server accounts represent real cash, credit, etc. corresponding to the electronic funds stored in the customer and merchant accounts. We prefer to maintain local accounts at the merchant computer 300 and the customer computer 200. The local accounts represent the electronic funds in the merchant account and the customer account maintained at the server 100, respectively. The local accounts of the customer and the merchant are sometimes referred in the art as "wallets" and "cash registers", respectively. The server accounts may be arranged with a bank or other financial institution. To illustrate how these accounts might be set up, consider the situation where a customer user 203 lives in the United States and purchases products using U.S. dollars. Further assume that a merchant user 303 located in France conducts his operations in French francs. In this case, the server 100 may have a customer account in United States dollars and a merchant account in French francs. The server 100 processing transactions between these parties may have two electronic accounts representing all user accounts whose currencies are in dollars and all user accounts whose currencies are in francs as well as two real accounts in a bank, one server account would be in United States dollars and the other server account in French francs. When the network 50 is insecure, we prefer to take measures to assure that the server 100, customer computer 200, and the merchant computer 300 can communicate securely over the network 50. Of course, secure communication is not required for the present invention, but is only a preferred form of such communication. Central to achieving such security while maintaining a high performance payment system is the use of "sessions". A session is an opportunity (or window) in which the customer user 203 may purchase a product from the merchant user 303 over the network So or which the merchant user 303 may sell a product to the customer user 203 over the network 50. By using a session, a merchant can securely communicate with a customer over an insecure network. The customer user 203 and the merchant user 303 have their own independent sessions. Sessions are of limited duration. This duration is governed by predetermined parameters. These parameters are preferably set by the customer user 203 and the merchant user 303. However, the server 100 may set or limit values of such parameters. We prefer that the parameters relating to the session of customer user 203 limit an amount of electronic funds (the "session amount"), a maximum amount of time that the customer's session may last, and a maximum number of transactions that the customer user 203 may conduct. The session amount is the maximum amount of electronic funds that the customer user 203 may spend during the customer's session. Also, we prefer that the session of merchant user 303 is limited by a maximum amount of time that the merchant's session may last and a maximum number of transactions that the merchant user 303 may conduct. To accomplish such secure communication over the insecure network, a first session associated with the customer user 203 is created. The first session has first use parameters for limiting the duration that the first session can be used and a set of customer data. The first use parameters and the set of customer data are identifiable by the server 100. A second session associated with the merchant user 303 is also created. The second session has second use parameters for limiting the duration that the second session can be used and a set of merchant data. The second use parameters and the set of merchant data are identifiable by the server 100. Over the insecure network, a portion of the first session and a portion of the second session are linked. The portion of the first session includes the set of customer data and the first use parameters. The set of customer data may include a customer identification string which identifies the customer user 203. The portion of the second set of data includes the set of merchant data and the second use parameters. The set of merchant data may include a merchant identification string which identifies the merchant user 303. The server 100 verifies the customer user 203 and the merchant user 303 based upon at least portions of the set of customer data and the set of merchant data and determines that the first and second sessions can be used. In this manner, confidential details of the payment between the customer user 203 and the merchant user 303 are assured of being communicated securely. Of course, other methods and systems for establishing secure communication over an insecure network may be used to use the invention set forth herein. The merchant user 303 and the customer user 203 endeavor ultimately to effect a "transaction", that is, the purchase of a product by the customer user 203 from the merchant user 303. The merchant user 303 and the customer user 203 need not have any prior existing relationship to transact business. This is so because the merchant user 303 and the customer user 203 each have a preestablished relationship with the server 100 prior to transacting business. How the parties form this relationship is not part of the present invention. Rather, what is important is that the customer and merchant accounts, described above, exist with the server 100. To form the relationship, we prefer that the customer user 203 provide information using customer computer 200 to the server 100. Such information may include the name of customer user 203 and the currency in which he intends to purchase products. In the case of the merchant user 303, this information may include the name of the merchant user 303 and the currency in which he intends to ultimately receive for providing products. Other information can be provided as deemed necessary by the server 100. This relationship may be either direct or indirect. An indirect relationship, for example, would include the situation where one or more entities, previously known to the server 100, vouch for the merchant user 303 and/or the customer user 203. Public key crypto systems are generally used in this type of vouching process and are well known to those skilled in the art. The process of using public key crypto systems as such is known in the art as "certificate management". In this case, vouching entities are known as "certificate authorities". Certificates, certificate management, and certificate authorities are well known in the art and are not the subject of the present invention. The present invention is directed toward "approval" of a multi-currency transaction in which the customer user 203 pays in a first currency and the merchant user 303 accepts the payment in a second currency which differs from the first currency, rather than the completed transaction itself. As will be described below, approval commits the customer user 203 and the merchant user 303 to the terms of the transaction and commits the server 100 to perform virtual settlement of the transaction. As used herein, "virtual settlement" of the transaction represents at least the movement of electronic funds to a merchant account of merchant user 303 held by the server 100. It may also represent the movement of electronic funds from a customer account of the customer user 203 held by the server 100. This is to be distinguished from actual settlement of the transaction. As used herein, "actual settlement" of the transaction includes at least converting real funds in an amount equal to the amount in the customer selected currency into real funds in the merchant accepted currency. The parties are committed as such because of pre-existing bilateral contractual obligations between merchant user 303 and the operator of server 100 and between customer user 203 and the operator of the server 100. The contractual obligations are preferably formed during the commencement of service relationship between the server 100 and the customer user 203 and the merchant user 303 respectively. The obligations may include the agreement of customer user 203 and the merchant user 303 to permit the server 100 to perform virtual settlement of the transaction. In return, the server 100 may agree to incur the risks associated with currency exchange when it performs actual settlement of the transaction. We prefer that the customer user 203 and the merchant user 303 agree to allow the server 100 (on behalf of the operator of the server 100) to maintain accounts and balances of funds managed by the server 100. Further, we prefer that the movement of funds between those accounts be coincident with the transaction. In this way, the customer user 203 knows substantially the amount in the currency he will pay for the product. Similarly, the merchant user 303 knows substantially the price in the currency he will receive for the product. Thus, the customer user 203 and the merchant user 303 do not bear the above-described risks associated with currency exchange. The amount the customer user 203 knows and the price the merchant user 303 knows is substantially the respective amount and price because there may be minor factors that affect these actual values. Such factors will be discussed in terms of risk factors. It is the entity charged with performing actual settlement of the transaction who bears such risks when the transaction is actually settled. The present invention is directed to approval of multi-currency transactions in which the customer user 203 pays in a first currency and the merchant user 303 accepts the payment in a second currency which differs from the first currency. To transact business, the customer user 203 may shop over the network 50 among the merchant users 303 who also have been permitted by server 100 to transact business (which may be, for example, those who have merchant sessions) Using well known techniques, the customer user 203 and a merchant user 303 agree on a product to be purchased at a price and in a currency. Thus, the merchant user 303 will accept a price and receive payment for the product sold to the customer user 203. The price for the product is in a currency accepted by the merchant user 303, referenced herein as the "price in the merchant accepted currency P(MAC)II. The customer user 203 will pay an amount to the merchant user 303 for a selected product. The amount will be paid in a currency selected by customer user 203, referenced herein as the "amount in the customer selected currency A(CSC)tr. The currency selected by the merchant user 303 is different than the currency selected by the customer user 203. Hence, currency exchange is used to approve the transaction contemplated by the present invention. In a first embodiment of the present invention, the server 100 is used to approve the transaction between the merchant user 303 and the customer user 203. As stated previously, approval commits the customer user 203 and the merchant user 303 to the terms of the transaction and commits the server 100 to perform virtual settlement of the transaction. In this embodiment, the customer user 203 and the merchant user 303 have established and agreed upon a product to be purchased at a price the merchant user 303 will accept. This product and price are referred to herein as the "agreed product" and the "agreed price", respectively. Having agreed upon the product and the price, the merchant computer 300 transmits a first set of data to the server 100. This first set of data includes the agreed price that the merchant user 303 is willing to receive for his product. The transmitted agreed price is in the merchant accepted currency. Other information may be transmitted by the merchant computer 300 as needed by the server 100, for example, information identifying the merchant user 303, the product to be purchased, account information, etc. Having agreed upon the product and the price, the customer computer 200 transmits a second set of data to server computer 100. This second set of data includes the amount that the customer user 203 is willing to pay for the agreed product. The transmitted amount is in the customer selected currency. As previously stated, the customer selected currency is contemplated as being different than the merchant accepted currency. In a further aspect of this embodiment, we prefer that along with providing the amount in the customer selected currency A(CSC) , the customer computer 200 also transmit the agreed price in the merchant accepted currency P(MAC) to the server 100. This assures that the customer user 203 and the merchant user 303 have actually reached agreement on the terms of the transaction and precludes either party from denying such agreement. Other information may be transmitted by the customer computer 200 as needed by the server, for example, a requested payment range (described later), information identifying the customer user 203, the product to be purchased, account information, etc. It is not required that the merchant user 303 know or approve the customer selected currency, that is, the currency in which the customer user 203 will pay. There is no requirement that the customer user 203 approve the merchant accepted currency, that is, the currency which the merchant user 303 will receive. What is required in this embodiment of the present invention is that the server 100 be able to convert one such currency into the other. It is noted that not requiring "approval" of a currency by the merchant user 303 and/or the customer user 203 is distinguishable from the approval of a "transaction" by the server 100. Approval of a currency would be, for example, where the customer user 203 would need the permission of the merchant user 303 to pay in a given customer selected currency. Approval of transaction, on the other hand, commits the customer user 203 and the merchant user 303 to the terms of the transaction and commits the server 100 to perform virtual settlement of the transaction. The present invention does not require approval of a currency. The first and second sets of data transmitted to the server 100 need not come directly from the merchant computer 300 and the customer computer 200. This information may be transmitted via alternative routes. For example, we prefer that customer computer 200 transmit the second set of data to the merchant computer 300. Upon receipt of the second set of data, the merchant computer 300 transmits at least the amount in the customer selected currency A(CSC) and the first set of data including price in the merchant accepted currency P(MAC) to the server 100 for approval of the transaction. In this case the second set of data may be protected to prevent the merchant from altering it. Upon receiving the amount in the customer selected currency A(CSC) and the agreed price in the merchant accepted currency P(MAC), the server 100 approves the transaction. The approval process performed by server 100 is based upon the relative value of the customer ] selected currency in terms of the merchant accepted currency. This relative value may be ? established by the operator of server 100, a third party, or in other aspects of the present invention, 3 the customer user 203 or the merchant user 303. This preferably includes a rate of exchange at 4 which the customer selected currency can be converted into the merchant accepted currency. 5 Alternatively, or in addition, this information may include a rate at which the merchant accepted 6 currency can be converted into the customer selected currency. 7 Approval of the transaction occurs when the amount in the customer selected currency 8 A(CSC) is sufficient to pay the merchant user 303 the agreed price in the merchant accepted 9 currency P(MAC). The sufficiency determination process preferably includes converting the 0 amount in the customer selected currency A(CSC) into an amount in the merchant accepted 1 currency, referenced herein as the "amount in the merchant accepted currency A(MAC) ", using 2 a current exchange rate. 3 The current exchange rate data is preferably maintained by the entity charged with approving the transaction. Thus, in this embodiment, the server 100 may obtain it from a currency 5 broker or bank. In a further aspect of this embodiment, the approving entity may decide to buy 6 and sell currencies and establish its own exchange rates. In addition, as the server 100 has the 7 opportunity to aggregate transactions prior to committing to actually exchange currency with an 8 external agency, it may obtain preferential exchange rates by converting money in relatively large 9 units. 0 The frequency that the current exchange rate data is updated depends upon the level of risk 1 that the approving entity may be willing to accept and the availability of updates from currency 2 brokerage services. It is preferred that when the server 100 is the approving entity, it receives 3 updates to the exchange rate data on-line from one or more currency brokers. Frequency and 4 timing of updates are based on business rules agreed between the operator of the server 100 and the currency broker or brokers. This manages the risk of a significant change between the current exchange rate and the exchange rate used when the transaction is actually settled. Approval of the transaction by the server 100 is preferably based upon predetermined criteria. These criteria may be established by any of the parties to the transaction or a third party. For example, we prefer that the server 100 approve the transaction if the amount in the merchant accepted currency A(MAC) equals or exceeds the price in the merchant accepted currency P(MAC). Alternatively, the server 100 could approve the transaction if the amount in the merchant accepted currency A(MAC) is less than the price in the merchant accepted currency P(MAC). In this instance, the server 100 may absorb differentials (as where the cost associated with disapproving the transaction and reprocessing it exceeds the differential). Acceptable differentials may be dependent upon the creditworthiness of the customer user 203 or the merchant user 303, the acceptable deficit balance that the customer user 203 or the merchant user 303 are allowed to incur, or other market conditions such as, for example, fluctuations in exchange rates. These acceptable differentials are referred to with respect to each party of the transaction as a "risk range". Also, in the case where the amount in the merchant accepted currency A(MAC) is less than the price in the merchant accepted currency P(MAC) but within a predetermined range, the server 100 could record the differentials as they occur and collect them from the customer user 203 at a later time. This range is contemplated as being a small range and is referred to herein as the "payment range". The payment range may be predetermined by the customer user 203 or preferably, by the server 100. For the purpose of this application, the amount in the customer selected currency A(CSC) is equal to the amount in the customer selected currency A(CSC) plus or minus the payment range. The payment range thus defines the amount of conversion error permitted in the transaction. Approval of the transaction may also be contingent upon the customer user 203 having access to electronic funds in an amount equal to or exceeding the amount in the customer selected currency A(CSC) These funds may be stored or represented in a customer account associated with the customer user 203. In this case, the server approves the transaction when the amount in the merchant accepted currency A(MAC) meets the predetermined criteria described above and the customer account contains electronic funds in an amount at least equal to the amount in the customer selected currency A(CSC). Using any of the above methods for approval, alone or in combination, the server 100 approves the transaction. In order to avoid having to access the customer account of the customer user 203 and for security reasons, we prefer to limit the amount in the second set of data that a customer user 203 can transmit to the server 100 by the session amount. The session amount is an amount known by the server 100 to which the customer has access when the customer user 203 is permitted to shop. The limited amount is reduced as the customer user 203 purchases products over the network 50. The customer computer 200 temporarily prohibits the customer user 203 from transmitting an amount exceeding the session amount to the server 100 to be considered for sufficiency until more electronic funds is added to the session in which case the session amount has been increased. It is preferred that under such circumstances, the existing session will automatically close and a new session will be opened with funds at least sufficient to complete the transaction. Once the subsequent session is opened, the transaction may be approved. Of course, if the server computer 100 determines that customer user 203 does not have enough funds available to it to open a subsequent session of sufficient value, the transaction may be refused by server 100 altogether or the server 100 may approve the transaction as described herein. It is preferred that the funds available to customer user 203 during its session and the funds received by the merchant user 303 during its session be maintained to two decimal positions to the right of the minor unit of a currency. For example, in the case of U.S. dollars, the present invention preferably would carry the value of session funds to one hundredth of a penny to assure that rounding errors are minimized during a session, thus decreasing rounding errors during currency conversion of small transactions. When a session closes, the balance in the session is adjusted to whole minor currency units (this adjustment may be rounding or truncation). Once the transaction is approved, the customer user 203 and the merchant user 303 are committed to the terms of the transaction. Specifically, the customer user 203 is committed to pay the amount in the customer selected currency A(CSC). Similarly, the merchant user 303 is committed to accept the price in the merchant accepted currency P(MAC) for the product. The parties are committed as such through the contractual arrangement previously described. By the contractual obligations described above, the server 100 is committed to perform virtual settlement of the transaction. Therefore, according to this aspect of the present invention, a merchant account may be maintained for the merchant user 303 and a customer account may be maintained for the customer user 203. The merchant and customer accounts are preferably maintained by the server 100. However, one or both of the accounts may be maintained by a party other than the server 100. The merchant account and customer account may be debit or credit accounts. We prefer that the customer account be a debit account and that the merchant account be a credit account and that each such account represent funds in the form of electronic funds. However, other types of accounts may be used as known by those skilled in the art. In the case where a party other than the server 100 maintains a merchant account and/or a customer account, the server 100 may transmit data to the party to enable virtual settlement. For example, if the party maintained the merchant account and the customer account, the server 100 may transmit data identifying the merchant account and the price in the merchant accepted currency P(MAC) to be credited, and the customer account and the amount in the customer selected currency A(CSC) to be debited. Then, the party would debit the customer account and credit the merchant account accordingly. In this process, upon approval of the transaction, the customer account is debited by the amount in the customer selected currency A(CSC). The merchant account is credited with the agreed price in the merchant accepted currency P(MAC). This amount and price were known by and agreed to by the customer user 203 and the merchant user 303. Thus, there is no uncertainty as to the amount or currency to be paid by customer user 203 or the price or currency to be received by merchant user 303. Several variations on the above described embodiment provides that the currency used in the customer selected currency may be selected by the customer user 203 (or the server 100) from a plurality of currencies, referred to herein as "customer currencies". Also, the currency used in the merchant accepted currency may be selected by the customer user 203 from a plurality of currencies, referred to herein as "merchant currencies". A description of these variations is now provided. A customer user 203 may have access to amounts in a plurality of customer currencies. For example, a customer user 203 may have accounts containing amounts in United States dollars, French francs, and Japanese yen. The customer user 203 may purchase products using amounts from any of these accounts. To effect this option, the customer computer 200 presents an amount in each of the plurality of customer currencies to the customer user 203. This is done using exchange rate data for each customer currency to convert the merchant accepted currency into amounts in each of the customer currencies. It is preferred that the exchange rate data be provided to customer computer 200 by server 100 at various times. Other mechanisms for obtaining such data include the use of brokers. The customer user 203 selects an amount in one of the plurality of customer currencies in which the customer user 208 will spend for the product. This selected amount represents the amount in the customer selected currency A(CSC) described previously. In the above description, the method by which the customer computer 200 can determine the amount of customer currency to pay for a purchase in the merchant computer 300's currency is omitted. While there are a number of ways to enable this conversion, we prefer that prior to the inception of the customer computer 200's session, that the customer computer 200 request exchange rate data. This data will contain at least conversion rates from the session currency to other convertible currencies, it may also contain additional data such as anticipated expiration of the exchange rates. These rates are used by the customer computer 200 to estimate the amount of customer currency to pay for a purchase in merchant currency. As conversion rates may change rapidly, we prefer that this data be advisory only, the server 100 may send updated data to the customer computer 200 during any communication between them. The implication of this decision is that if the customer computer 200 pays insufficient funds to convert, it is viewed as a natural error due to obsolete data, not an attempt to defraud. This aspect of the present invention may further include an optimization feature. The optimization feature is preferably executed by the customer computer 200 to determine whether it is advantageous for the customer user 203 to pay in one customer currency over another. More specifically, the customer computer 200 determines the agreed price in the merchant accepted currency corresponding to the amount in each of the plurality of customer currencies. For example, assume the merchant user 303 will receive a price in currency C for the product and the customer user 203 has two customer currencies A and B available to pay the merchant user 303. The customer computer 200 determines amounts in currencies A and B which equate to the merchant price in currency C. These amounts may be compared by converting them to a reference currency of the customer computer 200's choice. The customer user 203 may choose (or the customer computer 200 may be programmed to choose) to pay the agreed price in the currency (A or B) which corresponds to the lesser amount in the reference currency. The amount in the chosen currency represents the amount in the customer selected currency A(CSC). According to another variation to this optimization feature, the customer computer 200 may also determine whether it is less expensive to first convert currency A into currency B, and then to convert currency B into currency C. In any case, the customer user 203 pays using the optimal payment currency. This preferred mode reduces complexity of currency exchange to the customer user 203 without reducing the options available to the customer user 203. It is also contemplated that the server 100 may execute an optimization feature. In this case, the server 100 may include the plurality of customer currencies available to the customer user 203. For example, data indicating the plurality of customer currencies may be transmitted in the second set of data from the customer computer 200 to the server 100 in lieu of the amount in the customer selected currency A(CSC) . In a manner similar to that described above, the server 100 determines the agreed amount in the merchant accepted currency A(MAC) for each of the plurality of customer currencies. The server 100 then chooses an amount in one of the customer currencies corresponding to the amount in the merchant accepted currency which is least when converted to the reference currency. The amount in the chosen currency represents the amount in the customer selected currency A(CSC). In another embodiment of the present invention, it is expected that a merchant user 303 may desire to transact business in more than one currency. Therefore, the merchant user 303 will accept a price for the product in one of a plurality of merchant currencies. The merchant computer 300 communicates the agreed price for the product in each of the merchant currencies to the customer computer 200. The customer computer 200 presents the agreed price in each of the merchant currencies to the customer user 203. The customer user 203 selects the agreed price in one of the merchant currencies that the merchant user 303 will accept. This selected currency may be recommended by the optimization procedure described above. This selected price represents the price in the merchant accepted currency P (MAC) , although it is actually selected by the customer user 203. According to a variation to this optimization feature, the customer computer 200 may also determine which customer currency - merchant currency pair represents the best value to customer user 203. This is accomplished by customer computer 200 using exchange rate data to convert the price of the product in each merchant accepted currency into each of the customer currencies and selecting the lowest value among the results. For example, if customer user 203 has access to currencies A, B, C and merchant user 203 is willing to accept currencies y and z, the customer computer 200 will determine the cost of the products as quoted in merchant accepted currencies y and z in terms of customer accepted currency A. Whichever of these conversions yields the lowest cost to customer user 203 is the optimal customer currency merchant currency pair for customer currency A. This process is repeated until an optimal currency pair is computed for each customer currency. For example, this process may yield the following results: A to y, B to y, and C to z. The next step is to decide which of these currency pairs represents the best value to customer user 203. It is preferred that this be accomplished by converting each customer currency to a single reference currency. The conversion that yields the smaller number is identified as the "best" choice and is displayed to customer user 203. Clearly, other approaches to determining the optimum currency can be devised by those skilled in the art. Another embodiment of the present invention, as shown in Figure 2, again uses the server 100 to approve the transaction between the merchant user 303 and the customer user 203. However, the merchant computer need not be connected to the network 50 according to this aspect of the invention. More particularly, in this embodiment, the customer user 203 has knowledge about the product that the merchant user 303 is providing and the price in the merchant selected currency for the product before submitting the second set of data to the server 100. This knowledge need not be gained while the customer user 203 shops over the network 50. For example, the merchant user 303 may have distributed catalogs to the customer user 203 (via regular mail, email, etc.) illustrating products, prices, and currencies therefor. The server 100 would receive the same information, that is. data representing the same products, prices and currencies from the merchant user 303. This data may be received by the server 100 electronically over the network 50 or by some other means. For example, the merchant user 303 might provide the data representing the products, prices and currencies therefor via a network to which the customer computer 200 is not connected or by mail on a diskette. However received, this data would be accessible by the server 100. After viewing the catalog, the customer user 203 may purchase a product over the network 50. In this case, the customer computer 200 transmits to the server 100 a description of a desired product (e.g.. model number) and an amount in the customer selected currency A(CSC) for the desired product. The server 100 thus has access to data indicating the amount in the customer selected currency A(CSC) which the customer user 203 is willing to pay for a product and the price in the merchant accepted currency P(MAC) which the merchant user 303 is willing to accept for the product. With this data, the server 100 approves the transaction as indicated above. In any of the foregoing embodiments, notice of approval of the transaction may be provided by the server 100 to the merchant user 303 and the customer user 203. For example, the server 100 may transmit data indicating approval to the merchant computer 300. After the merchant computer 300 receives the data indicating approval, the merchant computer 300 may transmit at least a portion of the data indicating approval to the customer computer 200. In a similar manner, data indicating approval may be communicated from the server 100 to the customer computer 200, which, in turn, would forward this data to the merchant computer 300. In this manner, the customer user 203 and the merchant user 303 may be informed that the transaction was approved. Alternatively, the server 100 may separately transmit data indicating approval to the merchant computer 300 and the customer computer 200. In yet another embodiment, the absence of notice from the server 100 may be deemed as affirmative notice that the transaction was approved. According to any of these procedures, or other preestablished procedures, notice may be provided to the participants in the transaction. Further, once notice of approval is provided, the product which is the subject of the transaction may be provided to the customer user 203 and the payment of the funds corresponding to the agreed price will be received by the merchant user 303 in the merchant accepted currency. Actual settlement may occur contemporaneously with the approval of the transaction or it may be deferred. As is described below, it is the entity charged with performing the actual settlement who bears the risk. We prefer that the server 100 perform actual settlement of the transaction. Therefore, according to this aspect of the present invention, the server 100 also has its own server accounts. The server accounts are in currencies corresponding to the currencies of the customer and merchant accounts. The server accounts represent real cash, credit, etc. corresponding to the electronic funds stored in the customer and merchant accounts. To perform actual settlement, the server 100 may transmit data to a currency broker, bank or financial institution to enable actual settlement. For example, the server 100 may transmit data identifying the server account and the amount in the customer selected currency A(CSC) so that the entity can convert real funds in an amount equal to the amount in the customer selected currency into real funds in the merchant accepted currency. We prefer that the server 100 aggregate the amounts in each currency before settling. This may decrease the number of actual conversions that must be made from possibly hundreds per second to a few times per hour (or day). The frequency may vary depending on the volatility of the currency exchange market and on the relative currency balances in the server 100's various currency accounts. Note that the server 100 is bound even if the later currency exchange rates are or become unfavorable to the server 100 as compared to the current exchange rates used during the virtual settlement. By eliminating the risk to the customer user 203 and the merchant user 303, such risk is passed to the server 100. We prefer lo take measures to manage the risk associated with the currency exchange to the server 100. For example, we contemplate that the server 100 may have a preestablished agreement with the bank or financial institution. The terms of such an agreement might include a commitment on the part of the server 100 to settle transactions within a predetermined amount, time, and/or within a predetermined currency rate deviation. The predetermined amount of time may be on the order of several seconds or minutes. During this predetermined amount of time, we prefer that the server 100 aggregate transactions and submit them in batch for exchange. In return for the server 100's commitment, the entity may offer the server 100 a favorable currency exchange rate. It is seen from the above detailed description that customer and merchant obligations relating to multi-currency transactions can be fixed at the time of the transaction. In this manner, risks to these parties heretofore associated with currency exchange is minimized. To this end, the parties to a multi-currency transaction authorize an approving entity to settle the transaction. Authorization is granted by virtue of the customer user 203 and merchant user 303 setting up their respective accounts, knowing that transactions will be submitted and processed. The parties transmit data representing the transaction to the approving authority. This data includes an amount in a first currency that a customer user 203 is willing to pay for a product and a price in a different second currency which a merchant user 303 is willing to accept for the product. Using predetermined criteria, the approving entity approves the transaction. Once the transaction is approved, the approving entity may actually settle the transaction at its discretion thereby bearing the risk associated with currency exchange. The parties, however, incur no risk. The customer user 203 will pay the amount in the first currency and the merchant user 303 will receive the price in the second currency. These are values known and agreed to by the parties at the time of the transaction. An alternate method of managing risk for extremely volatile currencies, the server 100 may choose to withdraw a currency or currencies from the list of convertible currencies. Although the particular embodiments shown and described above will prove to be useful in many applications relating to the arts to which the present invention pertains, further modifications of the present invention herein disclosed will occur to persons skilled in the art. All such modifications are deemed to be within the scope and spirit of the present invention as defined by the appended claims.

Claims: We claim: 1. A system for determining approval of a transaction between a merchant and a customer, wherein the system comprises: a. a merchant device associated with the merchant, wherein the merchant device has a first set of data including a product price in a first currency; b. a customer device associated with the customer, wherein the customer device has a second set of data including a first amount in a second currency; and c. a server device connected to both said customer device and said merchant device for receiving said first and second sets of data and for approving the transaction when said first amount in said second currency is within a risk range of said price in said first currency in accordance with current exchange rates. 2. The system of Claim 1, wherein said server converts said first amount in said second currency into an amount in said first currency and wherein the server approves the transaction when said amount in said first currency is within a risk range of said price in said first currency in accordance with current exchange rates. 3. The system of Claim 1 , wherein said server has an account associated with the customer and wherein said account includes a second amount in said second currency and said server deducts said f irst amount in said second currency from said second amount in said second currency. 4. The system of Claim 1, wherein said server has a second account in said first currency associated with the merchant and wherein said server adds said price in said first currency to said second account. 5. The system of Claim 1, wherein when said price exceeds said first amount, said server records the insufficiency. 6. The system of Claim 1 , wherein said server has an account associated with the customer and records said price in said account in accordance with current exchange rates. 7. The system of Claim 1, wherein said customer device further has a plurality of customer currencies, wherein said customer currency in said first set of data is selected from said plurality of customer currencies. 8. The system of Claim 7, wherein said customer currency in said first set of data is selected by determining the smallest amount in said plurality of customer currencies of the price in the merchant currency. 9. The system of Claim 1 , wherein said server is for receiving said plurality of customer currencies from said customer device and for determining the smallest amount in said plurality of customer currencies of the price in the merchant currency. 10. The system of Claim 1 , wherein said risk range is predetermined. 11. The system of Claim 10, wherein said predetermined risk range is associated with an individual. 12. A system for determining approval of a transaction between a merchant and a customer, wherein the transaction includes the merchant providing a product to the customer at a price in a first merchant currency, wherein the price in the first merchant currency is known by the customer, wherein the system comprises: a. a customer device associated with the customer, wherein the customer device has a first set of data including a customer amount in a customer currency; and b. a server connected to said customer device having the merchant price in the first merchant currency, for receiving said first set of data, and for approving the transaction when said customer amount in said customer currency is within a risk range of said price in said merchant currency in accordance with current exchange rates. 13. The system of Claim 12, wherein said server has an account associated with the customer and wherein said account includes a second amount in said customer currency and said server deducts said amount in said customer currency from said second amount in said customer currency. 14. The system of Claim 12, wherein when said price exceeds said first amount said server records the insufficiency. 15. The system of Claim 12, wherein said server has a second account in said merchant currency associated with the merchant and wherein said server adds the price in said merchant currency to said second account. 16. The system of Claim 12, wherein said customer device further has a plurality of customer currencies, wherein said customer currency in said first set of data is selected from said plurality of customer currencies. 17. The system of Claim 16, wherein said customer currency in said first set of data is selected by determining the smallest amount in said plurality of customer currencies of the price in the merchant currency. 18. The system of Claim 12, wherein said server is for receiving said plurality of customer currencies from said customer device and for determining the smallest amount in said plurality of customer currencies of the price in the merchant currency. 19. The system of Claim 12, wherein said risk range is predetermined. 20. A transactional system between a customer and a merchant, comprising: a. a merchant device associated with the merchant having a product price in a merchant currency; and b. a customer device associated with the customer having an amount in a customer currency, wherein said customer device is in secure communication with said merchant device, wherein said customer currency is different from said merchant currency, and wherein said customer device is for transmitting said product price in said merchant currency to said merchant device in accordance with current exchange rates. 21. The transactional system of Claim 20, wherein said customer currency is a selected customer currency, wherein said customer device further comprises a plurality of customer currencies, and wherein said selected customer currency is selected from said plurality of customer currencies. 22. The transactional system of Claim 20, wherein said merchant currency is a selected merchant currency, wherein said merchant device further comprises a plurality of merchant currencies, wherein said merchant device transmits at least a portion of said plurality of currencies to said customer device, and wherein said customer device selects said selected merchant currency for transmittal of said product price in said selected currency thereto. 23. The transactional system of Claim 20, wherein said transmittal occurs without any prior agreement of said current exchange rate between the customer and the merchant. 24. A method for determining approval of a transaction between a merchant having a merchant device and a customer having a customer device, wherein the merchant device and the customer device are connected to a server, wherein the method comprises: a. transmitting a first set of data from the merchant device to the customer device, wherein said first set of data includes a merchant price in a first merchant currency; b. receiving said first set of data by the customer device, wherein said customer device has a second set of data including a customer amount in a first customer currency, and transmitting said first and said second sets of data by the customer device to the server; and c. transmitting said first and second sets of data by the customer device to the server. wherein the server is for approving the transaction when said customer amount in said first customer currency is within a risk range of said merchant amount in said merchant currency in accordance with current exchange rates. 25. A method for determining approval of a transaction between a merchant having a merchant device and a customer having a customer device, wherein the merchant device and the customer device are connected to a server, wherein the method comprises: a. transmitting a first set of data from the customer device to the merchant device, wherein said first set of data includes a customer price in a first customer currency; b. receiving said first set of data by the merchant device, wherein said merchant device has a second set of data including a merchant amount in a first merchant currency, and transmitting said first and said second sets of data by the merchant device to the server; and c. transmitting said first and second sets of data by the merchant device to the server, wherein the server is for approving the transaction when said customer amount in said first customer currency is within a risk range of said merchant amount in said merchant currency in accordance with current exchange rates.

Inventors: BOESCH BRIAN PAUL, CROCKER STEPHEN DAVID, EASTLAKE DONALD EGGLESTON III, HART ALDEN SHERBURNE JR, JACKSON ANDREW, LINDENBERG ROBERT A, PAREDES DENISE MARIE, BOESCH, BRIAN, PAUL, CROCKER, STEPHEN, DAVID, EASTLAKE, DONALD, EGGLESTON, III, HART, ALDEN, SHERBURNE, JR., JACKSON, ANDREW, LINDENBERG, ROBERT, A., PAREDES, DENISE, MARIE
Applicants: CYBERCASH INC, CYBERCASH, INC.
Application year: 1997
Main classification: G07F7
IPC codes: G06Q20