US RE40444 E1 Abstract A method, system, program, and method of doing business are disclosed for electronic commerce that includes the feature of a “thin” consumer's wallet by providing issuers with an active role in each payment. This is achieved by adding an issuer gateway and moving the credit/debit card authorization function from the merchant to the issuer. This enables an issuer to independently choose alternate authentication mechanisms without changing the acquirer gateway. It also results in a significant reduction in complexity, thereby improving the ease of implementation and overall performance. Claims 1. A method for electronic commerce, comprising: forming a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; sending from a merchant's computer over an internet network to a consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; sending from said consumer's computer consumer identity and authentication information and said merchant message, to an issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by repairing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; verifying at said issuer gateway said merchant's signature to prove that the consumer is dealing with the actual merchant and validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that at least one of funds and/orand credit are available to support the payment amount, then authorizing payment by sending to the consumer over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; and said merchant's computer receiving said authorization token and fulfilling said order description. 2. The method for electronic commerce of sending from said consumer's computer a start message over the internet network to the merchants computer, to initiate said merchant's message. 3. The method for electronic commerce of 4. The method for electronic commerce of receiving said authorization token; verifying the issuer's signature, digital certificate, the payment amount and merchant identity in the authorization token; verifying the freshness of the authorization token via the timestamp in the token; using the nonce in the authorization token to recognize duplicate tokens; and fulfilling said order description. 5. The method for electronic commerce of 6. The method for electronic commerce of 7. The method for electronic commerce of 8. The method for electronic commerce of 9. The method for electronic commerce of 10. The method for electronic commerce of said dummy card number being shared among all cardholders of a particular issuing bank. 11. The method for electronic commerce of 12. The method for electronic commerce of 13. The method for electronic commerce of 14. The method for electronic commerce of 15. The method for electronic commerce of 16. The method for electronic commerce of 17. The method for electronic commerce of 18. The method for electronic commerce of said issuing bank maintaining a database mapping authorization numbers to card numbers, so that when the issuing bank receives the capture message, it uses the database mapping to determine the consumer's card number. 19. The method for electronic commerce of a digital certificate hierarchy that covers issuing banks, acquiring banks, and merchants. 20. The method for electronic commerce of 21. The method for electronic commerce of 22. The method for electronic commerce of 23. The method for electronic commerce of said merchant certificate identifying the merchant to the consumer and verifying that the merchant is a valid participant of a payment scheme, before the issuing bank provides said authorization token. 24. The method for electronic commerce of the merchant sending the authorization token to the issuer gateway identified in the issuer's digital certificate, including details of a split requirement, such as the amount of a first payment, the merchant authenticating the request by signing it and including the merchant's digital certificate; the issuer gateway verifying that the merchant signing message is the same merchant that signed an original request, verifying the split request according to business and risk management policies, and responding with a new authorization token in a message to the merchant; the merchant forwarding the new authorization token in a capture message the acquirer gateway; the merchant resubmitting the new authorization token to the acquirer gateway min a second message, whenever the merchant has shipped a second part of the shipment. 25. The method for electronic commerce of the issuer offering the consumer a payment schedule conditioned on the merchant name from the merchant's digital certificate and the amount of payment from the initiation message. 26. The method of sending a capture request message including the reference number representing the consumer's card number over the internet from the merchant to an acquirer gateway operating on behalf of an acquirer bank to capture the transaction and disburse payment to the merchant. 27. The method of settling accounts with the issuing bank by the acquiring bank over a private network by sending a settlement message that includes the reference number to the consumer's card number. 28. The method of converting the reference number into the consumer's card number by the issuing bank and applying the transaction amount to the consumer's balance in his credit card or deposit account. 29. The method of proving that the issuing bank authorized the payment to the merchant by the combination of the issuing bank's signature on the authorization token, digital certificate, and the contents of the authorization token, providing undeniable proof that the issuing bank authorized the payment. 30. A system for electronic commerce, comprising: connecting apparatus which forms a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; the merchant's computer sending over an internet network to the consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; the consumer's wallet program in said consumer's computer responsive to said wallet initiation message, for sending from said consumer's computer consumer identity and authentication information and said merchant message, to the issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; the issuer gateway verifying said merchant's signature to prove that the consumer is dealing with the actual merchant and validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; and said merchant sending a capture request message including the reference number representing the consumer's card number over the internet to an acquirer gateway operating on behalf of an acquirer bank to capture the transaction and disburse payment to the merchant. 31. A computer program product, comprising: computer program code forming a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; computer program code means for sending from the merchant's computer over an internet network to the consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; computer program code means for starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; computer program code means for sending from said consumer's computer consumer identity and authentication information and said merchant message, to the issuer gateway for an issuing bank; computer program code at the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; computer program code verifying at said issuer gateway said merchant's signature to prove that the consumer is dealing with the actual merchant and validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; and computer program code at the acquiring bank settling accounts with the issuing bank over a private network by sending a settlement message that includes the reference number to the consumer's card number. 32. A data processing system for electronic commerce, comprising: connecting apparatus which forms a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; sending apparatus which sends from a merchant's computer over an internet network to a consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; means for starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; means for sending from said consumer's computer consumer identity and authentication information and said merchant message, to an issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; means for verifying at said issuer gateway said merchant's signature to prove that the consumer is dealing with the actual merchant and validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that finds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; and the issuing bank converting the reference number into the consumer's card number and applying the transaction amount to the consumer's balance in his credit card or deposit account. 33. The data processing system for electronic commerce of means for sending from said consumer's computer a start message over the internet network to the merchant's computer, to initiate said merchant's message. 34. The data processing system for electronic commerce of 35. The data processing system for electronic commerce of means for receiving said authorization token; means for verifying the issuer's signature, digital certificate, the payment amount and merchant identity in the authorization token; means for verifying the freshness of the authorization token via the timestamp in the token; means for using the nonce in the authorization token to recognize duplicate tokens; and means for fulfilling said order description. 36. The data processing system for electronic commerce of 37. A method for electronic commerce, comprising: forming a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; sending from a merchant's computer over an internet network to a consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; said acquiring bank's digital certificate containing a network address or URL that identifies the network location of said acquiring bank contacted via an internet network as part of a payment protocol; starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; sending from said consumer's computer consumer identity and authentication information and said merchant message, to an issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; verifying at said issuer gateway said merchant's signature to prove that the consumer is dealing with the actual merchant and validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said issuer's digital certificate containing a network address or URL that identifies the network location of the issuer contacted via an internet network as part of a payment protocol; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; said merchant sending a capture request message including the reference number representing the consumer's card number over the internet to an acquirer gateway operating on behalf of an acquirer bank to capture the transaction and disburse payment to the merchant; the acquiring bank settling accounts with the issuing bank over a private network by sending a settlement message that includes the reference number to the consumer's card number; and the issuing bank converting the reference number into the consumer's card number and applying the transaction amount to the consumer's balance in his credit card or deposit account. 38. A method for electronic commerce, comprising: forming a four party payment protocol for electronic sales including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; sending from the consumer's computer consumer to an issuer gateway for an issuing bank, an authorization request message containing consumer identity and authentication information, payment amount, an order description, a timestamp, a digital certificate representing a merchant, and a digital certificate representing the merchant's acquiring bank; said merchant's digital certificate containing a merchant identifier unique for the acquiring bank; said acquiring bank's digital certificate containing a bank identifier unique among all banks sharing a common financial arrangement; validating at said issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant, acquirer, and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce, said merchant identifier from the merchant's digital certificate, and said acquiring bank identifier from said acquiring bank's digital certificate, plus a reference to the consumer's credit or debit card number; said authorization token being digitally signed by the issuing bank; said merchant's computer receiving said authorization token and fulfilling said order description said merchant sending a capture request message including the reference number representing the consumer's card number over the internet to an acquirer gateway operating on behalf of an acquirer bank to capture the transaction and disburse payment to the merchant; the acquiring bank settling accounts with the issuing bank over a private network by sending a settlement message that includes the reference number to the consumer's card number; and the issuing bank converting the reference number into the consumer's card number and applying the transaction amount to the consumer's balance in his credit card or deposit account. 39. The method for electronic commerce of sending from a merchant's computer over an internet network to a consumer's computer, a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank, said wallet initiation message including a payment amount, an order description, and a timestamp; starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; said consumer's wallet program sending the authorization request message. 40. The method for electronic commerce of including with the wallet initiation message a merchant's digital signature of the wallet initiation message; including the wallet initiation message and said merchant's digital signature in the authorization request message; verifying at said issuer gateway said merchant's signature to prove that the consumer is dealing with the actual merchant. 41. The method for electronic commerce of sending from said consumer's computer a start message over the internet network to the merchant's computer, to initiate said merchant's message. 42. The method for electronic commerce of 43. The method for electronic commerce of receiving said authorization token; verifying the issuer's signature, digital certificate, the payment amount and merchant identity in the authorization token; verifying the freshness of the authorization token via the timestamp in the token; using the nonce in the authorization token to recognize duplicate tokens; and fulfilling said order description. 44. The method for electronic commerce of 45. The method for electronic commerce of 46. The method for electronic commerce of the acquiring bank verifying the issuer's signature on the authorization token, validating the issuer's digital certificate, checking for duplicates via the timestamp in the authorization token; and the acquiring bank paying the amount indicated in the authorization token. 47. The method for electronic commerce of 48. The method for electronic commerce of 49. The method for electronic commerce of 50. A method for electronic commerce, comprising: forming a four party payment protocol for electronic sales, the four party payment protocol including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquirer bank computer; sending from the merchant's computer, over an internet network to the consumer's computer, a merchant message including a wallet initiation message, and a digital certificate of a merchant provided by an acquiring bank, said wallet initiation message including a payment amount, an order description, a merchant identifier and a timestamp; starting a consumer's wallet program in said consumer's computer in response to said wallet initiation message; sending from said consumer's computer consumer identity and authentication information and said merchant message, to the issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; verifying at said issuer gateway that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; and sending a capture request message including the reference number representing the consumer's card number over the internet from the merchant to an acquirer gateway operating on behalf of an acquirer bank to capture the transaction and disburse payment to the merchant. 51. The method of providing the merchant's digital signature and matching certificate to the consumer's computer. 52. The method of the issuer gateway signing the authorization token. 53. A method for electronic commerce, comprising: means for forming a four party payment protocol for electronic sales, the four party payment protocol including a consumer's computer coupled to a merchant's computer and to an issuing bank computer via an issuer gateway, the merchant computer being further coupled to an acquiring bank computer; the merchant's computer sending over an internet network to the consumer's computer, a merchant message including a wallet initiation message, and a digital certificate of a merchant provided by an acquiring bank, said wallet initiation message including a payment amount, an order description, a merchant identifier and a timestamp; a consumer's wallet program in said consumer's computer responsive to said wallet initiation message, for sending from said consumer's computer consumer identity and authentication information and said merchant message, to the issuer gateway for an issuing bank; the issuing bank creating a reference number or value representing the consumer's credit or debit card number by preparing a table of credit card or debit card numbers and a corresponding table of reference numbers, the issuing bank pairing the consumer's card number with a selected reference number and outputting the reference number to the issuer gateway; the issuer gateway verifying that the merchant and issuer share a common financial arrangement; said issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over said internet network an authorization token, an issuer's digital certificate, said wallet initiation message, and a reference to said consumer's credit or debit card number; said authorization token including the payment amount, order description, timestamp, a random nonce plus a merchant identifier and a reference to the consumer's credit or debit card number; said merchant's computer receiving said authorization token and fulfilling said order description; and settling apparatus which settles accounts with the issuing bank by the acquiring bank over a private network by sending a settlement message that includes the reference number to the consumer's card number. 54. The system of means for providing the merchant's digital signature and matching certificate to the consumer's computer; and means for issuing gateway to sign the authorization token. 55. A method of operating a four party payment protocol in accordance with a gateway associated with an issuing bank, the method comprising the steps of: receiving at the gateway, from a computer of a consumer, information associated with the consumer computer and a merchant message from a computer of a merchant with which the consumer is engaging in a transaction, the merchant message comprising a wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp; receiving at the gateway, from the issuing bank, a reference number, the reference number having been created by the issuing bank and representing a credit card number or a debit card number of the consumer, the issuing bank maintaining a table of credit card numbers or debit card numbers and corresponding reference numbers wherein the consumer's card number is paired with the reference number; verifying at the gateway an account of the consumer and ensuring that at least one of funds and credit support the payment; and authorizing payment by sending an authorization token, the authorization token comprising the payment amount, the order description, the merchant identifier, the timestamp, and the reference number, wherein the merchant's computer receives the authorization token, initiates fulfillment of the order description, and sends a capture request message comprising the reference number, to an acquirer bank; wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit card number and applies the payment amount to a balance in the account of the consumer. 56. The method of 57. The method of 58. The method of 59. A method of operating a four party payment protocol in accordance with a computer of a merchant, the method comprising the steps of: sending a message from the merchant computer to a computer of a consumer with which the merchant computer is engaging in a transaction, the merchant message comprising a wallet initiation message, the wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp, wherein the merchant message is sent to a gateway associated with an issuing bank, via the consumer computer, along with information associated with the consumer computer; receiving at the merchant computer an authorization token sent by the gateway after the gateway has verified an account of the consumer and ensured that at least one of funds and credit support the payment amount, the authorization token comprising the payment amount, the order description, the merchant identifier, the timestamp, and a reference number, the reference number having been created by the issuing bank and representing a credit card number or a debit card number and corresponding reference numbers wherein consumer's card number is paired with the reference number; initiating fulfillment of the order description at the merchant computer; and sending from the merchant computer to an acquirer bank, a capture request message comprising the reference number, wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit card number and applies the payment amount to a balance in the account of the consumer. 60. The method for electronic commerce of 61. The method for electronic commerce of 62. The method for electronic commerce of 63. The method for electronic commerce of 64. The method for electronic commerce of 65. The method for electronic commerce of 66. The method for electronic commerce of said dummy card number being shared among all cardholders of a particular issuing bank. 67. The method for electronic commerce of 68. The method for electronic commerce of 69. The method for electronic commerce of 70. The method for electronic commerce of 71. The method for electronic commerce of a digital certificate hierarchy that covers issuing banks, acquiring banks, and merchants. 72. The method for electronic commerce of 73. The method for electronic commerce of 74. The method for electronic commerce of 75. The method for electronic commerce of said merchant certificate identifying the merchant to the consumer and verifying that the merchant is a valid participant of a payment scheme, before the issuing bank provides said authorization token. 76. A method of providing at least a part of a four party payment service, the part of the service being provided in accordance with a gateway associated with an issuing bank, the method comprising the steps of: receiving at the gateway, from a computer of a consumer, information associated with the consumer computer and a merchant message from a computer of a merchant with which the consumer is engaging in a transaction, the merchant message comprising a wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp; receiving at the gateway, from the issuing bank, a reference number, the reference number having been created by the issuing bank and representing a credit card number or a debit card number of the consumer, the issuing bank maintaining a table of credit card numbers or debit card numbers and corresponding reference numbers wherein the consumer's card number is paired with the reference number; verifying at the gateway an account of the consumer and ensuring that at least one of funds and credit support the payment amount; and authorizing payment by sending an authorization token, the authorization token comprising the payment amount, the order description, the merchant identifier, the timestamp, and the reference number, wherein the merchant's computer receives the authorization token initiates fulfillment of the order description, and sends a capture request message comprising the reference number, to an acqirer bank; wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit care number and applies the payment amount to a balance in the account of the consumer. 77. The method of 78. The method of 79. The method of 80. A method of providing at least a part of a four party payment service, the part of the service being provided in accordance with a computer of a merchant, the method comprising the steps of: sending a message from the merchant computer to a computer of a consumer with which the merchant computer is engaging in a transaction, the merchant message comprising a wallet initiation message, the wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp, wherein the merchant message is sent to a gateway associated with an issuing bank, via the consumer computer, along with information associated with the consumer computer; receiving at the merchant computer an authorization token sent by the gateway after the gateway has verified an account of the consumer and ensured that at least one of funds and credit support the payment amount, the authorization token comprising the payment ampunt, the order description, the merchant identifier, the timestamp, and a reference number, the reference number having been created by the issuing bank and representing a credit card number or a debit card number and corresponding reference numbers wherein the consumer's card number is paired with the reference number; initiating fulfillment of the order description at the merchant computer; and sending from the merchant computer to an acquirer bank, a capture request message comprising the reference number, wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit card number and applies the payment amount to a balance in the account of the consumer. 81. A method of operating a four party payment protocol in accordance with a gateway associated with an issuing bank, the method comprising the steps of: receiving at the gateway, from a computer of a consumer, information associated with the consumer computer and a merchant message from a computer of a merchant with which the consumer is engaging in a transaction, the merchant message comprising a wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp; receiving at the gateway, from the issuing bank, a reference number, the reference number having been created by the issuing bank representing a credit card number or a debit card number of the consumer, the issuing bank maintaining a mapping of credit card numbers or debit card numbers and corresponding reference numbers wherein the consumer's card number is paired with the reference number; verifying at the gateway an account of the consumer and ensuring that at least one of funds and credit support the payment amount; and authorizing payment by sending an authorization token, the authorization token comprising the payment amount, the order description, the merchant identifier, the timestamp, and the reference number, wherein the merchant's computer receives the authorization token initiates fulfillment of the order description, and sends a capture request message comprising the reference number, to an acquirer bank; wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit card number and applies the payment amount to a balance in the account of the consumer. 82. The method of 83. The method of 84. The method of 85. A method of operating a four party payment protocol in accordance with a computer of a merchant, the method comprising the steps of: sending a message from the merchant computer to a computer of a consumer with which the merchant computer is engaging in a transaction, the merchant message comprising a wallet initiation message, the wallet initiation message comprising a payment amount, an order description, a merchant identifier and a timestamp, wherein the merchant message is sent to a gateway associated with an issuing bank, via the consumer computer, along with information associated with the consumer computer; receiving at the merchant computer an authorization token sent by the gateway after the gateway has verified an account of the consumer and ensured that at least one of funds and credit support the payment amount, the authorization token comprising the payment ampunt, the order description, the merchant identifier, the timestamp, and a reference number, the reference number having been created by the issuing bank and representing a credit card number or a debit card number and corresponding reference numbers wherein the consumer's card number is paired with the reference number; initiating fulfillment of the order description at the merchant computer; and sending from the merchant computer to an acquirer bank, a capture request message comprising the reference number, wherein the acquirer bank captures the transaction and disburses payment to the merchant; and further wherein the issuing bank, in response to a message from the acquirer bank, converts the reference number into the consumer's credit or debit card number and applies the payment amount to a balance in the account of the consumer. Description This application is a reissue application for U.S. Pat. No. 6,327,578 issued Dec. 4, 2001 on U.S. Ser. No. 09/221,869 filed Dec. 29, 1998. The invention disclosed broadly relates to computer networks and more particularly relates to electronic commerce. Electronic commerce is projected to grow at a high rate and this will have a significant impact on the financial industry. Estimates for 1998 are 700 million dollars worth of total revenues. Further growth promises $1 trillion by 2010. No financial institution will be left unaffected by the rapid growth of electronic commerce. One obstacle that can inhibit this growth, however, is the lack of secure electronic payments. Consumers and merchants are wary of transmitting their payment information over open networks such as the Internet and this caution affects the interest of merchants and financial institutions. The technology of electronic commerce has adopted a number of terms that need to be defined in order to discuss the prior art and the invention. A short glossary of such terms follows.
The prior art SET Secure Electronic Transaction™ (trademark and service mark owned by SET Secure Electronic Transaction LLC) protocol has been developed as a method to secure bankcard transactions over public networks. SET is an open standard, multi-party protocol for conducting secure bankcard payments over the Internet. SET provides message integrity, authentication of all financial data, and encryption of sensitive data. SET is a 3-party protocol involving a cardholding consumer, a merchant, and a payment gateway operating on behalf of the acquiring bank, as shown in FIG. 1. When a consumer is ready to buy something from a merchant on the internet using a credit or debit card, the consumer's computer 102 sends a consumer payment request over internet path 120 to the merchant's computer 104, in a first step. The merchant's computer 104 forwards the consumer's payment request over internet path 122 during a second step to an acquirer gateway 106 operating on behalf of the acquirer bank 108. The acquirer gateway 106 passes the consumer's payment request to the acquirer bank 108 over a private network path 122′. The acquirer bank 108 sends the consumer's payment request to the card issuing bank 112 over the private network path 124 to check whether the consumer's credit or debit card account is active and sufficient for the proposed transaction with the merchant. The issuing bank 112, as the card issuer, authorizes the transaction in a message sent over private path 126 to the acquiring bank 108. The acquiring bank 108 sends the transaction authorization over private path 128′ to the acquirer gateway 106, signing the message with the acquiring bank's digital signature. The acquirer gateway 106 forwards it over the internet path 128 to the merchant, authorizing the merchant to proceed with the transaction. Once the merchant has received the transaction authorization from the acquirer gateway 106, the merchant completes the sales transaction with the consumer. Then later, the merchant sends a message over internet path 142 to the acquirer gateway 106 to capture the transaction and get paid. The acquirer gateway then sends a payment message over path 144 to the merchant. The acquiring bank 108 may participate in some or all of the payment steps over private network paths 142′ and 144′. Then, at the end of the business day, the acquiring bank will settle accounts with the issuing bank 112 over the private network. Some implementors of SET are providing “thin” wallets, where all or some of the wallet function are implemented in server systems rather than in consumer-controlled machines. Where the wallet servers are run by issuing banks, it would be desirable to have the wallet serves directly authorize transactions before they are submitted to merchants. This would save the time and complexity required when the merchants obtain authorization from issuers through the merchant's acquiring banks. It would also be desirable to expand the cardholder authentication methods supported by the SET protocol, to enable an issuer to independently choose alternate authentication mechanisms without changing the acquiring gateway. As with any system, it would also be desirable to simplify the SET protocol in order to enable its easier implementation and to improve its overall performance. The invention disclosed herein is a method, system, program, and method of doing business for electronic commerce that expands the role of a “thin” consumer's wallet by providing issuers with an active role in each payment. This is achieved by adding an issuer gateway and moving the credit/debit card authorization function from the merchant to the issuer. This enables an issuer to independently choose alternate authentication mechanisms without changing the acquirer gateway. It also results in a significant reduction in complexity, thereby improving the ease of implementation and overall performance. The method of the invention includes the step of sending from a consumer's computer a start message over an internet network to a merchant's computer. The merchant's computer then replies to the consumer's computer with a merchant message including a wallet initiation message, a merchant digital signature, and a digital certificate from an acquiring bank. The wallet initiation message includes a payment amount, an order description, a timestamp, and a nonce. This starts a consumer's wallet program in the consumer's computer in response to the wallet initiation message. The consumer's computer then sends over the internet network some consumer identity and authentication information, such as a userid and user password, plus the merchant message, to an issuer gateway operating on behalf of an issuing bank. The issuer gateway verifies the merchants signature to prove that the consumer is dealing with the actual merchant and validates the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement. The issuer gateway then verifies that the consumer's account is active and has sufficient funds and/or credit to support the payment amount. The issuer gateway then pre-authorizes payment by sending over the internet network an authorization token, an issuer's digital certificate, the wallet initiation message, and a reference value representing the consumer's credit or debit card number. The authorization token includes the payment amount, order description, timestamp, a random nonce plus a merchant identifier and the reference to the consumer's credit or debit card number. The issuer gateway signs the authorization token. This information can be sent either to the consumer or to the merchant to fulfill the order description. If sent to the consumer, the consumer forwards the authorization token to the merchant. The merchant verifies the issuer's signature, issuer's digital certificate, and authorization token contents to validate that the payment is authorized by the issuer. Once the merchant has received the authorization token from the issuer gateway, the merchant completes the sales transaction with the consumer. Then later, the merchant sends a message, including the reference value representing the consumer's card number, over the internet to an acquirer gateway operating on behalf of an acquirer bank, to capture the transaction and get paid. The acquiring bank will settle accounts with the issuing bank over a private network by sending a settlement message that includes the reference to the consumer's card number. The issuing bank will convert the reference value into the consumer's card number and apply the transaction amount to the consumer's balance in his credit card or deposit account. If the transaction is later disputed, the merchant can prove that the issuer authorized the payment by producing a copy of the authorization token. The combination of the issuer's signature on the authorization token, the issuer's digital certificate, and the contents of the authorization token provide undeniable proof that the issuer authorized the payment. If privacy is desired, the communication among the consumer wallet, issuer gateway, and merchant can be protected via the Secure Socket Layer (SSL) protocol. SET was designed for both Web and email use. The start and wallet initiation messages described above would not be used in an email implementation, however, the rest of the invention would not change. The contents of the wallet initiation message in an email implementation comes from another source, such as a CD-ROM, in which case, it could not be signed. In this manner, a “thin” wallet is enabled for the consumer in an electronic commerce protocol that is significantly simpler than the SET protocol, and that pre-authorizes payments thereby improving overall performance and enabling greater flexibility for issuer in the authentication of cardholders. Another feature of the invention is providing a financial institution's digital certificate containing a network address or URL that identifies the network location of the financial institution contacted via an internet network as part of a payment protocol. This can be applied to both the issuing bank and the acquiring bank. Many other features of the invention are also disclosed. The acquiring bank's digital certificate can contain a network address or URL that identifies the network location of the acquiring bank contacted via an internet network as part of a payment protocol. The issuer gateway 214 verifies the merchant's signature to prove that the consumer is dealing with the actual merchant and validates the merchant's certificate and the acquirer's certificate to prove that the merchant and issuer share a common financial arrangement. The issuer gateway 214 then verifies that the consumer's account is active and has sufficient funds and/or credit to support the payment amount. Then, as shown in The issuing bank's digital certificate can contain a network address or URL that identifies the network location of the issuing bank contacted via an internet network as part of a payment protocol. Once the merchant 204 has received the authorization token 254 from the issuer gateway 214, the merchant 204 completes the sales transaction with the consumer 202. Then later, the merchant 204 sends a capture request message 256 over path 242, including the reference number 252′ representing the consumer's card number, over the internet to an acquirer gateway 206 operating on behalf of an acquirer bank 208, to capture the transaction and get paid. The acquiring bank 208 will settle accounts with the issuing bank 212 over a private network shown in If the transaction is later disputed, the merchant 204 can prove that the issuer 212 authorized the payment by producing a copy of the authorization token 254. The combination of the issuer's signature on the authorization token, the issuer's digital certificate, and the contents of the authorization token provide undeniable proof that the issuer authorized the payment. If privacy is desired, the communication among the consumer wallet, issuer gateway, and merchant can be protected via the Secure Socket Layer (SSL) protocol. The invention can be applied to both the internet World Wide Web and to email use. The start message 220 and wallet initiation messages 222 described above would not be used in an email implementation, however, the rest of the invention would not change. The contents of the wallet initiation message in an email implementation comes from another source, such as a CD-ROM, in which case, it could not be signed. In this manner, a “thin” wallet is enabled for the consumer in an electronic commerce protocol that is significantly simpler than the SET protocol, and that pre-authorizes payments, thereby improving overall performance and enabling greater flexibility for issuer in the authentication of cardholders. The invention includes the use of a variety of methods to perform authentication of the consumer with the issuer gateway 214. Examples include a userid and a password, an ATM debit card number and PIN, a smart card's account number and a symmetric Message Authentication Code (MAC), a smart card's account number and asymmetric digital signature, a consumer's digital signature and digital certificate, a consumer's a user account number and a symmetric MAC or asymmetric digital signature , a user account number and an asymmetric digital signature, or a consumer's biometric signal. This wide choice of authentication methods between the consumer and the issuer gateway is possible because issuers have an active role in each payment. This enables an issuer to independently choose alternate authentication mechanisms without changing the acquirer gateway. The resulting invention has many advantages. It fits well with server-based (thin) wallets (which would operate in the issuer gateways). It separates the authentication technology used between the consumer and issuing bank from the remainder of the payment protocol. It permits each issuing bank to determine how it will authenticate its consumers (e.g. userid/password, symmetric or asymmetric keys with or without digital certificates or smart cards, other security hardware). It avoids the use of digital certificates for consumers. It pre-authorizes payments, eliminating the cost and delay of real-time authorization through the private network between the acquirer and the issuer. It reduces overhead for merchant and payment gateway, since payments are authorized before they reach the merchant, and since much less cryptography is required. It provides protection for the credit or debit card number, without using encryption. It complies with U.S. export laws and foreign cryptography usage laws by not using any encryption. It has potential for lower development and testing costs (compare to SET) because of a simpler design. Examples of the simpler design include avoidance of encryption; elimination of the requirement for consumer certificates; and avoiding any requirement for the consumer wallet to validate certificates, generate digital signatures, or verify digital signatures. The invention supports Japanese Payment Options and other issuer-based payment features in a manner simpler than SET. A more detailed discussion of the protocol steps follows: 1. In II. In 3. In 4. In Note that the authorization token is “bound” to the particular payment by the reference to the consumer's credit card number, merchant identifier, payment amount, timestamp, and nonce. This means that a specific authorization token is good for just one payment. 5. In 6. In Note that the consumer wallet software necessarily provides very little function in this design. Most of the payment protocol function is performed in the issue gateway. At minimum, the wallet provides some method of authenticating the consumer to the issuer gateway, as discussed below. If consumer wallets are shared among issuers, then the authentication scheme must be shared, but the authentication data (e.g. smart card) could be different for each issuer. If consumer wallets are not shared among multiple issuers, as shown in The consumer wallet must provide payment request timeout and retry functions. Most other functions can be placed in either the consumer wallet or the issuer gateway. These include most of the user interface, the payment inquiry function, the payment transaction log, support for multiple consumer cards, and support for payment selection. Implementing these functions at the consumer machine would result in a “fat” wallet; implementing them in the issuer gateway would result in a “thin” wallet. Message processing functions (parsing and checking incoming messages, generating complex outgoing messages) are much simpler than in SET, since no encryption is used; the wallet need not examine the merchant's data in step 1 and the authorization token from step 2; and the wallet neither generates nor verifies signatures. The merchant, acquirer gateway, and issuer gateway should implement replay detection both to handle error retries and to defined against malicious replay attacks. At step 4, the issuer gateway includes a “reference” to the consumers card number in the authorization token. If the actual card number were used, the authorization token—or at least the card number—would have to be encrypted in steps 3, 4, and 5. Instead, the 4-party protocol uses a “reference”, which can be composed in either of the following ways:
To support this design, the authorization token would include a dummy card number for use in routing the payment to the appropriate issuer. This dummy card number could be shared among all cardholders using this 4-party protocol. Either of these alternatives can support interfacing to the existing capture networks that interconnect acquiring and issuing banks. The 4-party protocol is supported by a certificate hierarchy that covers issuing banks, acquiring banks, and merchants. The certificate hierarchy is used with standard asymmetric (public-key) digital signatures to identify the protocol participants to each other. The certificates represent the common financial agreements and obligations among these parties. In particular, the issuing bank certificates identify and help authenticate issuing banks to merchants, providing a basis for the merchants to trust the authorization tokens provided by the issuing banks. The acquiring bank and merchant certificates identify and help authenticate the corresponding participants to issuing banks. This serves several purposes: (a) identifies the merchant to the consumer; (b) verifies that the merchant is a valid participant of the payment scheme before the issuing bank provides an authentication token; (c) helps deter some forms of attack on issuing banks by requiring participation of both a consumer and merchant in an attack. The certificate hierarchy is illustrated in the following Table I:
Consumer certificates are not required, since the consumer authenticates to the consumer's own issuing bank. The consumer and bank have a long-term established relationship, so the bank can keep a data base containing the symmetric or asymmetric key required to authenticate the consumer. X.509 or other established digital certificate formats are used. Each certificate identifies the certificate owner by name, physical address, network address, and so forth. In particular, the issuing gateway's certificate should contain the issuing gateway's network address to support split, recurring, and installment payments as described below. The merchant's certificate should contain the merchant's name, address, and contact information to assist in dispute resolution. The merchant's certificate should identify the acquiring bank that holds the merchant's business account used to settle payments. The certificate hierarchy must be rooted by an authority jointly trusted by the banks. The root could be run by individual credit or debit brand associations, such as MasterCard, Visa, or the ATM network associations, by a national regulator such as the Federal Reserve, or by an international organization such as the WTO or World Bank. The choice of who runs the root is associated with the question of who establishes and enforces the business and regulatory arrangements between the issuing and acquiring banks. If national or international commercial laws define these arrangements (as with paper checks), then a public organization would be appropriate. If private bilateral or multi-lateral banking contracts define these arrangements, then financial associations (such as MasterCard or Visa) might operate the root. The organization of the certificate hierarchy should reflect the business arrangements. Possible arrangements could include separate hierarchies for separate countries or financial associations (e.g. one hierarchy for Visa, and another for MasterCard); a shared hierarchy as with SET (e.g. an industry root that grants certificates to sub-trees for financial associations or countries); or other variations. An advantage of this design is the fact that the issuing bank can choose the technology used to authenticate the consumer to the issuer gateway. Possibilities include many standard techniques common in the industry:
End-user authentication involves a complex trade-off between cost, security, risks, portability and end-user convenience. Furthermore, the trade-offs change over time as new user authentication technology is invented. Unlike SET, the 4-party protocol design allows individual issuing banks to make their own choices for their customers, independently of the digital certificate technology used to authenticate merchants to issuers, and banks to each other. SET provides the following features:
Split shipments are supported in the 4-party protocol by an additional message interaction between the merchant and issuer gateway, as shown in FIG. 4. When the merchant discovers that it needs to split a shipment, it sends the authorization token from step 3 to the issuer gateway identified in the issuer's digital certificate. This is a message merchant request message on path 402 of FIG. 4. The merchant includes the details of the split requirement, such as the amount of the first payment. The merchant authenticates the request by signing it and including the merchant's digital certificate. The issuer gateway can verify that the merchant signing message is the same merchant that signed the merchant request message. The issuer gateway verifies the split request according to its business and risk management policies, and responds with a new authorization token in a message on path 402 of FIG. 4. Consumer confirmation of split shipments is sent on pad 410 in step S. In step 6, the merchant forwards the new authorization token in the capture message on path 242 of The 4-party protocol can support recurring and installment features by a combination of additional information in the authorization token, and messages on paths 402 and 242 of FIG. 4. Specifically, the steps of the basic protocol are modified as follows:
SET supports a special business arrangement that is common in Japan. Issuing banks and merchants attract customers and business by offering installment and other payment arrangements that are managed by the banks rather than the merchants. This involves a very complex protocol among all the SET participants. The 4-party protocol facilitates this feature because the consumer wallet and issuer gateway directly interact. Specifically, at step 4 of the protocol on path 226 of Many variations of this 4-party design are possible. A principle one is shown in FIG. 4. This variation has the same four steps as the basic design, but the authorization token is sent directly from the issuer gateway to the merchant. Specifically:
Note that the authorization token is “bound” to the particular payment by the reference to the consumer's credit card number, merchant identifier, payment amount, timestamp, and nonce. This means that a specific authorization token is good for just one payment.
The difference between this and the base design is that the issuer gateway sends the authorization token directly to the merchant, instead of relaying it through the consumer wallet. The primary advantage of this design is that it matches a “thin” wallet design by moving responsibility for error recovery to the issuer gateway. The disadvantage is that the consumer wallet (and hence the consumer) has less opportunity to be aware of the progress of the payment. The principle of operation of the invention applies to both non-interactive internet communications such as email, as well as to interactive applications such as the World Wide Web. The method of the invention includes the step of sending from a consumer's computer to an issuer gateway for an issuing bank, an authorization request message containing consumer identity and authentication information, payment amount, an order description, a timestamp, a digital certificate representing a merchant, and a digital certificate representing the merchants acquiring bank. Then the method continues with the merchant's digital certificate containing a merchant identifier unique for the acquiring bank. Then the method continues with the acquiring bank's digital certificate containing a bank identifier unique among all banks sharing a common financial arrangement. Then the method continues with the step of validating at the issuer gateway the merchant's certificate and the acquirer's certificate to prove that the merchant, acquirer, and issuer share a common financial arrangement. Then the method continues with the step of the issuer gateway verifying the consumer's account and ensuring that funds and/or credit are available to support the payment amount, then authorizing payment by sending over the internet network an authorization token, an issuer's digital certificate, and a reference to the consumer's credit or debit card number. Then the method continues with the authorization token including the payment amount, order description, timestamp, a random nonce, the merchant identifier from the merchant's digital certificate, and the acquiring bank identifier from the acquiring bank's digital certificate, plus a reference to the consumer's credit or debit card number. Then the method continues with the authorization token being digitally signed by the issuing bank. Then the method continues with the step of merchant's computer receiving the authorization token and fulfilling the order description. The method can include the feature of sending from a merchant's computer over an internet network to a consumer's computer, a merchant message including a wallet initiation message, a merchant digital certificate, and a digital certificate from an acquiring bank, the wallet initiation message including a payment amount, an order description, and a timestamp. Then the method starts a consumer's wallet program in the consumer's computer in response to the wallet initiation message. Then the consumer's wallet program sends the authorization request message. The method can include the feature of including with the wallet initiation message a merchant's digital signature of the wallet initiation message, including the wallet initiation message and the merchant's digital signature in the authorization request message, and verifying at the issuer gateway the merchant's signature to prove that the consumer is dealing with the actual merchant. The merchant's computer can perform the steps of receiving the authorization token, verifying the issuer's signature, digital certificate, the payment amount and merchant identity in the authorization token, verifying the freshness of the authorization token via the timestamp in the token, using the nonce in the authorization token to recognize duplicate tokens, and fulfilling the order description. The merchant can claim payment through the acquiring bank by forwarding the customer reference number and payment amount to the acquiring bank. In the case of a subsequent dispute, the merchant proves payment authorization by submitting a copy of the authorization token and issuer's digital certificate to the acquiring bank. The acquiring bank verifies the issuer's signature on the authorization token, validates the issuer's digital certificate, checks for duplicates via the timestamp in the authorization token, and then the acquiring bank pays the amount indicated in the authorization token. The authorization request message and authorization token can include a hash of an order description instead of the actual order description, the order description itself being available separately at the merchant, the merchant validating that the authorization token refers to the same order description by comparing the hash of the order description in the authorization token against a locally-computed hash of the same order description. Although specific embodiments of the invention have been disclosed, it will be understood by those skilled in the art that changes can be made to those specific embodiments without departing from the spirit and the scope of the invention. Patent Citations
Non-Patent Citations
Referenced by
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||