[go: up one dir, main page]

NL2019931B1 - Transaction protocol and devices - Google Patents

Transaction protocol and devices Download PDF

Info

Publication number
NL2019931B1
NL2019931B1 NL2019931A NL2019931A NL2019931B1 NL 2019931 B1 NL2019931 B1 NL 2019931B1 NL 2019931 A NL2019931 A NL 2019931A NL 2019931 A NL2019931 A NL 2019931A NL 2019931 B1 NL2019931 B1 NL 2019931B1
Authority
NL
Netherlands
Prior art keywords
computer
consumer
transaction
bank
bank computer
Prior art date
Application number
NL2019931A
Other languages
Dutch (nl)
Inventor
Marie Peter Smeets Robert
Coenraad Henricus Hes Daniel
Original Assignee
Tri Finance Nederland B V
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tri Finance Nederland B V filed Critical Tri Finance Nederland B V
Priority to NL2019931A priority Critical patent/NL2019931B1/en
Application granted granted Critical
Publication of NL2019931B1 publication Critical patent/NL2019931B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • G06Q20/027Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A transaction protocol in a transaction system is disclosed. The transaction system comprises a merchant bank 5 computer, an intermediate bank computer and a consumer bank computer. The protocol enables a transaction between a consumer computer and a merchant computer and comprises a number of steps. One step comprises the intermediate bank computer transmitting to the consumer bank computer an 10 authorization request message comprising transaction information and instructing the consumer bank computer to generate retrieval information, e.g. a URL, for retrieving the transaction information from the consumer bank computer. This step is performed based on an identifier of the consumer bank 15 computer present in at least one transaction request message received from the merchant bank computer, wherein the at least on transaction request message further comprises the transaction information. Another step comprises in response to receiving a message comprising the retrieval information from 20 the consumer bank computer, the intermediate bank computer transmitting a message comprising the retrieval information to the merchant bank computer. A further step comprises in response to receiving a confirmation message from the consumer bank computer at the intermediate bank computer, wherein the 25 confirmation message comprises an indication that the transaction has been authorized, initiating a transaction process based on said transaction information.

Description

Transaction protocol and devices
FIELD OF THE INVENTION
This disclosure relates to a transaction protocol in a transaction system, a transaction system and computers involved in the transaction protocol.
BACKGROUND A protocol for executing an online payment in a transaction system is known from document "iDEAL Merchant Integratie Gids" (version 3.3.1, February 2105). The protocol involves four parties, namely a consumer controlling a consumer computer, a merchant controlling a merchant computer, the consumer's bank controlling a consumer bank computer and the merchant's bank controlling a merchant bank computer. The merchant operates a web shop and the online payment method is executed when the consumer visits the web shop and indicates that he wants to purchase a product. The consumer can then select his own bank and subsequently, the merchant bank computer and the consumer bank computer exchange messages according to a specific protocol. After suitable messages have been exchanged, the consumer will be redirected to an authorization web page of his own bank, where he can authorize the payment. Once the payment has been authorized by the consumer using his consumer computer, the consumer bank computer initiates an irrevocable money transfer to the merchant bank computer. Then, in response to a message received from the merchant bank computer comprising a request for a status update of the transaction, the consumer bank computer sends a message to the merchant bank computer comprising a confirmation that the money has been transferred. The merchant can then safely deliver the product to the consumer, because payment is guaranteed.
In this protocol, the consumer bank computer and the merchant bank computer exchange messages in accordance with a specific XML standard.
Preferably, new consumer bank computers are added to the transaction system frequently, because the more consumer bank computers are introduced, the more customers are able to engage in an online transaction using the protocol. However, before a new consumer bank computer can be added, it must first be configured to transmit, receive and process messages that adhere to a predefined standard, namely to the XML standard mentioned above, which is cumbersome because the consumer bank must be able to receive, process and transmit numerous types of messages, such as messages comprising a transaction request received from the merchant bank computer and messages comprising a request for a status update and messages comprising a confirmation of the money transfer.
Hence, there is a need in the art for a transaction protocol wherein new consumer bank computers can be more easily added to the transaction system.
SUMMARY
To that end a transaction protocol in a transaction system is disclosed. The transaction system comprises a merchant bank computer, an intermediate bank computer and a consumer bank computer. The protocol enables a transaction between a consumer computer and a merchant computer and comprises a number of steps. One step comprises the intermediate bank computer transmitting to the consumer bank computer an authorization request message comprising transaction information and instructing the consumer bank computer to generate retrieval information, e.g. a URL, for retrieving the transaction information from the consumer bank computer. This step is performed based on an identifier of the consumer bank computer present in at least one transaction request message received from the merchant bank computer, wherein the at least on transaction request message further comprises the transaction information. Another step comprises in response to receiving a message comprising the retrieval information from the consumer bank computer, the intermediate bank computer transmitting a message comprising the retrieval information to the merchant bank computer. A further step comprises in response to receiving a confirmation message from the consumer bank computer at the intermediate bank computer, wherein the confirmation message comprises an indication that the transaction has been authorized, initiating a transaction process based on said transaction information.
The disclosed transaction protocol allows new consumer bank computers to connect to the transaction system more easily.
The consumer bank computer does not need to be able to receive, process and transmit messages that adhere to the protocol that is employed between the intermediate bank computer and the merchant bank computer. This allows the messages exchanged between the intermediate bank computer and the consumer bank computer to be simpler and technically less challenging to implement than the messages that would need to be implemented when the consumer bank computer would need to communicate with the merchant bank computer. In an example, the messages between the intermediate bank computer and the merchant bank computer are relatively long XML messages, whereas the messages between the consumer bank computer and the intermediate bank computer are relatively short messages in accordance with newly developed protocols, for example JSON messages, that may be exchanged using a REST (Representational State Transfer) interface. The disclosed transaction protocol thus allows the use of multiple standards or protocols within the transaction system. A further advantage is that the number of message types that the to be added consumer bank computer needs to be able to receive, process and transmit, is reduced with respect to the number of message types that are required for direct communication with the merchant bank computer. To illustrate, the intermediate bank computer initiates the transaction process. Therefore, the intermediate bank computer needs to be able to answer a status request from the merchant bank computer with a message that the transaction has been initiated. Advantageously, the consumer bank computer thus does not need to be able to receive, process and answer such a status request message. The disclosed protocol advantageously enables that no connection between the consumer bank computer and the merchant bank computer is required. The merchant bank computer can thus process transactions that involve a great number of different consumer bank computers, without having to establish a secure connection with each separate consumer bank computer. The absence of many connections between the merchant bank computer on one side and consumer bank computers on the other side eases the technical requirements for the merchant bank computer. To illustrate, new consumer bank computers may be added to the transaction system without having to reconfigure and/or reprogram the merchant bank computer.
Advantageously, the protocol does not require the intermediate bank computer, which in the end initiates the payment process, to be involved in the transaction authorization itself. The protocol namely provides that the authorization can be performed by the consumer bank computer, which reduces the required computing resources that the intermediate bank computer should possess.
The merchant computer may comprise a server hosting a web site, such as a web shop of a merchant. The consumer computer may be configured to connect to and/or access the merchant computer by means of a web browser. The consumer computer may obtain information, for example by detecting user interactions indicating said information. Through exchange of messages between the computers of the consumer and merchant such obtained information may be transmitted to the merchant computer. In one example, the consumer may interact with elements on the web site of the merchant, e.g. fill in information in a form that is presented to him when visiting the web site. These interactions may convey information to the consumer computer.
The transaction information may comprise an indication of an amount of money to be transferred and/or an identifier of a product involved in the transaction and/or a transaction identifier and/or an account number of the merchant at the merchant bank computer.
Any computer involved in the protocol may generate and store a transaction identifier associated with the transaction. Preferably, the merchant computer generates a transaction identifier and transmits this identifier as part of the transaction information to the intermediate bank computer, which subsequently stores this transaction identifier. The transaction identifier may subsequently, again as part of the transaction information, be transmitted to the consumer bank computer, which computer also stores this identifier. Hence, preferably, the computers in the transaction system have stored the same transaction identifier. This is advantageous, since any computer having stored the transaction identifier can easily relate incoming messages comprising this identifier to the correct transaction .
The payment process may comprise an irrevocable money transfer, for example a SEPA Credit Transfer. The payment process may comprise transferring a payment guarantee to the merchant bank and/or transferring a debt certificate to the merchant bank issued by the intermediate bank.
In one embodiment, the protocol comprises the step of in response to receiving at least one protocol initiation message from the merchant computer, wherein the protocol initiation message comprises both the identifier of the consumer bank computer and the transaction information, the merchant bank computer transmitting the at least one transaction request message to the intermediate bank computer based on an identifier of the intermediate bank computer. In this embodiment, the at least one protocol initiation message comprises the identifier of the intermediate bank computer. Additionally or alternatively the merchant bank computer determines the identifier of the intermediate bank computer based on the identifier of the consumer bank computer.
Preferably, the transaction information in the protocol initiation message comprises the account number of the merchant at the merchant bank computer, so that the merchant bank computer does not have to perform a look up operation for determining the account number of the merchant for example based on an identifier of the merchant computer that may be comprised in the protocol initiation message.
In one embodiment, the merchant computer determines the identifier of the intermediate bank computer based on the identifier of the consumer bank computer received from the consumer computer. To this end, the merchant computer may have stored information, e.g. a list, associating the identifier of the intermediate bank computer with the consumer bank computer. In one example, a user visiting a web page of the merchant selects his own bank from a list of banks on the web page. In response, the consumer computer transmits a message, e.g. a HTTP message, comprising the identifier of the consumer bank to the merchant computer.
In one embodiment, the merchant bank computer determines the identifier of the intermediate bank computer based on the identifier of the consumer bank computer received from the merchant computer. To this end, the merchant bank computer may have stored information associating the identifier of the intermediate bank computer with the consumer bank computer.
In one embodiment, the merchant computer receives from the consumer computer a message comprising the identifier of the consumer bank computer and, in association, the identifier of the intermediate bank computer. In one example a user visiting a web page of a merchant selects his own bank from a list of banks on the web page. In response, the consumer computer transmits a message, e.g. a HTTP message, to the merchant computer comprising the identifier of the consumer bank computer and, in association with this identifier of the consumer bank computer, the identifier of the intermediate bank computer.
Advantageously, the merchant bank computer thus may transmit the at least one transaction request message to one bank computer, although another bank computer should perform an authorization process for the transaction. This reduces the number of required connections to the merchant bank computer, because the merchant bank computer may transmit any transaction request message comprising arbitrary identifiers of consumer bank computers to the same intermediate bank computer .
In one embodiment, the protocol comprises the step of in response to receiving the message comprising the retrieval information from the intermediate bank computer, the merchant bank computer transmitting a message comprising the retrieval information to the merchant computer.
The message comprising the retrieval information may enable the merchant computer to forward the retrieval information to the consumer computer. After all, the consumer computer may already be connected to the merchant computer in the sense that the consumer computer is executing a web browsing application that exchanges messages, e.g. HTTP messages, with the merchant computer.
This embodiment provides a simple and efficient way to provide the consumer computer with the retrieval information. The consumer computer does not need to establish a connection to another computer than the merchant computer for receiving the retrieval information.
In one embodiment, the protocol comprises in response to receiving the authorization request message from the intermediate bank computer, the consumer bank computer storing the transaction information and generating the retrieval information. A further step in this embodiment relates to the consumer bank computer transmitting the message comprising the retrieval information to the intermediate bank computer.
At the moment the consumer bank computer receives the authorization request message from the intermediate bank computer, the consumer bank computer and the consumer computer typically have not exchanged any messages. Hence, typically no connection has yet been established over which the transaction information and/or the retrieval information may be sent to the consumer computer.
This embodiment enables that the consumer bank computer can prepare an authorization process based on the transaction information that was present in the authorization request message. The authorization process may be regularly executed by the consumer bank computer.
In one embodiment, the protocol comprises in response to receiving an information request message associated with the retrieval information, for example a HTTP get request message, from the consumer computer, the consumer bank computer transmitting a response message, e.g. a HTTP response message, comprising the transaction information to the consumer computer for enabling the consumer computer to present the transaction information to a user of the consumer computer. This embodiment of the protocol further comprises in response to receiving an authorization message from the consumer computer comprising authorization information, transmitting the confirmation message to the intermediate bank computer.
The authorization information for example is a code that has been input by a user into the consumer computer. The authorization information may thus be verified by the consumer bank computer, in an example by verifying that a correct code has been input.
In one embodiment, the consumer computer executes a standalone authorization application that causes the consumer computer to determine, based on at least one user input, that the transaction has been authorized by the user. Such standalone application thus optionally determines that the transaction has been authorized without exchanging messages with the consumer bank computer. Hence, the authorization information in the authorization message may be an indication that the authorization has been successful. The correctness of this indication is not necessarily checked by the consumer bank computer system. This embodiment enables that the transaction is suitably authorized.
In one embodiment, the protocol comprises after receiving a message from the consumer computer comprising the identifier of the consumer bank computer, the merchant computer generating the protocol initiation message based on the identifier of the consumer bank computer and transmitting the protocol initiation message.
The merchant computer may generate the protocol initiation message based on the identifier in the sense that it includes the identifier in the protocol initiation message.
The consumer, when visiting the web site of the merchant may select his own bank, e.g. the bank at which the consumer holds a bank account, and, as a response, the consumer computer may transmit the message comprising the identifier of the consumer bank computer to the merchant computer. This embodiment enables to automatically initiate the protocol.
In one embodiment, the transaction protocol comprises, in response to receiving the message comprising the retrieval information from the merchant bank computer, the merchant computer transmitting an instruction message to the consumer computer comprising the retrieval information and instructing the consumer computer to use the retrieval information for retrieving the transaction information from the consumer bank computer. This embodiment enables that the consumer computer automatically connects to the consumer bank computer without requiring a user input. A user of the consumer computer may experience that he is on the web page of the merchant and at some point, after he has indicated his own bank for example, is automatically redirected to a web page hosted by the consumer bank computer.
In one embodiment the protocol comprises in response to a transaction status request message received from the merchant computer, the merchant bank computer transmitting a second transaction status request message to the intermediate bank computer .
Optionally, the protocol comprises, after the merchant bank computer has received the transaction status request, the merchant bank computer determining that it does not comprise the current status of the transaction process and, in response, transmitting the second transaction status request message to the intermediate bank computer.
The first and/or second transaction status request message and/or the confirmation message and/or the notification message may comprise the above-described transaction identifiers. This embodiment advantageously provides an automatic process that results in the merchant computer obtaining confirmation that the transaction process has been initiated by the intermediate bank computer.
In one embodiment, the protocol comprises in response to the second transaction status request message received from the merchant bank computer, the intermediate bank computer determining that the transaction process has been initiated and transmitting a transaction confirmation message to the merchant bank computer. The transaction being initiated may relate to the transaction being completed and/or to money being irrevocably transferred to an account of the merchant at the merchant bank computer. This embodiment enables to retrieve the most current status of the transaction process from the intermediate bank computer.
In one embodiment, the protocol comprises in response to receiving the transaction confirmation message from the intermediate bank computer, the merchant bank computer transmitting a notification message to the merchant computer comprising an indication that the transaction has been initiated.
In response to the merchant computer receiving the notification message, it may further process an order associated with the transaction and/or may transmit to the consumer computer information for presenting a confirmation of a money transfer to the consumer. In an example, the consumer experiences, after he or she has authorized the money transfer on a web page of his own consumer bank, that the web browser automatically redirects to a web page of the merchant that shows the consumer that the transaction was successful. This embodiment enables to fully automate the transaction.
In one embodiment, the protocol comprises the merchant computer transmitting the protocol initiation message to the merchant bank computer via a third party computer; and/or in response to receiving the message comprising the retrieval information from the merchant bank computer via the third party computer, the merchant computer transmitting an instruction message to the consumer computer; and/or in response to a transaction status request message received from the third party computer, the merchant bank computer transmitting a second transaction status request message to the intermediate bank computer.
In this embodiment, the third party may have an account at the merchant bank on which the third party can receive money transfers on behalf of said merchant. In this sense, this account of the third party may be considered to be an account of the merchant. The third party may receive money transfers for other merchants as well on this account.
This embodiment reduces the number of required connections between the merchant bank computer on one side and merchant computers on another side. After all, the merchant bank computer may be configured to only communicate with the computer system of the third party, while still allowing many merchants to participate in the online payment method.
One aspect of this disclosure relates to an intermediate bank computer for use in a transaction system comprising a merchant bank computer, the intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and a merchant computer, the intermediate bank computer comprising a processing system that is configured to perform the protocol according to one or more of the preceding claims. The processing system may be configured to perform any of the steps as disclosed herein that are executed by the intermediate bank computer.
One aspect of this disclosure relates to a transaction protocol in a transaction system comprising a merchant bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and a merchant computer, the protocol comprising: in response to receiving at least one protocol initiation message from the merchant computer comprising an identifier of the consumer bank computer and transaction information, the merchant bank computer transmitting at least one transaction request message comprising an identifier of the consumer bank computer and transaction information to the intermediate bank computer based on an identifier of the intermediate bank computer, wherein either the at least one protocol initiation message comprises the identifier of the intermediate bank computer, or the protocol comprises the merchant bank computer determining the identifier of the intermediate bank computer based on the identifier of the consumer bank computer. This protocol may further comprise any of the steps disclosed herein that are performed by the merchant bank computer.
One aspect of this disclosure relates to a merchant bank computer for use in a transaction system comprising the merchant bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and a merchant computer, the merchant bank computer comprising a processing system that is configured to perform any of the steps as disclosed herein that are executed by the merchant bank computer.
One aspect of this disclosure relates to a method for initiating a transaction protocol in a transaction system comprising a merchant bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and a merchant, the method comprising: after receiving a message from the consumer computer comprising an identifier of the consumer bank computer, the merchant computer determining an identifier of the intermediate bank computer based on the identifier of the consumer bank computer; and transmitting a protocol initiation message comprising the identifier of the consumer bank computer and the identifier of the intermediate bank computer to the merchant bank computer, wherein the protocol initiation message instructs the merchant bank computer to initiate a transaction protocol. This method may further comprise any of the steps as disclosed herein that are executed by the merchant computer.
One aspect of this disclosure relates to a merchant computer comprising a processing system configured to perform any of the steps as disclosed herein that are executed by the merchant computer.
One aspect of this disclosure relates to a consumer bank computer for use in a transaction system comprising a merchant bank computer, an intermediate bank computer and the consumer bank computer, for enabling a transaction between a consumer computer and a merchant computer, the consumer bank computer comprising a processing system that is configured to perform any of the steps as disclosed herein that are executed by the consumer bank computer.
One aspect of this disclosure relates to a transaction system comprising a consumer bank computer, an intermediate bank computer and a merchant bank computer as disclosed herein .
One aspect of this disclosure relates to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out any of the steps of the protocols or methods as disclosed herein.
One aspect of this disclosure relates to a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out any of the steps of the protocols or methods as disclosed herein.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system." Functions described in this disclosure may be implemented as an algorithm executed by a processor/microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a readonly memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device .
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks .
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Moreover, a computer program for carrying out the methods described herein, as well as a non-transitory computer readable storage-medium storing the computer program are provided. A computer program may, for example, be downloaded (updated) to existing computers or be stored upon manufacturing of these computers.
Elements and aspects discussed for or in relation with a particular embodiment may be suitably combined with elements and aspects of other embodiments, unless explicitly stated otherwise .
Embodiments of the present invention will be further illustrated with reference to the attached drawings, which schematically will show embodiments according to the invention. It will be understood that the present invention is not in any way restricted to these specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
Aspects of the invention will be explained in greater detail by reference to exemplary embodiments shown in the drawings, in which: FIG. 1 schematically depicts a transaction system according to one embodiment comprising computers according to embodiments; FIG. 2 is a flow chart illustrating embodiments of the methods and protocols disclosed; FIG. 3 schematically depicts a transaction system according to one embodiment comprising computers according to embodiments; FIG. 4 is a flow chart illustrating embodiments of the methods and protocols; FIG. 5 is a flow chart illustrating an embodiment of the protocol that comprises the transaction system receiving messages from and transmitting messages to a third party computer; FIG. 6 depicts a block diagram illustrating an exemplary data processing system that may be used in any embodiment of the computers.
DETAILED DESCRIPTION OF THE DRAWINGS FIG. 1 schematically depicts the different computers that are involved in the embodiments of the protocols as disclosed herein. The transaction system 1 comprises a merchant bank computer 7, an intermediate bank computer 5 and a consumer bank computer 3, for enabling a transaction between a consumer computer 2 and a merchant computer 4. In the context of this disclosure a computer may denote a computer system comprising a plurality of computers. A computer in this disclosure may be understood be a virtual machine or an emulation of a computer system. A consumer can use the consumer computer 2 to purchase a product online and authorize the money transfer. The consumer computer 2 may comprise any type of computer, such as a smart phone, a tablet computer, a desktop computer, a notebook et cetera. The consumer computer 2 may be configured to connect to the merchant computer 4 through a network, e.g. the Internet. Connection 6 may denote HTTP messages that the consumer computer 2 and the merchant computer 4 may exchange. In an example, the consumer computer 2 comprises a web browser application for retrieving information from the merchant computer 4. Herein, the merchant computer 4 may function as a server and the consumer computer 2 as client. The consumer may control the web browser application installed on the computer 2 to access a web site of the merchant. The web site of the merchant may be a web shop where a variety of products are presented that the user can order.
Typically, the merchant computer 4 is connected via a network, which may be the internet, to the merchant bank computer 7.
The intermediate bank computer 5 may be configured to connect to the merchant bank computer 7 and to the consumer bank computer 3. Connection 14 preferably is a secure connection, e.g. a SWIFT connection, over a secure network, e.g. the SWIFT network. Connection 12 may be a connection over a different type of network, which advantageously reduces the load on the network that is used for connection 14.
Connection 12 may comprise a RESTful API (Application Programming Interface), for example in accordance with an 0auth2 protocol. In contrast, connection 14 may be a connection for transmitting encrypted XML messages in a specific format.
Typically, the merchant bank and intermediate bank possess a bank license. The consumer bank may be an organization that holds value on behalf of the consumer and may be an organization that does not have a bank license, such as an organization offering electronic wallets, e.g. Paypal, and/or a credit card organization.
The consumer bank computer may thus be configured to perform an authentication process for authenticating a consumer and authorising the consumer for the amount requested by the merchant computer. A trust relation may exist between the consumer bank and the intermediate bank, in the sense that the intermediate bank has a debt with the merchant bank, so the intermediate bank must trust the consumer bank to compensate them for the amount of the transaction. The method may thus comprise the intermediate bank computer keeping track of a debt position of the consumer bank. FIG. 2 is a flowchart illustrating transaction protocols and methods according to embodiments. The messages may be transmitted via the networks and connections shown in FIG. 1. Any message in this disclosure may be validated upon reception and before they are further processed, for example by authenticating the transmitting computer.
An identifier of a particular computer may be understood to be any identifier based on which another computer can transmit a message to the particular computer. In an example, such an identifier may be indicative of a bank, and a computer A has stored information that associates the identifier of the bank with an address of a computer B of said bank. Hence, the identifier of the bank thus enables computer A to transmit a message to the computer B of the bank and hence may be regarded as identifier of the computer B.
In a step S2, the merchant computer receives a message from the consumer computer comprising the identifier of the consumer bank computer. This message may be a HTTP request message. In one embodiment, this message comprises the identifier of the consumer bank computer in association with the identifier of the intermediate bank computer. The message may be transmitted upon the consumer computer detecting a user interaction indicative of a selection of the identifier of the consumer bank computer .
Then, in step S4, the merchant computer generates a protocol initiation message based on the identifier of the consumer bank computer and transmits the protocol initiation message. In step S4, the merchant bank computer 7 thus receives the at least one protocol initiation message from the merchant computer 4. The at least one protocol initiation message comprises the identifier of the consumer bank computer 3 and the transaction information, denoted by the dollar symbol The transaction information may comprise an indication of an amount of money to be transferred and/or a currency and/or an account number of the merchant at the merchant bank computer and/or an account number of the third party at the merchant bank computer, et cetera.
The protocol initiation message may comprise a return URL that indicates a web site of the merchant that the consumer computer should automatically retrieve as soon as the transaction has been successfully authorized in step S14 explained below. Hence, a user may experience that as soon as he has authorized the transaction, his web browser is redirected to the web site indicated by the return URL, and on which a confirmation may be presented to the user that the authorization was successful. Optionally, the protocol initiation message comprises an entrance code, which may be transmitted by the consumer computer 2 to the merchant computer 4 when accessing the return web site. The combination of the return URL and the entrance code enables the merchant computer 4 to identify the consumer and/or the transaction.
Furthermore, the protocol initiation message may comprise any of the parameters listed on page 22 and 23 of the aforementioned iDeal Merchant Integratie Gids.
In response to the protocol initiation message, in step S6, the merchant bank computer transmits at least one transaction request message to the intermediate bank computer 5 based on an identifier of the intermediate bank computer.
The at least one protocol initiation message comprises the identifier of the intermediate bank computer. Additionally or alternatively, the merchant bank computer determines the identifier of the intermediate bank computer based on the identifier of the consumer bank computer, for example based on stored information associating the two identifiers with each other described above. In step S6, the intermediate bank computer 5 thus receives the at least one transaction request message from the merchant bank computer 7. The transaction request message comprises transaction information as well as the identifier of the consumer bank computer. Based on this identifier, the intermediate bank computer 5 transmits in step S8 an authorization request message to the consumer bank computer 3 comprising the transaction information and so instructs the consumer bank computer 3 to generate retrieval information, e.g. a URL. The retrieval information may be used for retrieving the transaction information from the consumer bank computer 3 as will be explained below.
In response to receiving the authorization request message from the intermediate bank computer, the consumer bank computer stores the transaction information and generates the retrieval information, denoted by "URL".
Subsequently in step S10, the consumer bank computer 3 transmits a message comprising the retrieval information to the intermediate bank computer 5. In step S10, the intermediate bank computer 5 thus receives this message and , in response, the intermediate bank computer 5 transmits a message comprising the retrieval information to the merchant bank computer 7. In response to receiving this message from the intermediate bank computer, the merchant bank computer transmits a message comprising the retrieval information to the merchant computer 4. The messages transmitted in step S10 may comprise any of the parameters listed on page 24 of the aforementioned iDeal Merchant Integratie Gids.
In step S12, the merchant computer 4 transmits a message comprising the retrieval information to the consumer computer 2. This message may instruct the consumer computer to use the retrieval information for retrieving the transaction information from the consumer bank computer.
In step S14, the consumer bank computer 3 receives an information request message, for example a HTTP get request message, from the consumer computer 2. In response, the consumer bank computer 3 transmits a response message, e.g. a HTTP response message, comprising the transaction information to the consumer computer 2 for enabling the consumer computer 2 to present the transaction information to a user of the consumer computer 2. Furthermore, in step S14, the consumer bank computer receives an authorization message from the consumer computer comprising authorization information.
In step S14, the consumer bank computer 3 may receive an account number of the consumer from the consumer computer. In response, the consumer bank computer may determine, for example based on the transaction information, in particular based on an indication of the amount of money to be transferred, that the account of the consumer holds sufficient funds for the transaction. Alternatively, the consumer bank may determine that the account of the consumer holds insufficient funds for the transaction, in which case the consumer bank computer may stop the authorization process.
In response, in step S16, the consumer bank computer 3 transmits the confirmation message comprising an indication that the transaction has been authorized to the intermediate bank computer 5. In step S16, the intermediate bank computer thus receives this confirmation message from the consumer bank computer 3. In response, in step S18, the intermediate bank computer initiates a transaction process based on said transaction information. The transaction process may comprise an irrevocable money transfer, for example of an amount and to an account indicated by the transaction information. FIG. 3 shows an embodiment, wherein the transaction system comprises a plurality of consumer bank computers 3-a, 3-b and 3-c, each of which can exchange messages with the intermediate bank computer 5 over networks 8a, 8b and 8c, which may be the same network. Furthermore, consumer computer 2a may at some point during the protocol retrieve the transaction information from 3-a, consumer computer 2b from consumer bank computer 3-b, consumer computers 2c and 2d from consumer bank computer 3-c .
Advantageously even though the transaction system 1 shown in FIG. 3 comprises more consumer bank computers 2 than the transaction system 1 shown in FIG. 1, in both instances, the merchant bank computer 7 is only connected within the transaction system to intermediate bank through connection 14. FIG. 3 thus shows that arbitrary number of consumer bank computers may be added to the transaction system without increasing the connections to merchant bank computer 7. FIG. 4 is a flowchart illustrating methods according to embodiments. The messages shown may be transmitted via the networks and connections shown in FIG. 1.
The top part of FIG. 4 illustrates how, in one embodiment, the merchant computer 4 may obtain the identifier of the consumer bank computer .
In step S22, the merchant computer receives a message comprising a set of identifiers for respective consumer bank computers. The merchant computer 4 may repeatedly, for example every day, request a recent set of identifiers from the merchant bank computer 7. The set of identifiers comprises the identifier of the consumer bank computer "CB".
Then, in step S24, the merchant computer 4 transmits the set of identifiers to the consumer computer 2, for example because the user indicated on the web site of the merchant that he wants to pay for a product and is redirected to a web page where he can choose his own bank from a list of banks. This list of banks may be presented in step S26 by the consumer computer based on the set of identifiers received from the merchant computer 4.
In step S28, the consumer computer 2 receives a user interaction which is indicative of the identifier of the consumer bank computer 3. Then, in step S2, as described above, the selected identifier of the consumer bank computer is transmitted to the merchant computer 4.
The bottom part of FIG. 4 depicts a protocol for the merchant computer to obtain a status of the transaction. Once the transaction has been initiated, e.g. irrevocably initiated or completed, the merchant computer may namely further process an order, for example transmit an instruction within the merchant computer system to initiate the delivery of the product to the consumer.
In step S30, the merchant bank computer 7 receives a transaction status request message from the merchant computer 4. In response, the merchant bank computer 7 transmits a second transaction status request message to the intermediate bank computer 5 in step S34.
In step S34, the intermediate bank computer thus receives the second transaction status request message. In response, in step S36, the intermediate bank computer 5 determines that the transaction process has been initated and transmits in step S38 a transaction confirmation message to the merchant bank computer 7. In step S38, the merchant bank computer thus receives the transaction confirmation message. In response, in step S40, the merchant bank computer 7 transmits a notification message to the merchant computer comprising an indication that the transaction has been initiated, e.g. has been completed.
Alternatively, (not shown) the intermediate bank computer in step S36 determines another status of the transaction than initated, for example one of the following: "Open", indicating that the final status is not yet known. "Cancelled", indicating that the protocol has been cancelled by the consumer. "Expired", indicating that a period has been expired before the transaction process was initiated. "Failure", indicating that the transaction has not been initiated for unknown reasons. The intermediate bank computer 5 may transmit a message to the merchant bank computer comprising the determined status. FIG. 1 shows an embodiment wherein a third party computer 19 has a connection 18 to the merchant computer 4 and connection 16 to merchant bank computer 7. In this embodiment, the merchant computer 4 is not necessarily connected to the merchant bank computer 7. The third party, which may be a Collecting Payment Service Provider in terms of the iDeal Standard, may act on behalf of the merchant, for example receive money transfers and/or transmit the transaction request message to the merchant bank computer. Such an embodiment is advantageous because it obviates the need for the merchant bank computer 7 to connect to each separate merchant computer in case of many different merchants. FIG. 5 shows how, in one embodiment, messages may be exchanged when a third party computer that sits between the merchant computer 4 and the merchant bank computer 7.
Similarly numbered steps denote similar steps in this disclosure. In step S4a the merchant computer 4 transmits the protocol initiation message to the third party computer. In response, in step S4b, the third party computer transmits a protocol initiation message to the merchant bank computer. Hence, in steps S4a and S4b the merchant computer transmits the protocol initiation message to the merchant bank computer via the third party computer 19. Both protocol initiation messages comprise the identifier of the consumer bank as well as the transaction information.
In step S10, the third party computer receives from the merchant bank computer the message comprising the retrieval information. In response, the third party computer transmits the retrieval information to the merchant computer 4. As described with reference to FIG. 2, in step S12, the merchant computer transmits the instruction message to the consumer computer .
In a step S31b, the merchant bank computer receives from the third party computer a transaction status request message. In response, in step S34, the merchant bank computer transmits the second transaction status request message to the intermediate bank computer. Optionally, the third party computer transmits the transaction status request message in response to a received transaction request message received from the merchant computer 4 in optional step S31a.
The messages exchanged within the transaction system, for example the messages exchanged between the intermediate bank computer and the merchant bank computer, may be XML messages, such as encrypted XML messages. A number of example message that may be exchanged in the disclosed protocol, are listed below.
An example of an XML message transmitted in step S22, which may be termed a directory response message, is the following: <?xml version="l.0" encoding="UTF-8"?> <DirectoryRes xmlns = "http://www. idealdesk . com/ideal/messages/mer-acq/3.3.1" version="3.3.1"> <createDateTimestamp>2008-11-14T09:30:47.0Zc/createDateTimestamp> <Acquirer> <acquirerID>0001</acquirerID> </Acquirer> <Directory> cdirectoryDateTimestamp>2004-11-10T10:15:12.145Zc/directoryDateTimestamp> <Country> <countryNames>Nederland</countryNames> <Issuer> cissuerID>ABNANL2AXXXc/issuerID> cissuerName>ABN AMRO Bankc/issuerName> </Issuer> clssuerh cissuerID>ASNNNL21XXXc/issuerID> cissuerName>ASN Bankc/issuerName> </Issuer> <Issuer> cissuerID>FRBKNL2LXXXc/issuerID> <issuerName>Friesland Bankc/issuerName> </Issuer> <Issuer> <issuerID>INGBNL2AXXX</issuerID> <issuerName>ING</issuerName> </Issuer> <Issuer> <issuerID>RAB0NL2UXXX</issuerID> <issuerName>Rabobank</issuerName> </Issuer> <sublssuer> <subIssuerID>PAYPAL2ACCC,/sub!ssuerID> <sublssuerName>PayPal</sub!ssuerName> </sub!ssuer> </Country> <Country> <countryNames>België/Belgique</countryNames> <Issuer> <issuerID>KREDBE22XXX</issuerID> <issuerName>KBC</issuerName> </Issuer> <sublssuer> <sub!ssuerID>PNBPAR2AXXX,/sub!ssuerID> <sub!ssuerName>PNB ParisBas</sub!ssuerName> </sublssuer> </Country> </Directory> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-cl4n#" /> <SignatureMethod
Algorithm="http ://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> <Reference URI=""> <Transforms> <Transform
Algorithm="http :/ / www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#sha256 " /> <DigestValue>ORO0+jQyZlSLrTA+lgSmsH9vtbzbNbIIoWzh9SDJXGc=</ DigestValue> </Reference> </SignedInfo> <SignatureValue> H5FBG+lceWVginZdKlbT77glHLOp8/OXJlFTw2QWNBOzkKgglqOL70vbQTs W3i+RPlTVfvXr35X+C3KUQbZNrnm 59w6J765T+XMpNyPCU5MgN6aQTVlSqXQMFpDlsdxMxeDHamRwoKs+g9hga/ mTUv5xEedkVhTZGuQ2aiUeAec= </SignatureValue> cKeylnfo> <KeyName>7D665C81ABBElA7D0E525BFC171F04D276F07BF2</KeyName> </KeyInfo> </Signature> </DirectoryRes>
In this example, identifiers of consumer bank computers are termed "subissuerID". Hence, in this example message, an identifier of a first consumer bank computer is "PAYPAL2ACCC" and of a second consumer bank computer "PNBPAR2AXXX".
Furthermore, in this example, an identifier of an intermediate bank computer is termed an "issuerlD". Also, in this example message, since the identifier of the first consumer bank "PAYPAL2ACCC" is listed under identifier of intermediate bank "RABONL2UXXX", identifier "PAYPAL2ACCC" is associated with "RABONL2UXXX". Similarly, "PNBPAR2AXXX" is associated with "KREDBE22XXX". Hence, the merchant computer 4 would in step S22 receive information associating the consumer bank identifiers with intermediate bank identifiers, which information the merchant computer 4 may use to determine the correct identifier of the intermediate bank computer based on a received identifier of a consumer bank computer, e.g. received from the consumer computer 2.
An example of an XML protocol initiation message transmitted in step S4 may be the following: <?xml version="1.0" encoding="UTF-8"?> cAcquirerTrxReq xmlns = "http://www.idealdesk .com/ideal/messages/mer-acq/3.3.1" version="3.3.1"> <createDateTimestamp>2008-ll~ 14T09:30:47.0Z</createDateTimestamp> <Issuer>
CissuerID>RABONL2UXXX</issuerID> csublssuer> csub!ssuerID>PNBPAR2AXXX,/sub!ssuerID> c/sublssuer> c/Issuer> cMerchant> cmerchantID>100000001c/merchantID> csubID>lc/subID> cmerchantReturnURL>https://www. ashop .eu/paymentHandlingc/me rchantReturnURL> c/Merchant> /Transaction> cpurchaseID>iDEALaankoop21c/purchaseID> camount>59.99c/amount> ccurrency>EURc/currency> cexpirationPeriod>PT3M30Sc/expirationPeriodh clanguage>nlc/language> cdescription>Documenten Suitec/description> centranceCode>4hd7TD9wRn76w6gGwGFDgdL7 jEtbc/entranceCode> </Transaction> cSignature xmlns="http://www.w3.org/2000/09/xmldsig#"> cSignedlnfo> <CanonicalizationMethod
Algorithm="http ://www. w3.org/2001/10/xml-exc-cl4n#" /> <SignatureMethod
Algorithm="http ://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> <Reference URI=""> <Transforms> <Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod
Algorithm="http ://www.w3.org/2001/04/xmlenc#sha256 " /> <DigestValue>DsP5NLca+plhp9tZvGwykfb2whQYt3CQ5sbsVd9Q9aE=</ DigestValue> </Reference> </SignedInfo> <SignatureValue>
LrfE0po3YPvVxB/m77iBWWiR0 7Ghiuhuj7tO2C2LKqZK2cLrAiidt + 3tjbJ 3ml6quCFxfh7bmjRtJsGi7a3HKtK qY4auqrjNB62AtYrxvm+7Qd/cRacom4e3M9uF9JDlzTfoGun9w4WDfDrDao Z+ZwUgNtf6sTYO5Ctcj5sYcD0= </SignatureValue> CKeylnfo> <KeyName>7D665C81ABBElA7D0E525BFC171F04D276F07BF2</KeyName> </KeyInfo> </Signature> </AcquirerTrxReq>
This message thus comprises the identifier of the consumer bank computer "PNBPAR2AXXX" in association with the identifier of the intermediate bank computer "RAB0NL2UXXX". In this particular example, the identifier of the consumer bank computer is added to a sub-issuer ID field, which field is within the issuerlD field.
This example message also comprises transaction information, for example the amount of money to be transferred indicated by "<amount>59.99</amount>".
An example of an XML message that may be transmitted in step S10 from the consumer bank computer to the intermediate bank computer and/or from the intermediate bank computer to the merchant bank computer and/or from the merchant bank computer 7 to the merchant computer 4 or to the third party computer 19 may be the following: <?xml version="1.0" encoding="UTF-8"?> <AcquirerTrxRes xmlns="http://www. idealdesk .com/ideal/messages/mer-acq/3.3.1" version="3.3.1"> <createDateTimestamp>2008-ll-14T09:30:47.0Z</createDateTimestamp> <Acquirer> <acquirerID>0001</acquirerID> </Acquirer> <Issuer> <subissuerID>PNBPAR2AXXX,/subissuerID> <sub!ssuerName>PNB ParisBas</sub!ssuerName> <subIssuerAuthenticationURL>https://www.issuingbank.eu/idea l?random=lY98dHjPwe2qq3s&amp;amp;trxid=0001000000000001</issuerAut henticationURL> <sublssuer> </sublssuer> </subIssuerAuthenticationURL> </Issuer> <Transaction> <transactionID>0001000000000001</transactionID> <transactionCreateDateTimestamp>2 00 8-11- 14T09:30:50.125Z</transactionCreateDateTimestamp> <purchaseID>iDEAL21</purchaseID> </Transaction> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod
Algorithm="http ://www. w3.org/2001/10/xml-exc-cl4n#" /> <SignatureMethod
Algorithm="http ://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> CReference URI=""> cTransforms> /Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod
Algorithm="http ://www.w3.org/2001/04/xmlenc#sha256" /> <DigestValue>fU+UQd8JBswjQruM4MOLau8fmFrcfXaZ/kwufu45JUw=</ DigestValue> </Reference> </SignedInfo> <SignatureValue>
U/gCgvwtFOrEaRKCtJUw+t/vmx7+Vf j QnbKxpkmWpZf zDTC0Pp9/e8A7SQQ siWG8AWk31jlfVlzgUG0fQTXH4bE k3WRQTEIfugGaBkoA9lwcR032Gfd6CeVGRfhFaMxjHtIqbIz5k6pTbnqfpB VqUI6g2XCeczC5xo+Gg4eA+L0= </SignatureValue> cKeylnfo> <KeyName>7D665C81ABBElA7D0E525BFC171F04D276F07BF2</KeyName> </KeyInfo> </Signature> </AcquirerTrxRes>
In this example, the retrieval information is the URL "https ://www. issuingbank .eu/ideal?random=lY98dHjPwe2qq3s&amp;amp". Note that a transaction identifier is also present in this message, namely "0001000000000001".
An example of an XML message that is transmitted in step S6 from the merchant bank computer 7 to the intermediate bank computer 5 may be the following: cIssuerTrxReq xmlns="http://www.idealdesk . com/ideal/messages/acq-iss/3.3.1" version="3.3.1"> <createDateTimestamp>2008-11- 14T09:30:47.OZ</createDateTimestamp> <Acquirer> <acquirerID>0001</acquirerID> </Acquirer> <Issuer> <issuerID>ABNANL2AXXX</issuerID> <sublssuer> <sub!ssuerID>PNBPAR2AXXX,/sub!ssuerID> </sublssuer> </Issuer> <Merchant> <merchantID>100000001</merchantID> <subID>l</subID> <legalName>De Hollandsche Handelschmij N.V.</legalName> <tradeName>HHM</tradeName> <merchantIBAN>NL32lNGB0000012345</merchantIBAN> <merchantBIC>INGBNL2AXXX</merchantBIC> <merchantReturnURL> https ://www. ashop .eu/paymentHandling </merchantReturnURL> </Merchant> <Transaetion> <transactionID>0001000000000001</transactionID> <transactionCreateDateTimestamp>2008-ll- 14T09:30:50.125Z</transactionCreateDateTimestamp> <purchaseID>iDEALaankoop21</purchaseID> <amount>59.99</amount> <currency>EUR</currency> <expirationPeriod>PT3M30S</expirationPeriod> <language>nl</language> <description>Documenten Suite</description> <entranceCode>4hd7TD9wRn76w6gGwGFDgdL7 jEtbc/entranceCode> <RmtInf> <Ustrd>iDEALaankoop21 0001000000000001 Documenten Suite HHM</Ustrd> </RmtInf> </Transaction> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <Canonicali zationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-cl4n#" /> <SignatureMethod
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> <Reference URI=" <Transforms> cTransform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod
Algorithm="http ://www.w3.org/2001/04/xmlenc#sha256" /> <DigestValue>VW+VjenRyZVFCNfBTeoxDflQ4yfR8KYFvwPVinVPqBs=</
DigestValue> </Reference> </Signedlnfo> <SignatureValue> IELLwKSGFMk64US23YrpZ8//hJ8DeJEtYht5knlxJvBOr8dcI+aJTBq+Yty zP9ClcK620bs5aynHBE/GPHZShu
Mw+8WHq4fCMInOwKURgwjDOz8UYaIMqGOOjiz8dFYGn+dH21LOQVss4jmll AD8MCijb2 7oqij 6PclXw9Y9veI = </SignatureValue> <KeyInfo> <KeyName>7D665C81ABBElA7D0E525BFC171F04D276F07BF2</KeyName> </KeyInfo> </Signature> </IssuerTrxReq>
Again, this message comprises an identifier of a consumer bank computer "PNBPAR2AXXX". Furthermore, this message comprises the transaction information "<amount>59.99</amount>" and the account number of the merchant "NL32INGB0000012345".
The above example messages illustrate that with respect to existing messages in the iDeal protocol as described in the aforementioned Merchant Integratie Gids, differences exist that have a great impact on the ease of introducing additional consumer bank computers to the transaction system yet that are relatively simple to implement.
Fig. 6 depicts a block diagram illustrating an exemplary data processing system that may be used in any of the computers as described herein.
As shown in Fig. 6, the data processing system 600 may include at least one processor 602 coupled to memory elements 604 through a system bus 606. As such, the data processing system may store program code within memory elements 604. Further, the processor 602 may execute the program code accessed from the memory elements 604 via a system bus 606. In one aspect, the data processing system may be implemented as a computer that is suitable for storing and/or executing program code. It should be appreciated, however, that the data processing system 600 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification.
The memory elements 604 may include one or more physical memory devices such as, for example, local memory 608 and one or more bulk storage devices 610. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 600 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 610 during execution.
Input/output (I/O) devices depicted as an input device 612 and an output device 614 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in Fig. 6 with a dashed line surrounding the input device 612 and the output device 614). An example of such a combined device is a touch sensitive display, also sometimes referred to as a "touch screen display" or simply "touch screen". In such an embodiment, input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display. A network adapter 616 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 600, and a data transmitter for transmitting data from the data processing system 600 to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 600.
As pictured in Fig. 6, the memory elements 604 may store an application 618. In various embodiments, the application 618 may be stored in the local memory 608, the one or more bulk storage devices 610, or apart from the local memory and the bulk storage devices. It should be appreciated that the data processing system 600 may further execute an operating system (not shown in Fig. 6) that can facilitate execution of the application 618. The application 618, being implemented in the form of executable program code, can be executed by the data processing system 600, e.g., by the processor 602. Responsive to executing the application, the data processing system 600 may be configured to perform one or more operations or method steps described herein.
In one aspect of the present invention, the data processing system 600 may represent a consumer computer, merchant computer, consumer bank computer, merchant bank computer, intermediate bank computer as described herein.
In another aspect, the data processing system 600 may represent a client data processing system. In that case, the application 618 may represent a client application that, when executed, configures the data processing system 600 to perform the various functions described herein with reference to a "client". Examples of a client can include, but are not limited to, a personal computer, a portable computer, a mobile phone, or the like.
In yet another aspect, the data processing system 600 may represent a server. For example, the data processing system may represent an (HTTP) server, in which case the application 618, when executed, may configure the data processing system to perform (HTTP) server operations.
Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression "non-transitory computer readable storage media" comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., readonly memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solidstate non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or harddisk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 602 described herein.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (15)

1 . Een transactieprotocol in een transactiesysteem omvattende een ondernemersbankcomputer, een tussenbankcomputer en een consumentenbankcomputer, voor het mogelijk maken van een transactie tussen een consumentencomputer en een ondernemerscomputer, het protocol omvattende: het zenden aan de consumentenbankcomputer, door de tussenbankcomputer, op basis van een identificator van de consumentenbankcomputer aanwezig in ten minste één van de ondernemersbankcomputer ontvangen transactieverzoekbericht, waarbij het ten minste één transactieverzoekbericht verder transactie-informatie omvat, een autorisatieverzoekbericht dat de transactie-informatie omvat en dat de consumentenbankcomputer instrueert om verkrijg-informatie, bijvoorbeeld een URL, te genereren voor het verkrijgen van de transactie-informatie van de consumentenbankcomputer; in antwoord op het ontvangen van een bericht omvattende de verkrijg-informatie van de consumentenbankcomputer, het zenden door de tussenbankcomputer van een bericht omvattende de verkrijg-informatie naar de ondernemersbankcomputer; in antwoord op het ontvangen van een bevestigingsbericht van de consumentenbankcomputer bij de tussenbankcomputer, waarbij het bevestigingsbericht een indicatie omvat dat de transactie geautoriseerd is, het initiëren door de tussenbankcomputer van een transactieproces op basis van de transactie-informatie.1. A transaction protocol in a transaction system comprising an entrepreneur bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and an entrepreneur computer, the protocol comprising: sending to the consumer bank computer, by the intermediate bank computer, based on an identifier of the consumer bank computer present in at least one transaction request message received from the entrepreneur bank computer, the at least one transaction request message further comprising transaction information, an authorization request message comprising the transaction information and instructing the consumer bank computer to generate acquiring information, e.g. a URL, for obtaining the transaction information from the consumer banking computer; in response to receiving a message including the acquiring information from the consumer banking computer, sending a message including the acquiring information to the business banking computer through the intermediate bank computer; in response to receiving a confirmation message from the consumer bank computer at the intermediate bank computer, the confirmation message including an indication that the transaction is authorized, initiating a transaction process based on the transaction information by the intermediate bank computer. 2. Het transactieprotocol volgens conclusie 1, verder omvattende in antwoord op het ontvangen van ten minste één protocolinitiatiebericht van de ondernemerscomputer omvattende de identificator van de consumentenbankcomputer en de transactie-informatie, het zenden door de ondernemersbankcomputer van het ten minste één transactieverzoekbericht naar de tussenbankcomputer op basis van een identificator van de tussenbankcomputer, waarbij het ten minste één protocolinitiatiebericht de identificator van de tussenbankcomputer omvat, en/of de ondernemersbankcomputer de identificator van de tussenbankcomputer bepaalt op basis van de ontvangen identificator van de consumentenbankcomputer.The transaction protocol according to claim 1, further comprising, in response to receiving at least one protocol initiation message from the entrepreneur computer including the identifier of the consumer banking computer and the transaction information, sending the at least one transaction request message to the intermediate bank computer by the entrepreneur banking computer basis of an identifier of the intermediate bank computer, wherein the at least one protocol initiation message comprises the identifier of the intermediate bank computer, and / or the entrepreneur bank computer determines the identifier of the intermediate bank computer based on the received identifier of the consumer bank computer. 3. Het transactieprotocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op het ontvangen van het bericht omvattende de verkrijg-informatie van de tussenbankcomputer, het zenden door de ondernemersbankcomputer van een bericht omvattende de verkrijg-informatie naar de ondernemerscomputer.The transaction protocol according to one or more of the preceding claims, further comprising in response to receiving the message including the acquiring information from the intermediate bank computer, sending a message comprising the acquiring information to the entrepreneur's computer from the entrepreneur banking computer. 4. Het transactieprotocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op het ontvangen van het autorisatieverzoekbericht van de tussenbankcomputer, het opslaan door de consumentenbankcomputer van de transactie-informatie en het genereren van de verkrijg-informatie; en het zenden door de consumentenbankcomputer van het bericht omvattende de verkrijg-informatie naar de tussenbankcomputer.The transaction protocol according to one or more of the preceding claims, further comprising in response to receiving the authorization request message from the intermediate bank computer, storing the transaction information by the consumer bank computer and generating the acquiring information; and transmitting by the consumer banking computer the message comprising the acquiring information to the intermediate banking computer. 5. Het transactieprotocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op het ontvangen van een informatieverzoekbericht geassocieerd met de verkrijg-informatie, bijvoorbeeld een HTTP Get-verzoekbericht, van de consumentencomputer, het zenden door de consumentenbankcomputer van een antwoordbericht, bijvoorbeeld een HTTP antwoordbericht, omvattende de transactie-informatie naar de consumentencomputer voor het in staat stellen van de consumentencomputer om de transactie-informatie te presenteren aan een gebruiker van de consumentencomputer, in antwoord op het ontvangen van een autorisatiebericht van de consumentencomputer omvattende autorisatie-informatie, het zenden van het bevestigingsbericht naar de tussenbankcomputer.The transaction protocol according to one or more of the preceding claims, further comprising in response to receiving an information request message associated with the acquiring information, e.g. an HTTP Get request message, from the consumer computer, sending a consumer message computer from a response message, for example an HTTP response message, comprising the transaction information to the consumer computer for enabling the consumer computer to present the transaction information to a user of the consumer computer, in response to receiving an authorization message from the consumer computer including authorization information , sending the confirmation message to the intermediate bank computer. 6. Het transactieprotocol volgens een of meer van de voorgaande conclusies, verder omvattende na het ontvangen van een bericht van de consumentencomputer omvattende de identificator van de consumentenbankcomputer, het genereren door de ondernemerscomputer van het protocolinitiatiebericht op basis van de identificator van de consumentenbankcomputer en het zenden van het protocolinitiatiebericht.The transaction protocol according to one or more of the preceding claims, further comprising after receiving a message from the consumer computer including the identifier of the consumer banking computer, generating by the entrepreneur computer the protocol initiation message based on the identifier of the consumer banking computer and sending of the protocol initiation message. 7. Het protocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op een transactietoestandverzoekbericht ontvangen van de ondernemerscomputer, het zenden door de ondernemersbankcomputer van een tweede transactietoestandverzoekbericht naar de tussenbankcomputer.The protocol according to any one of the preceding claims, further comprising in response to a transaction state request message received from the entrepreneur computer, the entrepreneur bank computer sending a second transaction state request message to the intermediate bank computer. 8. Het protocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op het tweede transactietoestandverzoekbericht ontvangen van de ondernemersbankcomputer, het vaststellen door de tussenbankcomputer dat het transactieproces is geïnitieerd en het zenden van een transactiebevestigingsbericht naar de ondernemersbankcomputer.The protocol according to one or more of the preceding claims, further comprising in response to the second transaction status request message received from the business bank computer, determining by the intermediary bank computer that the transaction process has been initiated and sending a transaction confirmation message to the business bank computer. 9. Het protocol volgens een of meer van de voorgaande conclusies, verder omvattende in antwoord op het ontvangen van het transactiebevestigingsbericht van de tussenbankcomputer, het zenden door de ondernemersbankcomputer van een notificatiebericht naar de ondernemerscomputer omvattende een indicatie dat de transactie is geïnitieerd.The protocol according to one or more of the preceding claims, further comprising in response to receiving the transaction confirmation message from the intermediate bank computer, sending a notification message to the entrepreneur computer by the entrepreneur bank computer including an indication that the transaction has been initiated. 10. Het protocol volgens een of meer van de voorgaande conclusies, verder omvattende het zenden door de ondernemerscomputer van het protocolinitiatiebericht naar de ondernemersbankcomputer via een derdepartij computer; en/of in antwoord op het ontvangen van het bericht omvattende de verkrijg-informatie van de ondernemersbankcomputer via de derdepartijcomputer, het zenden door de ondernemerscomputer van een instructiebericht aan de consumentencomputer; en/of in antwoord op een transactietoestandverzoekbericht ontvangen van de derdepartijcomputer, het zenden door de ondernemersbankcomputer van een tweede transactietoestandverzoekbericht naar de tussenbankcomputer.The protocol according to one or more of the preceding claims, further comprising sending the protocol initiation message to the business bank computer via a third party computer by the entrepreneur computer; and / or in response to receiving the message including the acquiring information from the business banking computer via the third party computer, the business computer sending an instructional message to the consumer computer; and / or in response to a transaction state request message received from the third party computer, sending a second transaction state request message by the business banking computer to the intermediate bank computer. 11. Een tussenbankcomputer voor gebruik in een transactiesysteem omvattende een ondernemersbankcomputer, de tussenbankcomputer en een consumentenbankcomputer, voor het mogelijk maken van een transactie tussen een consumentencomputer en een ondernemerscomputer, de tussenbankcomputer omvattende een verwerkingssysteem dat is ingericht om het protocol volgens een of meer van de voorgaande conclusies uit te voeren.An intermediate bank computer for use in a transaction system comprising an entrepreneur bank computer, the intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and an entrepreneur computer, the intermediate bank computer comprising a processing system adapted to the protocol according to one or more of the to implement the preceding claims. 12. Een transactieprotocol in een transactiesysteem omvattende een ondernemersbankcomputer, een tussenbankcomputer en een consumentenbankcomputer, voor het mogelijk maken van een transactie tussen een consumentencomputer een ondernemerscomputer, het protocol omvattende: in antwoord op het ontvangen van ten minste één protocolinitiatiebericht van de ondernemerscomputer omvattende een identificator van de consumentenbankcomputer en de transactie-informatie, het zenden door de ondernemersbankcomputer van ten minste één transactieverzoekbericht omvattende een identificator van de consumentenbankcomputer en transactie-informatie naar de tussenbankcomputer op basis van een identificator van de tussenbankcomputer, waarbij het ten minste één protocolinitiatiebericht de identificator van de tussenbankcomputer omvat, en/of het protocol omvat het bepalen door de ondernemersbankcomputer van de identificator van de tussenbankcomputer op basis van de identificator van de consumentenbankcomputer.A transaction protocol in a transaction system comprising an entrepreneur bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer an entrepreneur computer, the protocol comprising: in response to receiving at least one protocol initiation message from the entrepreneur computer including an identifier of the consumer banking computer and the transaction information, the sending by the entrepreneur banking computer of at least one transaction request message including an identifier of the consumer banking computer and transaction information to the intermediate banking computer based on an identifier of the intermediate banking computer, the at least one protocol initiation message being the identifier of the intermediate bank computer, and / or the protocol comprises the determination by the entrepreneur bank computer of the identifier of the intermediate bank computer on the basis of the identifier of the consumer bank computer r. 13. Een ondernemersbankcomputer voor gebruik in een transactiesysteem omvattende de ondernemersbankcomputer, een tussenbankcomputer en een consumentenbankcomputer, voor het mogelijk maken van een transactie tussen een consumentencomputer en een ondernemerscomputer, de ondernemersbankcomputer omvattende een verwerkingssysteem dat ingericht is om het protocol volgens de voorgaande conclusie uit te voeren.An entrepreneur bank computer for use in a transaction system comprising the entrepreneur bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and an entrepreneur computer, the entrepreneur bank computer comprising a processing system adapted to implement the protocol according to the preceding claim. feed. 14. Een werkwijze voor het initiëren van een transactieprotocol in een transactiesysteem omvattende een ondernemersbankcomputer, een tussenbankcomputer en een consumentenbankcomputer, voor het mogelijk maken van een transactie tussen een consumentencomputer en een ondernemerscomputer, de werkwijze omvattende: na het ontvangen van een bericht van de consumentencomputer omvattende een identificator van de consumentenbankcomputer, het bepalen door de ondernemerscomputer van een identificator van de tussenbankcomputer op basis van de identificator van de consumentenbankcomputer; en het zenden van een protocolinitiatiebericht omvattende de identificator van de consumentenbankcomputer en de identificator van de tussenbankcomputer naar de ondernemersbankcomputer, waarbij het protocolinitiatiebericht de ondernemersbankcomputer instrueert om een transactieprotocol te initiëren.A method for initiating a transaction protocol in a transaction system comprising an entrepreneur bank computer, an intermediate bank computer and a consumer bank computer, for enabling a transaction between a consumer computer and an entrepreneur computer, the method comprising: after receiving a message from the consumer computer comprising an identifier of the consumer bank computer, determining by the entrepreneur computer an identifier of the intermediate bank computer based on the identifier of the consumer bank computer; and sending a protocol initiation message comprising the identifier of the consumer bank computer and the identifier of the intermediate bank computer to the entrepreneur bank computer, wherein the protocol initiation message instructs the entrepreneur bank computer to initiate a transaction protocol. 15. Een ondernemerscomputer omvattende een verwerkingssysteem ingericht om de werkwijze volgens de voorgaande conclusie uit te voeren.An entrepreneur's computer comprising a processing system adapted to perform the method according to the preceding claim.
NL2019931A 2017-11-17 2017-11-17 Transaction protocol and devices NL2019931B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL2019931A NL2019931B1 (en) 2017-11-17 2017-11-17 Transaction protocol and devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL2019931A NL2019931B1 (en) 2017-11-17 2017-11-17 Transaction protocol and devices

Publications (1)

Publication Number Publication Date
NL2019931B1 true NL2019931B1 (en) 2019-05-24

Family

ID=61132854

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2019931A NL2019931B1 (en) 2017-11-17 2017-11-17 Transaction protocol and devices

Country Status (1)

Country Link
NL (1) NL2019931B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228336A1 (en) * 1999-02-19 2009-09-10 Giordano Joseph A System and method for processing financial transactions
US20130304638A1 (en) * 2011-11-28 2013-11-14 Douglas Schoenberg Method and system to process payment using sms messaging and a mobile-optimized web form

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228336A1 (en) * 1999-02-19 2009-09-10 Giordano Joseph A System and method for processing financial transactions
US20130304638A1 (en) * 2011-11-28 2013-11-14 Douglas Schoenberg Method and system to process payment using sms messaging and a mobile-optimized web form

Similar Documents

Publication Publication Date Title
US11797981B2 (en) Automated application programming interface (API) system and method
US20220129866A1 (en) Method and system for a secure registration
US20250069057A1 (en) Systems and methods for using a transaction identifier to protect sensitive credentials
US20210279795A1 (en) Integrated credit application and provisioning solution
US11941615B2 (en) Method and system for transmitting credentials
US20150254672A1 (en) Processing authorization requests
RU2769946C2 (en) System for secure remote transactions using mobile apparatuses
CA3102154A1 (en) Systems and methods for binding unique tokens with transaction parameters to authorize transactions
US11935025B2 (en) Real-time delegated approval of initiated data exchanges by network-connected devices
CN112365258A (en) Binding method and device of electronic money account and electronic equipment
KR20170085059A (en) System and method for secure account transfer
US20200387884A1 (en) System and method for group payments
US11049101B2 (en) Secure remote transaction framework
US20170169425A1 (en) Selective encryption of transactional information for different participants of an electronic transaction
NL2019931B1 (en) Transaction protocol and devices
US12217225B2 (en) System and method for smart device communication and transaction processing
US20240320654A1 (en) Computerized method and system for digital payments
NL2025516B1 (en) Methods and systems for transferring funds
WO2024108122A1 (en) Systems and methods for processing cryptocurrency transactions
CN119539814A (en) Account aggregation payment method, system, electronic device, readable medium and product