System and method for providing payment services in electronic commerce

Abstract
A system and method are disclosed for providing a plurality of payment services to facilitate electronic commerce. In one embodiment, services are provided within the context of a four-corner trust model comprising a buyer and a seller that engage in an on-line transaction. The buyer is a customer of a first financial institution. The first financial institution acts as a certificate authority for the buyer and issues the seller a hardware token including a private key and a digital certificate signed by the first financial institution. The seller is a customer of a second financial institution. The buyer uses its private key to sign payment instructions that are forwarded to the first or second financial institution for execution. The message may be forwarded to the first financial institution indirectly via the seller and the second financial institution. Payment instruments supported by the present system may include a payment order, a payment obligation, a certified payment obligation, and conditional payments.
Description
FIELD OF THE INVENTION

The present invention relates generally to the field of facilitating electronic commerce by providing services via a public key infrastructure.


BACKGROUND OF THE INVENTION

The world of electronic commerce has created new challenges to establishing relationships between contracting parties. One of those challenges springs from the fact that the parties to the transaction cannot see or hear each other, and cannot otherwise easily confirm each other's identity and authority to act.


One remedy for this problem is to provide each contracting party with a private key for signing transmitted messages. The signing party makes available an associated public key that decrypts messages signed with the party's private key, and thus enables a receiving party to confirm the identity of the sender.


But the sender's public key may not be known a priori to the recipient. In that event, the sender may transmit with its signed message a digital certificate issued by a certificate authority. The certificate is itself a signed electronic document (signed with the private key of the certificate authority) certifying that a particular public key is the public key of the sender.


In some cases, the recipient may be unfamiliar with the public key of the certificate authority or may not know whether the certificate is still valid. In that event, the recipient may wish to check the authenticity and validity of the certificate with an entity that it trusts. One known protocol for checking certificate status is the on-line certificate status protocol (OCSP).


Another challenge facing electronic commerce relates to payments and the establishment of payment systems. In some cases, purchasers pay for goods purchased over the Internet by transmitting a credit card number to a merchant. Security risks and other drawbacks associated with this practice make it undesirable even for business-to-consumer transactions, and unacceptable for most business-to-business ones.


Several electronic payment systems have also been proposed, including ones that employ digital certificates to authenticate the identity of a payor. These systems, however, do not provide the array of payment instruments required for modern electronic commerce, especially business-to-business electronic commerce, and often fail to provide an adequate infrastructure to securely and verifiably effect electronic payments.


SUMMARY OF THE INVENTION

A system and method are disclosed for providing a plurality of payment services to facilitate electronic commerce. In a preferred embodiment, these services are provided within the context of a four-corner trust model. The four-corner model comprises a buyer, also referred to as the subscribing customer, and a seller, also referred to as the relying customer, who engage in an on-line transaction. The buyer is a customer of a first financial institution, referred to as an issuing participant. The issuing participant acts as a certificate authority for the buyer and issues the buyer a hardware token including a private key and a digital certificate signed by the issuing participant. The seller is a customer of a second financial institution, referred to as the relying participant. The relying participant acts as a certificate authority for the seller and issues the seller a hardware token including a private key and a digital certificate signed by the relying participant. The system also includes a root certificate authority that issues digital certificates to the issuing and relying participants.


One benefit of the four-corner model is that trust between a buyer and seller does not depend on each party using the same certifying authority to validate digital certificates, or identity, to each other. Rather, the buyer and seller each look, in the first instance, to their respective banks for such validations. In turn, the buyer's and seller's banks look to the root entity to provide the necessary bridge that enables them to confidently validate the identity of one party to another and the integrity of the messages they exchange.


The present system and method leverage this trust model to provide enhanced payment services to buyers and sellers. The four-corner trust model and pre-established banking relationships between the parties and their respective banks enable the parties to complete an on-line purchase or trade and simultaneously arrange for a secure, efficient and, optionally, guaranteed payment. Moreover, use in the present system of digitally signed payment instructions provides authentication, message integrity, non-repudiation, and confidentiality.


In a preferred embodiment, payment messaging in the present system proceeds from buyer to seller to seller's bank to buyer's bank. Thus, for example, a buyer may execute a payment instruction and forward it to the seller who in turn forwards it to the seller's bank for ultimate delivery to, and payment by, the buyer's bank.


The present system and method operate efficiently in part because parties have pre-established payment authorization, routing, and settlement instructions with their banks, which enable the parties to initiate an on-line payment that is simultaneous with the transaction, rather than through a separate, off-line step. Additional efficiencies are created through standardized payment processing procedures at the banks.


The present system and method provide numerous benefits to buyers. In particular, the present system and method provide a buyer with access to a variety of payment options to satisfy a seller's requirements. The buyer is also provided with improved timing and knowledge of cash flows. In addition, the present system and method enable a buyer to cover trade-inherent risks by using a conditional payment instrument. Moreover, the buyer enjoys efficient work flows, as payment and purchasing are bundled into one process. Interfacing of the present system and method with existing legacy systems also enables full electronic processing of the entire transaction. The present system and method also provide numerous benefits to sellers. In particular, the present system and method provide a seller with the ability to offer payment terms tailored to valued clients. The seller also reduces his or her credit risk through the use of assured payments. In addition, the present system and method improve a seller's timing and knowledge of cash flows. Moreover, the seller enjoys efficient work flows, as payment and purchasing are bundled into one process. Also, if the seller is holding a payment obligation, it may ask its bank to discount the obligation, providing a source of financing to the seller. Interfacing of the present system and method with existing legacy systems also enables full electronic processing of the entire transaction.


In a preferred embodiment, the present system and method facilitate a plurality of payment instruments. These include a payment order, a payment obligation, a certified payment obligation, and conditional payments. Each of these payment instruments is described in more detail below in the detailed description.


In a preferred embodiment, the present system facilitates the creation and transfer of negotiable electronic payment instruments. For example, the present system includes a payment obligation that may preferably be sold in the secondary market. Change in the holder of these obligations may preferably be performed through use of a holder registry service.




BRIEF DESCRIPTION OF THE DRAWINGS

The above summary of the invention will be better understood when taken in conjunction with the following detailed description and accompanying drawings, in which:



FIG. 1 is a block diagram of a preferred embodiment of the four-corner model employed by the present system;



FIG. 2 is a block diagram depicting components preferably provided at entities in the four-corner model;



FIG. 3 is a composite block/flow diagram of a first payment scenario;



FIG. 4 is a composite block/flow diagram of a second payment scenario;



FIG. 5 is a composite block/flow diagram of a third payment scenario;



FIG. 6 is a diagram illustrating a preferred embodiment of the message flow for processing a payment order;



FIG. 7 is a diagram illustrating a preferred embodiment of the message flow for processing a payment obligation; and



FIG. 8 is a diagram illustrating a preferred embodiment of the message flow for processing payment conditions.




DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

System Architecture and Technical Characteristics


The present disclosure relates to a system that allows financial institutions to securely provide payment services to their customers. In a preferred embodiment, these services may be provided within the context of a four-corner trust model. A preferred embodiment of the four-corner model employed by the present system is shown in FIG. 1.


As shown in FIG. 1, the four-corner model comprises a first institution 102 and a second institution 104. First institution 102 is referred to as the “issuing participant” because it is a participant in the present system and issues digital certificates to its customers, as described below. Second institution 104 is referred to as the “relying participant” because it is a participant in the present system and its customers rely on representations made by issuing participant 102 and issuing participant 102's customers, as described below. Participants 102, 104 are typically banks or other financial institutions.


Also shown in FIG. 1 are a first customer 106, and a second customer 108. First customer 106 and second customer 108 are preferably customers of issuing participant 102 and relying participant 104, respectively.


First customer 106 is sometimes referred to as the “subscribing customer” because it subscribes to services provided by participant 102. First customer 106 is also sometimes referred to as the “buyer” because that is the role it typically plays in transactions in the four-corner models.


Second customer 108 is sometimes referred to as the “relying customer” because it relies on representations made by both issuing participant 102 and subscribing customer 106. Second customer 108 is also sometimes referred to as the “seller” because that is the role it typically plays in transactions in the four-corner model. It should be recognized, however, that although the description below speaks primarily in terms of a buyer 106 and a seller 108, first customer 106 and second customer 108 may instead have different roles in a given transaction. For example, first customer 106 may be a borrower repaying a loan to second customer 108.


Also shown in FIG. 1 is a root entity 110. Root entity 110 is typically an organization that establishes and enforces a common set of operating rules for facilitating electronic commerce and electronic communications. Root entity 110 may be owned jointly by a plurality of banks and/or other financial institutions that have agreed to adhere to these operating rules. One exemplary embodiment of such a root entity is described in copending application Ser. No. 09/502,450, filed Feb. 11, 2000, entitled System and Method for Providing Certification-Related and Other Services, which is hereby incorporated by reference.



FIG. 2 is a block diagram depicting components preferably provided at each entity in the four-corner model. As shown in FIG. 2, participants 102, 104 and root entity 110 are each preferably provided with a transaction coordinator 202 that serves as a gateway for transmitting and receiving all inter-entity messages related to services provided by the present system. Transaction coordinators 202 provide a single interface to issuing participant 102's and relying participant 104's on-line services and implement safeguards necessary to ensure secure electronic communications between transaction coordinators 202 and other entities in the four-corner model. A preferred embodiment of a transaction coordinator 202 suitable for use in the present system is described in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Certificate Validation and Other Services, which is hereby incorporated by reference.


Participants 102, 104 and root entity 110 are each further preferably provided with an OCSP responder 204 and hardware security module (HSM) 206. HSM 206 is adapted to sign messages and verify signatures on messages.


In addition, each participant 102, 104 and root entity 110 is further preferably provided with a billing data database 208 (connected to a bank billing application 210 in the case of participants 102, 104), a raw transaction log, 212, a customer data database 214, a risk manager 216 (connected to customer data database 214), and a hardware security module 218, each of which is connected to transaction coordinator 202.


As further shown in FIG. 2, relying customer 108 is preferably provided with a Web server 220 that is adapted to receive and transmit information via the Internet. Relying customer 108 is further preferably provided with a bank interface 222 for communicating with relying participant 104. One preferred embodiment of bank interface 222 (as well as additional components preferably provided at relying customer 108) is described in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Facilitating Access By Sellers to Certificate-Related and Other Services, which is hereby incorporated by reference. Relying customer 108 is preferably further provided with a hardware security module 230 for signing and verifying system messages.


As further shown in FIG. 2, subscribing customer 106 is preferably provided with a Web browser 224 for browsing the Internet, and a smart card 226 (and associated reader) for signing messages, as described below.


In a preferred embodiment, each system entity is provided with two digital certificates (and corresponding private keys) to facilitate authentication: An identity certificate (also referred to, in some cases, as a warranty certificate) and a utility certificate. In addition, in a preferred embodiment, each transaction coordinator 202 is preferably provided with its own identity certificate and utility certificate and associated private keys.


The identity private key is used to produce digital signatures that are required by root entity 110 as evidence of an entity's contractual commitment to the contents of an electronic transaction. A certificate chain is needed to support operations using this key. The status of the identity certificate may be obtained by authorized entities as described, for example, in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Certificate Validation and Other Services, which is hereby incorporated be reference.


The utility private key is used to produce digital signatures that allow additional transactional security. Typically, utility certificates are used to support secure socket layer sessions, to sign S/MIME messages, and for other utility applications. A certificate chain is also needed to support operations using the utility key. The status of the utility certificate, however, may not be available to a requester. Throughout this document, the term “certificate” refers to an identity certificate unless otherwise stated.


In a preferred embodiment, subscribing customer 106's digital certificates and associated private keys are provided to it by issuing participant 102. Issuing participant 102 preferably issues smart cards or other suitable instruments to subscribing customer 106 that include at least the private key associated with the subscribing customer's identity certificate. If desired, the smart card may also include the subscribing customer's identity certificate. Preferred specifications for the smart card, its manufacture, and contents are described in copending U.S. provisional patent application Ser. No. ______, filed Aug. 14, 2000, entitled Signing Interface Requirements, Smart Card Compliance Requirements, Warranty Service, Functional Requirements, and Additional Disclosure, which is hereby incorporated by reference.


In a preferred embodiment, the present system supports at least the following Internet transport protocols: Hyper Text Transport Protocol (HTTP), Multipurpose Internet Mail Extensions (MIME), Simple Mail Transport Protocol (SMTP), and Internet Inter-ORB Protocol (IIOP). In addition, the present system preferably supports at least the following Internet transport security protocols: Secure Sockets Layer (SSL), Secure/Multipurpose Internet Mail Extensions (S/MIME), Transport Layer Security (TLS), and Secure Internet Inter-ORB Protocol (S-IIOP).


In a preferred embodiment, payment instruments in the present system are encrypted to protect confidential financial information. Due to the confidential nature of the information exchanged between all parties strong encryption is preferred. The encryption should preferably be at the message-level, in addition to any transport-level encryption.


To enable automated processing, payment messages in the present system are preferably structured to optimize fast on-line processing with certificate management services provided by the present system (e.g., certificate validation) as well as with other systems such as legacy systems that are external to the present system. Integration with the present system may include a set of MIME-based messages. Integration with other systems may include EDIFACT, XML/BizTalk and Enterprise Java Beans. These are preferred because they enable straightforward conversion into existing payment message formats.


Payment services messages in the present system are preferably signed by system entities using the private keys associated with their identity certificates. The payment services messages may be enveloped or referenced, or both, in the content of certificate management service messages.


Many of the payment messages described below require contributions from more than one party before the completed message is transmitted to the final recipient. Messages in the present system are therefore preferably structured to support signed additions to the contents while preserving non-repudiation for each signer and the final recipient.


At the very low end, a buyer 106 may typically employ a standard Internet browser such as Netscape Navigator™ or Internet Explorer™ along with some method to support applications related to the present system. Such methods may include a browser plug-in, the use of Java applets or some other technology. Technology options such as XML may also be used.


One potential implementation is to load an HTML page into browser 224 from a seller-side server containing the results of the negotiation of terms and conditions between buyer 106 and seller 108. Using a signed JAVA applet as part of the downloaded HTML page the information can be structured and digitally signed using smart card 226. The resulting message can then be forwarded to the server for further processing. An alternative implementation approach is the use of plug-ins or helper applications, which compose and sign the payment service messages. Preferred embodiments for these implementations are described in copending U.S. provisional patent application Ser. No. ______, filed Aug. 14, 2000, entitled Signing Interface Requirements, Smart Card Compliance Requirements, Warranty Service, Functional Requirements, and Additional Disclosure, which is hereby incorporated by reference.


Besides this synchronous communication model, other models of information exchange between buyer 106 and seller 108 may be supported. For example, asynchronous e-mail exchange may be supported by the system.


Typically, the seller uses a standard HTTP web server (e.g., Apache) to serve HTML pages and runs an application server to provide specific business functionality to buyers, (e.g., a shopping system). Integrated with this application are other software components that facilitate access to system services including the validation and warranty services described, for example, in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Certificate Validation and Other Services, which is hereby incorporated by reference, and the payment services described herein. In a preferred embodiment, this integration may be the active integration described in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Facilitating Access By Sellers to Certificate-Related and Other Services, which is incorporated by reference. A seller 108's decision about payment instruments to offer buyer 106 and the resulting terms of a purchase are an integral part of the seller's application.


As an example, seller 108's application may use the buyer 106's certificate to identify a customer and apply special terms and conditions to that customer. In addition, the use of the payment services might be dependent on the merchandise as well as a customer's history with seller 108. For example for an order above a specific limit seller 108 may only be willing to accept certified payment obligations provided by a bank. In contrast, below a certain threshold seller 108 may decide to accept payment orders. In addition, a seller may use third party services like a Dun and Bradstreet rating service to decide which payment instruments are acceptable for a given transaction.


Applications running at seller 108 are preferably adapted to sign messages, verify signatures on messages, and check the status of a certificate as described, for example, in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Facilitating Access By Sellers to Certificate-Related and Other Services, which is incorporated herein by reference, and to provide the payment services described herein.


In addition to Web based implementations, server-to-server communication or an automated email-processing tool may also be employed at the seller's side.


Each participant in the present system may act as either a relying participant or an issuing participant depending on the situation. Thus, for example, in a case where a customer of a first participant is the buyer in a given transaction and a customer of a second participant is a seller in the same transaction, then the first participant is the issuing participant with respect to that transaction, and the second participant is the relying participant with respect to that transaction. Each participant preferably offers a number of services, including the following: acting as a certification authority for its customers (supporting issuance, renewal and revocation of certificates), providing validation and warranty services to its customers, responding to OCSP requests from other system participants (supporting certificate validation), and providing and supporting payment services for its customers (e.g., the payment services discussed herein).


In a preferred embodiment, transaction coordinator 202 is the primary interface to certificate based services provided by a participant. As described in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled System and Method for Certificate Validation and Other Services, which is incorporated herein by reference, transaction coordinator 202 facilitates system functions like message verification, logging, billing, and authorization to all certificate based services.


Each customer certificate is preferably linked to an end-user authorization system at issuing participant 102 and relying participant 104. The components of the authorization system may be determined by each participant, but typically include information on transaction types, amount limits, overrides and approvals permitted to each customer certificate. A preferred authorization approach is described in copending U.S. patent application Ser. No. ______, filed on even date herewith, entitled Authorization/Credential Service and Authorization/Credential Service Proposal, which is incorporated herein by reference.


Each customer certificate is preferably linked to a payment template system at buyer's bank 102 and seller's bank 104. The payment template stores default payment instructions for buyer 106, seller 108, and seller's bank 104 that are used by buyer's bank 102 to execute payment authorization messages. The design of the payment authorization message may permit some of the instructions to be overridden by a duly authorized buyer or seller end-user.


In a preferred embodiment, each bank may, at its discretion, provide its customers with additional functionality. This additional functionality may include maintenance of limits for a buying company or provision of aggregated management information about the use of payment services by a specific customer.


In a preferred embodiment, the payment services disclosed herein use existing bank networks for actual payment. They may also use existing functionality already available at banks like a payment warehousing system for future dated payments. Some of the connections to these existing systems are preferably real-time and on-line. These systems may include: a real-time, on-line interface to a payment initiation system to create, warehouse, and release payment orders; a real-time, on-line interface to a payment risk system that monitors daylight and overnight limits; a real-time, on-line component for generating payment initiation acknowledgments; a real-time, on-line interface to system identity servers to process digital signatures and identity assurance; a real-time, on-line interface to an application authorization system; and a real-time, on-line interface to a warehouse of payment order cancellation requests sent by a buyer 106 before buyer's bank 102 receives a payment order (payment revocation list).


Payment Instruments and Scenarios


Payment instruments provided by the present system include a payment order, a payment obligation, a certified payment obligation, and conditional payments. A brief description of each payment instrument is now provided. Each payment instrument is described in more detail below.


Payment Order


A payment order (POr) is a revocable, unconditional electronic instruction from a buyer 106 requesting buyer's bank 102 to initiate a credit payment to seller 108 on a specific date for a specified amount. The payment order is typically used when the buyer and seller have an established business relationship.


Payment Obligation and Certified Payment Obligation


A payment obligation (POb) is an irrevocable, unconditional undertaking of a buyer 106 to pay a seller 108, or holder, of the obligation on a specific date for a specified amount at buyer's bank 102. It is evidence of debt of the buyer to the seller. Buyer 106 may request buyer's bank 102 to accept or certify the obligation to pay seller 108, in which case it becomes a certified payment obligation (Certified POb).


A payment obligation is typically used when seller 108 is unsure of buyer 106's intent to pay on time. A certified payment obligation is used when seller is unsure of buyer's ability to pay.


Conditional Payments


A conditional payment is a payment order or a payment obligation in favor of a named seller, payable at buyer's bank 102 upon presentation to buyer's bank 102 of specified electronic messages, signed by specified parties, to evidence fulfillment of pre-agreed conditions. Buyer 106 may request buyer's bank 102 to accept or certify the obligation to pay seller 108, in which case it becomes a certified conditional payment obligation (Certified CPOb).


A conditional payment is used when either buyer 106 or seller 108, or both, agree that the payment will be effected only after certain provisions have been met. It is used to trigger the timing and occurrence of payment. A certified conditional payment obligation adds assurance that the payment will be effected once specified provisions have been met.


Payment Scenarios and Models


In a preferred embodiment, buyer 106, through various commercial and financial scenarios, can initiate payment orders and payment obligations. This is due to the ability of system 200 of FIG. 2 to identify parties at almost any stage of a commercial or financial transaction, which provides a great deal of flexibility as buyers initiate payments. The scenarios described below illustrate this flexibility.


Online Payment Initiation Through Seller Payment Server


In a first payment scenario, seller 108's payment server offers payment order or payment obligation options to buyer 106. As shown in FIG. 3, in this first scenario, buyer 106 creates a payment order or payment obligation instruction and authorizes seller 108 to forward the instruction to buyer's bank 102 through seller's bank 104. Buyer 106, seller 108, and optionally, seller's bank 104, supply information needed to initiate the payment or create the obligation. In a preferred embodiment, using the four corner transaction model, buyer's bank 102 initiates payment or creates an obligation based on buyer 106's signature.


Online Debit Authorization Through Seller Payment Server


In a second payment scenario, seller 108's payment server offers a direct debit option to buyer 106 as depicted in FIG. 4. As shown in FIG. 4, in this second scenario, buyer 106 authorizes seller 108 to forward to seller's bank 104 an instruction for direct debit from buyer 106's account. In a preferred embodiment, buyer 106 and seller 108 supply information needed to initiate the payment. Seller's bank 104 initiates direct debit, based on seller 108's signature. This is referred to as a direct debit transaction model. It should be noted that this scenario may not work if buyer 106 and seller 108 operate in different countries.


Payment Initiation Through Buyer Payment Server.


In a third payment scenario, buyer 106's payment server sends a payment order or obligation instructions directly to buyer's bank 102 as depicted in FIG. 5. As shown in FIG. 5, in this third payment scenario, buyer 106 supplies information needed to initiate the payment or obligation. Buyer's bank 102 initiates payment or creates the obligation based on buyer 106's signature. This is referred to as a buyer to buyer's bank transaction model.


Legal Relationships Between System Entities


In a preferred embodiment, contractual agreements bind banks and their customers. In particular, the use of system services is preferably defined by a set of operating rules and one or more contracts derived from these rules that are binding on system entities, as described in more detail below.


In a preferred embodiment, operating procedures and rules for the payment services disclosed herein define the rights and responsibilities of the participants. The rules of various electronic payment associations (including those of foreign jurisdictions) may serve as a helpful guide when creating these rules. Moreover, those association rules might even impose certain requirements on the new rules. For example, special attention is preferably given to association rules regarding issues of reversal of transaction and finality of payment.


Alternatively, to the extent that the payment order or obligation cannot be reconciled with existing payment rules, or in the event that such rules need to be supplemented (outside their existing framework) to take account of the unique nature of on-line payment initiation, the various parties involved in a transaction may be bound by an additional set of rules imposed by root entity 110.


In a preferred embodiment, the operating rules for the present system incorporate the Uniform Rules for Electronic Trade and Settlement (URETS), once approved by the International Chamber of Commerce (ICC).


In a preferred embodiment, payment obligations and certified payment obligations in the present system are created and recorded entirely in book entry form. As in the case of the bill of exchange, the payment obligation or the certified payment obligation may preferably be sold in the secondary market. Change in the holder of these obligations may preferably be performed through use of a holder registry service. Buyer's bank 102 is preferably made accountable for registering the correct holder of the obligation.


In a preferred embodiment, before payment services are used, buyer 106 and seller 108 each establish a relationship with their respective participants 102, 104. In a preferred embodiment, this includes the following steps:

    • Each customer and its respective participant sign a contract defining their roles and responsibilities in connection with payment services. This contract is typically in addition to other contracts between the parties covering other aspects of their customer-bank relationship. On signing of the contract, the customer accepts the operating rules for the payment services.
    • Each participant sets up the payment service for its respective customer. This may require a credit review process involving a number of bank departments.


Establishing a payment guarantee account may take from hours to days and may be part of an existing credit relationship between the parties. It also preferably includes registration of the employees authorized to use payment services and establishing a line of credit for the customer. It also preferably encompasses set-up of standard settlement instructions for buyer 106 (e.g., account to be debited for each currency, payment system to be used). In addition, each bank may require additional set-up procedures dependent on the specific service the bank is offering its customers.


In a preferred embodiment, dispute resolution between system entities may be regulated by the operating rules, as described in copending U.S. patent application Ser. No. 09/502,450, filed Feb. 11, 2000, entitled System and Method for Providing Certification-Related and other Services, which is hereby incorporated by reference.


General Description of Payment Services Products


In a preferred embodiment, the combination of payment obligation, or revocability, and documentary conditions in the present system produce several instrument types that provide a range of payment instruments to meet the credit and risk management needs of business-to-business electronic commerce. These instrument types are summarized in the table below.

TABLE 1PaymentWhoseonRevocableObligationNegotiableConditionRecurringPAYMENT ORDERPaymentYesBuyerNoNoYesOrderPAYMENT OBLIGATIONPaymentNoBuyerYesNoNoObligationCertifiedNoBankYesNoNoPaymentObligationCONDITIONAL PAYMENTConditionalYesBuyerNoYesNoPaymentOrder7ConditionalNoBuyerYesYesNoPaymentObligationCertifiedNoBankYesYesNoConditionalPaymentObligation


In a preferred embodiment, a payment order provides automated, on-line payment initiation to buyers and sellers conducting electronic commerce over the World Wide Web. The payment order can be credit or debit. Debit can be originated by buyer 106 (thus serving as an authorization by the buyer), or it can be a collection (originated by seller 108, without authorization by the buyer; N.B. this may not be permitted in all countries).


Credit-enhanced payment services, where buyer's bank 102 is obligated to pay seller 108, may include a certified payment obligation. The certified payment obligation is preferably an unconditional undertaking of buyer's bank 102 to pay seller 108 for goods purchased.


In a preferred embodiment, a conditional payment order is similar to the payment order described above except that buyer's bank 102 does not release payment until it has received documents from seller 108 evidencing that seller 108 has shipped the goods that are the subject of the transaction. A certified conditional payment obligation is preferably an undertaking of buyer's bank 102 to pay seller 108, conditioned on seller 108 or a third party submitting documents specified in the documentary credit to buyer's bank 102 to evidence fulfillment of contractual obligations.


The present system and method employ a plurality of request messages and response messages to implement the above-identified payment instruments. Generally, these include:


1) Request Messages:

TABLE 2AcronymDescriptionPOr InstPayment Order InstructionPOb InstPayment Obligation InstructionCPOr InstConditional Payment Order InstructionCPOb InstConditional Payment Obligation InstructionCePOb InstCertified Payment Obligation InstructionCeCPOb InstCertified Conditional Payment Obligation InstructionPOr CnclPayment Order CancellationCnd AdvCondition AdviceSts InqStatus Inquiry


2) Response Messages:

TABLE 3AcronymDescriptionSrv AckService Acknowledgement to request messagesPay ConfConfirmation of a Payment ExecutionPOb Acpt ConfConfirmation of Payment Obligation AcceptanceCePOb Acpt ConfConfirmation of Certified Payment ObligationAcceptancePOr Cncl ConfConfirmation of a Payment Order CancellationCnd UpdateAn intermediate update in response to thecondition advice messageCnd DeclCondition Declaration in response to the conditionadvice messageSts Inq RespStatus Inquiry Response


It should be noted that the categorization of the above messages is general, and that a more specific categorization and functional description of these and other related messages may vary depending on how the system of the present invention is specifically implemented.


A preferred implementation of system messages using Extensible Markup Language (XML) is described in detail below.


In a preferred embodiment, each message is structured to support signed additions to its contents and attachments (including one or more signatures/certificates to each addition) while preserving non-repudiation for each signing party and the final recipient. In addition, in a preferred embodiment, the system adheres to the following requirements:

    • 1. Each request message, when received by the intended final party, returns a service acknowledgment (Srv Ack) message.
    • 2. When a financial institution executes a payment, it sends a confirmation (Pay Conf) message of this action to the appropriate parties.
    • 3. When a financial institution receives a payment obligation instruction, it sends a confirmation message (POb Acpt Conf) to the sender of the message indicating whether the obligation will or will not be carried out. A CePOb Acpt Conf message is preferably sent in response to payment obligation messages that are requested to be certified.
    • 4. When a financial institution receives a payment order cancellation message (POr Cncl), it responds with a message (POr Cncl Conf) confirming that this cancellation has been accepted or rejected.
    • 5. When a third party service provider (TPSP) entity receives a condition advice message (Cnd Adv), it responds with a response message (Cnd Decl), when the condition has been met, or when it ascertains that the condition will never be met.
    • 6. Payment instruction messages may be signed by multiple parties at buyer 106's organization.
    • 7. All payment messages are signed by each relaying party.
    • 8. Buyers 106 and sellers 108 use a bank's certificate to identify themselves in a payment message (except in the circumstance where the buyer and seller have the same bank, i.e., in the case of a three, rather than four, corner transaction).


Tables describing the content of each system message are provided below. In each table, the first column identifies the name of the message portion, the second column specifies whether, in a preferred embodiment, the message portion is mandatory, optional, or conditional (i.e., whether it is mandatory depends on the circumstances), the third column identifies the entity that provides the content for the message portion, and the fourth column contains additional comments concerning the message portion.


In a preferred embodiment, a payment order instruction comprises the following data:

TABLE 4ContentNameUseProviderCommentsVersionMandatoryBuyerTo identify the version number.Buyer Creation DateMandatoryBuyerBuyer Creation TimeMandatoryBuyerBuyer ReferenceOptionalBuyerBuyer instruction referenceRelated TransactionOptionalBuyerReference of underlying commercial orReferencefinancial transactionPayment AmountMandatoryBuyerPayment CurrencyMandatoryBuyerUse ISO codesTransaction TypeMandatoryBuyerPayment OrderPayment TypeOptionalBuyerThis is the payment type option for aspecific payment method. Examplesinclude CTX, CCD for US ACHpayments.Execution DateMandatoryBuyerThis is the date buyer's bank isrequested to execute the transaction.FeesMandatoryBuyerAllowable values are:All fees borne by buyerAll fees borne by sellerEach pays own feesBuyer IdentificationMandatoryBuyerBuyer certificateBuyer's Account atOptionalBuyerField used to override account dataBuyer's Bankassociated with buyer certificate.Seller IdentifierMandatoryBuyerSeller certificateSeller Creation DateMandatorySellerSeller Creation TimeMandatorySellerSeller ReferenceOptionalSellerSeller instruction referenceSeller's Account atOptionalSellerField used to override account dataSeller Bankassociated with seller certificate.Seller's PaymentOptionalSellerUsed to identify a sub-accountIdentifierrelationship with seller's bank for cashapplication (i.e., lockbox)Seller's Bank 104MandatorySeller'sMust use trusted time serverCreation DateBankSeller's Bank 104MandatorySeller'sMust use trusted time serverCreation TimeBankSeller's Bank 104MandatorySeller'sReferenceBankSeller Bank FeeConditionalSeller'sMandatory if all fees borne by buyerAmountBankFee currency is same as paymentcurrency.Seller's Bank 104OptionalSeller'sField used to override settlementCorrespondent BankBankinstructions associated with relyingparticipant certificate.Corresponds to S.W.I.F.T. field 54.


In a preferred embodiment, a payment obligation instruction contains the data listed above for a payment order instruction with the exception of the changes listed in the table below:

TABLE 5NameUseContent ProviderCommentsTransaction TypeMandatoryBuyerPayment OrderPaymentMandatoryBuyerAllowable values are:Obligation PartyBuyer or buyer's bank


In a preferred embodiment, a certified payment obligation instruction contains the same data as that listed above for a payment order instruction.


In a preferred embodiment, (1) a conditional payment order instruction contains the data described above for a payment order instruction with the exception of the changes listed in the table below; (2) a conditional payment obligation instruction contains the data described above for a payment obligation instruction with the exception of the changes listed in the table below; and (3) a certified conditional payment obligation instruction contains the data described above for a certified payment obligation instruction with the exception of the changes listed in the table below:

TABLE 6ContentNameUseProviderCommentsPaymentMandatoryBuyerThis is the date buyer's bank isExecutionrequested to execute theDate/Termtransaction or a payment term e.g.,“upon conditions met”;“30 days afterconditions met”.PaymentMandatoryBuyerFields for:ConditionsTPSP Identifier; merchandisedescription; message details;confirmation by date; others


In a preferred embodiment, payment conditions are selected from a collection of condition templates. In addition, each condition is preferably structured to allow an unambiguous true/false confirmation.


In a preferred embodiment, the TPSP may attach or append to the confirming message additional purchase details or electronic documents/files for information purposes which may or may not be required under the condition.


In a preferred embodiment, payment order cancellation messages (POr Cncl) may be signed by multiple parties at buyer 106's organization.


In a preferred embodiment, payment order cancellation messages contain the following data:

TABLE 7ContentNameUseProviderCommentsBuyerOptionalBuyerBuyer instruction referenceReferenceRelatedOptionalBuyerReference of underlyingTransactioncommercial or financial transactionReferenceBuyerMandatoryBuyerBuyer certificateIdentificationPaymentMandatoryBuyerThis is a unique identifier thatOrderrelates to the specific paymentInstructionorder instruction that is to beReferencecanceled by this message.


In a preferred embodiment, condition advice (Cnd Adv) messages are sent from a trusted service supplier (TSS) organization, a role which may be played by buyer's bank 102. These messages are used to set conditions which must be met in order to facilitate payment execution. In a preferred embodiment, all condition advice messages (Cnd Adv) are sent to the TPSP and the TPSP sends a service acknowledgment (Srv Ack) message in response to this message. In a preferred embodiment, the condition advice message contains the following data:

TABLE 8ContentNameUseProviderCommentsVersion NumberMandatoryTo identify version numberTSS (Buyer'sMandatoryTSSBuyer's bank certificateBank) IdentifierMessage CreationMandatoryTSSMust use trusted time serverDateMessage CreationMandatoryTSSMust use trusted time serverTimePaymentMandatoryFromTo identify payment instruction reference.InstructionPaymentReferenceInstPayment ConditionMandatoryFromDefaults when payment instruction referenceConfirmationPaymententered. Fields can be structured for:InstMerchandise DescriptionMessage DetailsConfirmation DateEtc.Additional DetailsOptionalTSSFor use when additional file or details are toAppend Codebe attached for information purposes:Allowable values:YN(Defaults to N)Additional DetailsConditionalTSSMandatory if “Additional Details AppendAreaCode” is Y.Area where text can be pasted or where filescan be attached.


In a preferred embodiment, parties obtain information relating to specific transactions from other parties in the payment initiation system using status enquiry messages.


In a preferred embodiment, a response message is produced on receipt of any type of request message. Each response message preferably indicates whether it is returning a positive or negative response to the received request message.


In a preferred embodiment, service acknowledgment (Srv Ack) messages are sent in response to all request messages. The following messages are all preferably responded to with service acknowledgment (Srv Ack) messages:

    • POr Inst (payment order instruction)
    • POb Inst (payment obligation instruction)
    • CPOr Inst (conditional payment order instruction)
    • CPOb Inst (conditional payment obligation instruction)
    • CePOb Inst (certified payment obligation instruction)
    • CeCPOb Inst (certified conditional payment obligation instruction)
    • POr Cncl (payment order cancellation)
    • Cnd Adv (condition advice)
    • Cnd Update (an intermediate update in response to the condition advice message)
    • Cnd Decl (condition declaration in response to the condition advice message)


In a preferred embodiment, service acknowledgment (Srv Ack) messages are sent when the syntax, signature(s), certificate(s), and user authority contained within the message are verified by the final intended recipient. This final intended recipient may vary as a function of the payment scenario. For example, in the four-corner model, the intended final recipient of payment order/obligation request messages, is buyer's bank 102. In contrast, in the direct debit model, the intended final recipient of payment order/obligation request messages, is seller's bank 104. In a preferred embodiment, service acknowledgment (Srv Ack) messages are sent in response to any received payment instruction message within one minute from receipt by the final intended recipient of the payment instruction message.


In a preferred embodiment, the service acknowledgment (Srv Ack) message contains the data listed in the following table:

TABLE 9ContentNameUseProviderCommentsVersion NumberMandatoryBuyer's BankTo identify the version number(BB)/Seller'sBank (SB)Message Creation DateMandatoryBB/SBMust use trusted time serverMessage Creation TimeMandatoryBB/SBMust use trusted time serverMessage StatusMandatoryBB/SBAllowable types:PositiveNegativeSrv Ack MessageMandatoryBB/SBReferenceOriginal RequestConditionalBuyer/SellerMandatory if present in theMessage Referenceoriginal request message.Seller IdentifierMandatoryBB/SBSeller certificateReason CodeConditionalBB/SBMandatory if Message Status isnegative acknowledgment.Reason TextOptionalBB/SBReason for negativeAcknowledgement


In a preferred embodiment, whenever an entity that is not the final intended recipient receives a service acknowledgment (Srv Ack) message the entity envelopes this information, adds its service acknowledgment (Srv Ack) information, and passes the message onto the final intended recipient. For example, when a seller's bank 104 receives a service acknowledgment (Srv Ack) from a buyer's bank 102 when operating in the four-corner model, it passes this service acknowledgment (Srv Ack) onto its seller 108.


In a preferred embodiment, this service acknowledgment (Srv Ack) message contains the data listed in the previous table, as well as the data listed in the following table:

TABLE 10ContentNameUseProviderCommentsOriginal Srv AckMandatorySeller'sOriginal signed Srv AckMessage DataBankmessage from buyer's bankFrom Buyer'senveloped within thisBankSrv Ack message


In a preferred embodiment, payment execution confirmation (Pay Conf) messages are sent when a financial institution has executed the payment process specified in the related payment instruction. The payment execution confirmation (Pay Conf) message is preferably sent to the appropriate recipients no later than by the end of the following business day. This payment execution confirmation (Pay Conf) message preferably contains the following data:

TABLE 11ContentNameUseProviderCommentsVersion numberMandatoryBB/SBTo identify the version numberMessage CreationMandatoryBB/SBMust use trusted time serverDateMessage CreationMandatoryBB/SBMust use trusted time serverTimeTransaction TypeMandatoryBB/SBAllowable values:POr, CPOrPOb, CPOb, CePOb, CeCPObMessage StatusMandatoryBB/SBAllowable values:PositiveNegativePay Conf MessageMandatoryBB/SBReference for this messageReferencePaymentConditionalBB/SBMandatory, if present in the originalInstructionpayment instruction message.ReferenceSeller IdentifierMandatoryBB/SBSeller certificateEffective DateConditionalBB/SBMandatory for a positive Message Status.(This is the date that the bank has originatedthe payment)Reason CodeConditionalBB/SBMandatory if Message Status is negative.Reason TextConditionalBB/SBReason for negative Message StatusBank's HolderConditionalBB/SBMandatory for a positive Message Status.Registry TransferFee currency is the same as paymentFee Amountcurrency.


In a preferred embodiment, when an entity receives a payment execution confirmation (Pay Conf) message, the entity envelopes this information, adds its payment execution confirmation (Pay Conf) information, and passes the message onto the final intended recipient. For example, when a seller's bank 104 receives a payment execution confirmation (Pay Conf) from buyer's bank 102 when operating in the four-corner model, it passes this payment execution confirmation (Pay Conf) message onto seller 108.


In a preferred embodiment, this payment execution confirmation (Pay Conf) message contains the data listed in the above table as well as the following data:

TABLE 12ContentNameUseProviderCommentsOriginalMandatorySeller'sOriginal signed Pay Conf messagePay ConfBankfrom buyer's bank enveloped withinMessageits (seller's bank) Pay Conf messageData fromBuyer'sBank


In a preferred embodiment, payment obligation acceptance confirmation (POb Acpt Conf) messages are sent in response to a payment obligation request message by the close of the following working day. The payment obligation acceptance confirmation (POb Acpt Conf) message preferably contains the data listed below:

TABLE 13ContentNameUseProviderCommentsVersion NumberMandatoryBB/SBTo identify the version numberMessage CreationMandatoryBB/SBMust use trusted time serverDateMessage CreationMandatoryBB/SBMust use trusted time serverTimeMessage StatusMandatoryBB/SBAllowable types:PositiveNegativePOb Acpt ConfMandatoryBB/SBMessage ReferenceOriginal PaymentConditionalBuyer/Mandatory if present in the originalObligation (POb)Sellerrequest message.Message ReferenceSeller IdentifierMandatoryBB/SBSeller certificateReason CodeConditionalBB/SBMandatory if Message Status isnegative acknowledgment.Reason TextOptionalBB/SBReason for negative acknowledgment


In a preferred embodiment, when an entity that is not the final intended recipient receives a payment obligation acceptance confirmation (POb Acpt Conf) message, the entity envelopes this information, adds its payment obligation acceptance confirmation (POb Acpt Conf) information, and passes the message onto the final intended recipient. For example, when a seller's bank 104 receives a payment obligation acceptance confirmation (POb Acpt Conf) from buyer's bank 102 when operating in the four-corner model, it passes this payment obligation acceptance confirmation (POb Acpt Conf) to its seller 108. This payment obligation acceptance confirmation (POb Acpt Conf) message preferably contains the data listed in the above table as well as the following data:

TABLE 14ContentNameUseProviderCommentsOriginal POb AcptMandatorySeller'sOriginal signed Pay Conf messageConf Message DataBankfrom buyer's bank enveloped withinfrom Buyer's Bankits (seller's bank) Pay Conf message


In a preferred embodiment, certified payment obligation acceptance confirmation (CePOb Acpt Conf) messages are sent in response to a certified payment obligation request message by the close of the following working day. The certified payment obligation acceptance confirmation (CePOb Acpt Conf) message preferably contains the data in Table 13.


In a preferred embodiment, payment order cancellation confirmation (POr Cncl Conf) messages are sent in response to a payment order cancellation instruction message (POr Cncl Inst), by the close of the following working day. The payment order cancellation confirmation (POr Cncl Conf) message preferably contains the following data:

TABLE 15ContentNameUseProviderCommentsVersion NumberMandatoryBuyer's Bank/To identify the versionSeller's BankMessage CreationMandatoryBuyer's Bank/Must use trusted time serverDateSeller's BankMessage CreationMandatoryBuyer's Bank/Must use trusted time serverTimeSeller's BankMessage StatusMandatoryBuyer's Bank/Allowable types:Seller's BankPositiveNegativePOb Acpt ConfMandatoryBuyer's Bank/Message ReferenceSeller's BankOriginal PaymentConditionalBuyer/SellerMandatory if present in the originalObligation (POb)request message.Message ReferenceSeller IdentifierMandatoryBuyer's Bank/Seller certificateSeller's BankReason CodeConditionalBuyer's Bank/Mandatory if Message Status isSeller's Banknegative acknowledgement.Reason TextOptionalBuyer's Bank/Reason for positive/negativeSeller's Bankacknowledgement


In a preferred embodiment, condition update (Cnd Update) messages may be sent in conjunction with condition advice messages. These messages are preferably sent from TPSP parties to provide updates on the progress that has been made in meeting the condition specified by the condition advice message.


In a preferred embodiment, condition declaration (Cnd Decl) messages are sent in response to a condition advice message by TPSP parties. Condition declaration (Cnd Decl) messages are preferably sent when either a condition outlined by an original condition advice (Cnd Adv) message has been met, or if the condition will never be met. For example, if a condition is that some goods will be shipped by a specific date, and the goods have yet to be shipped, and that specified date has passed, a negative response is sent.


The condition declaration (Cnd Decl) message preferably contains the following data:

TABLE 16ContentNameUseProviderCommentsVersion NumberMandatoryTo identify version numberTPSP IdentifierMandatoryTPSPTPSP certificateMessage CreationMandatoryTPSPMust use trusted time serverDateMessage CreationMandatoryTPSPMust use trusted time serverTimePaymentMandatoryFromTo identify payment instructionInstructionPayment Inst.reference.ReferenceTSS ConditionMandatoryTSSFrom the original conditionDeclarationdeclaration request message.Request MessageReferencePayment ConditionMandatoryFromDefaults when PaymentConfirmationPayment InstInstruction reference entered.Fields can be structured for:Merchandise DescriptionMessage DetailsConfirmation DateEtc.ConditionConditionalTPSPCode that represents the statusConfirmation Codeof this condition declarationresponse message:If this field is not included thenthe “Condition ConfirmationDetails” field must containinformation.ConditionConditionalTPSPDescriptions of the possibleConfirmationresponses that the TPSP canDetailsrespond with.If this field is not included thenthe “Condition ConfirmationCode” field must containinformation.Additional DetailsOptionalTPSPFor use when additional file orAppend Codedetails are to be attached forinformation purposes:Allowable values:YN (Defaults to N)Additional DetailsConditionalTPSPMandatory if “AdditionalAreaDetails Append Code” is Y.Area where text can be pasted orwhere files can be attached.


In a preferred embodiment, a status inquiry response message (Sts Inq Resp) contains a history of the transaction specified in the status inquiry request.


Communication Protocols


In a preferred embodiment, the following protocols and formats are used in signing and formatting signed data:

  • 1. XMLDSig (XML-Signature Syntax and Processing)—used for transaction coordinator and Merchant signing and formatting;
  • 2. PKCS#7—used for browser based signing of data elements;
  • 3. S/MIMEv3 (Secure/Multipurpose Internet Mail Extensions version 3)—used for asynchronous communication between parties; and
  • 4. SSLv3(Secure Socket Layer version 3.0) or TLSv1.0 (Transport Layer Security version 1.0)—used for synchronous messages.


More particularly, the following rules preferably set out the formats for exchanges and signatures between payment parties in a transaction using the system and method of the present invention:

    • All synchronous exchanges preferably take place using the HTTP secured SSLv3.0 or the TLSv1.0 Internet security protocol in accordance with the system rules described below.
    • End Users may have no more sophisticated systems than browsers and mail clients that can sign in accepted formats. For example, the documents that are sent to buyer 106 and TPSP for acceptance may fall into this category. The browser is assumed to provide a PKCS#7 wrapped message. PKCS #7 is a cryptographic message syntax standard that describes general syntax for data that may have cryptography applied to it, such as digital signatures. The data that buyer 106 signs is indicated in the appropriate blocks, as indicated below.
    • The standard system XML messaging described below is preferably used to communicate between parties, and so the seller 108, seller's bank 104, and buyer's bank 102 should be capable of creating and receiving such messages.
    • Where buyer 106 and the TPSP also have server based systems that support the system messaging of the present invention, the banks or participants may use the XML DTDs provided below to support those organizations.
    • Preferably all acknowledgements are encrypted using the S/MIMEv3 protocol. Where the acknowledgement is being sent to a buyer or TPSP with no known server support, the signature is part of the S/MIME standard and not the XMLDSig signature described below.
    • Optionally, for ease of implementation, all asynchronous communications to buyers and to TPSPs may be sent as S/MIMEv3 messages with the signature of the financial institution issuing the asynchronous communication as part of the S/MIME standard.
    • Asynchronous communications, however wrapped, preferably include the NIB (Network Information Block) application block and Response from the XML messaging described below, but not necessarily the CertBundle or Signature blocks where these are replicated in the asynchronous wrapping structure.
    • Although, a system response message may be defined for TPSP to TSS communication, TPSP's may discharge conditions through a web interface. In the latter case, the TPSP will sign a message using a PKCS#7 signature to discharge the conditions.


      Data Type Definitions


In a preferred embodiment, system messages are structured using Extensible Markup Language (XML) with corresponding date type definitions whenever appropriate, in order not to restrict technical implementation and integration options. A preferred implementation of several data type definitions (DTDs) is described below.


The system requires that all payment specific messages be uniquely distinguishable as payment messages and also that message identifiers (tags) are non-ambiguously defined. With XML documents, the system of the present invention preferably meets these requirements by using XML Namespaces. XML namespaces provide a simple means for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI (Uniform Resource Identifier) references. Each payment top level XML document specifies the XML namespace in which the data elements occur. The XML document may, for example, reference the namespace as described in Table 17 as follows:

TABLE 17Payment Document OutlineMeaning<?xml version=”1.0” encoding=”UTF-8”?>Standard XML header<!DOCTYPE PaymentRequest PUBLICStandard XML internal“-//EP/DTD Payment Request//EN” “[URI]”>DTD with reference toexternal DTD comprising(a) XML public identifierand (b) URI defininglocation of DTD<PaymentRequestxmlns [namespace]xmlns=http://www.eleanorpayments.org/ep/>defines the location ofthe external DTD.. . .Body of message</PaymentRequest>End of Message


Payment Request DTD


The contents of the PaymentRequest DTD (Document Type Definition) in a preferred embodiment are given in Table 18 below (the PaymentRequest DTD may also import certain DTDs such as a ConditionSet and a CertificateStatusCheck, described below):

TABLE 18NIBNetwork Information BlockSignatureXMLDSig Signature BlockCertBundleCertificate Bundle BlockSystemPayRequestPayment Request Transaction Block (see Table 19)Request(Optional Block)


The system specifies a “Msggrpid” and a “MsgID” attribute in the NIB (Network Information Block) and requires that the value of this is specified to be unique for each message in the transaction. The Msggrpid is a unique ID that is common to all documents in any single exchange. Note that a number of exchanges may concern a single payment transaction. Each exchange (for instance the Payment Request—Service Acknowledgement exchange, or the Cancellation Request—Service Acknowledgement exchange) will have the same Msggrpid. Asynchronous communications are to be treated as atomic exchanges. The Msgid is used as a sequential counter for each document in an exchange. However, as exchanges may become complex, to ensure that the Msggrpid:Msgid combination can uniquely identify a document within an exchange, the role of the sender is preferably used in conjunction with a sequence number.


A preferred structure of the Msgid is: “xx:nn”, where xx are the role identifiers and nn the sequence number for documents sent by that role in the current exchange. To enable a transaction coordinator to identify a system payment message, the HTTP content type should be specified appropriately.


The SystemPayRequest document may be used to specify the payment instruction messages described above and listed in Table 2, i.e. POr Inst, POb Inst, CPOr Inst, CPOb Inst, CePOB Inst, and CeCPOb Inst. The SystemPayRequest DTD in a preferred embodiment is described in Table 19 below:

TABLE 19ContainsRelationship DescriptionSystemHeaderEach request contains a single System Header whichcontains the Product and Message Type.BuyerSignedDataThe data signed by the buyer is contained in asingle structure in the PayRequest.BuyerSignaturesThe BuyerSignatures block carries one or a number ofBuyerSignature from the buyer to the buyer's bank.SellerPrivateDataSellerPrivateData contains data elements providedexclusively by the Seller but only sent to theseller's bank. This may include requests foradditional services.SellerBankDataSellerBankData block contains data elementsprovided by the seller's bank to the buyer's bank.These include confirmed seller Account details andrelevant correspondent bank details.


The SystemHeader provides a unique transaction reference for all transactions, and with the Product attribute allows a specific payment product instruction message to be specified. The header is a component common to all messages and includes, in a preferred embodiment, the following attributes (Table 20):

TABLE 20AttributeTypePresenceDescriptionProvided ByProductCDATA#REQUIREDxxP - Payment OrderRequestor.xxD - Direct DebitInstructionxxO - Payment ObligationxCO - Certified PaymentObligationCxP - ConditionalPayment OrderCxO - ConditionalPayment ObligationCCO - CertifiedConditional PaymentObligationMessageTypeNOTATION#REQUIREDthe message type may haveRequestor.the following structures:<Type> Request<Type> ResponseQueryThe Valid values for thePayRequest DTD arePayment RequestQuery


In a preferred embodiment, the following validation rules in Table 21 apply to the SystemHeader attributes:

TABLE 21MustMayAttributeValidation RuleValidateValidateError CodeProductValid Product codeBuyer'sSeller's00EH01and message type hasBankBankbeen providedThe originator isBuyer's00EH02authorized to issue theBank;message.Seller'sBankMessageTypeValid message typeBuyer's00EH03has been providedBank


The BuyerSignedData DTD of the SystemPayRequest DTD includes in a preferred embodiment the following data blocks (Table 22):

TABLE 22ContainsRelationship DescriptionNegotiatedDataContains data negotiated between thebuyer and seller as part of thecommercial transaction.BuyerDataContains data provided by the buyer.SellerPublicDataContains data provided by the seller andrevealed to the buyer and the buyer's bank.ObligationContains data relevant to the provisionof an obligation.ConditionSetContains any conditions which are to attach to thePayment Request.BuyerSignatureDetailsContains information about the buyer'ssignature(s) attached to the Payment Request.


The NegotiatedData block carries data elements negotiated during the transaction and preferably has the following attributes (Table 23):

TABLE 23AttributeTypePresenceDescriptionProvided ByAmtCDATA#REQUIREDThe Amount of theNegotiatedTransaction.CurCodeCDATA#REQUIREDThe CurCode is the threeNegotiatedletter currency code as definedin ISO 4217ValueDateCDATA#IMPLIEDThe ValueDate is the date onNegotiatedwhich the funds will be in theSeller's account.ValueTermCDATA#IMPLIEDThe ValueTerm is providedNegotiatedonly for conditionalpayments. The ValueTermfield contains the number ofdays after discharge ofconditions on which fundswill be in the Seller'sAccount. If a ValueTerm isprovided, a ValueDate shouldnot be provided.FeesNOTATION#IMPLIEDThe fees field contains anNegotiatedindication of whichorganisation will be liable forfees associated with thetransaction. If the field is notpresent, the fees are assumedto be borne by the buyer.Valid values are BUYER orSELLER.RecurringPaymentDurationCDATA#IMPLIEDavailable for the PaymentNegotiatedOrder product only.Contains an indication of theduration for a recurringpayment.RecurringPaymentModelCDATA#IMPLIEDavailable for the PaymentNegotiatedOrder product only.Contains a code string thatdescribes the recurringpayment model that has beenagreed.


The following validation rules in Table 24 preferably apply to the NegotiatedData attributes:

TABLE 24MustMayAttributeValidation RuleValidateValidateError CodeAmtThe amount does notBuyer's00ND01contain a zero, negative orBanknon numeric valueAmount does not exceed00ND02maximum for PaymentChannelAmount does not exceed00ND03buyer's LimitAmount format valid for00ND04stated currencyCurCodeCurCode is validBuyer's00ND05BankCurCode is supported by00ND06the institutionValueDateValue Date is an validBuyer'sSeller's00ND07formatBankBankValue Date is not in the pastBuyer'sSeller's00ND08BankBankValue Date can be metBuyer's00ND09BankValue Date is within XXBuyer's00ND10days of current workingBankdate (where XX is themaximum number of daysthat an institution will allowinstructions in the future).ValueTermThe Value Term providedBuyer's00ND11falls inside the parametersBankallowed by the financialinstitution.FeesCorrect value provided.Buyer's00ND12Bank,Seller'sBankRecurringPaymentDurationValid Payment DurationBuyer's00ND13ProvidedBank(Seller'sBank forDirectDebit)RecurringPaymentModelValid Payment ModelBuyer's00ND14ProvidedBank(Seller'sBank forDirectDebit)


The BuyerData block (in the BuyerSignedData DTD) contains information provided by buyer 106 in the transaction and carries data elements negotiated during the transaction. The BuyerData block preferably contains contact data (e.g., in a contact sub-block) that provides details for any issues with the transaction. The BuyerData block has the following attributes in a preferred embodiment (Table 25):

TABLE 25AttributeTypePresenceDescriptionProvided ByBuyerReferenceCDATA#IMPLIEDThe buyer can provide aBuyerreference which is used ineach of the messages andacknowledgements thatcomprise the transaction.BuyerRelatedTransactionReferenceCDATA#IMPLIEDThe buyer can furtherBuyerprovide a relatedTransactionReferencewhich can be used byinternal systems to identifythe transaction.BuyerAccountCDATA#IMPLIEDThe Buyer account isBuyeridentified as a single string -which will identify theinstitution and the accountitself. It is recommended(but not required) thatinstitutions look to useIBAN numbers for systempayments.BuyerInstructionCDATA#IMPLIEDThe BuyerInstruction fieldBuyerallows the buyer to includeadditional instructions tothe buyer's bank forexecution of the paymentinstruction.PriorityNOTATION#IMPLIEDThe Priority field is used toBuyeroverride standinginstructions between thebuyer and the buyer's bankas to how the transaction issettled. If the priority flagis not provided in thedocument then the standingarrangement is assumed.Valid values are“URGENT” and“STANDARD”.Interpretation should beagreed between buyer andbuyer's bank.FXContractCDATA#IMPLIEDThe FX Contract fieldBuyerallows the buyer to providea reference to the FXContract against which thepayment will be made.


The following validation rules in Table 26 preferably apply to the BuyerData attributes:

TABLE 26MustMayErrorAttributeValidation RuleValidateValidateCodeBuyerReferenceBuyerReference does not exceedBuyer's00BB01allowed length for field.BankBuyerRelatedTransactionReferenceBuyerReference does not exceedBuyer's00BB02allowed length for field.BankBuyerAccountBuyerAccount is a valid stringBuyer's00BB03BankBuyerAccount provided isBuyer's00BB04assigned to certificate presentedBankBank Identifier is recognizedBuyer's00BB05BankBank Identifier is providedBuyer's00BB06BankBuyerInstructionBuyerInstruction exceedsBuyer's00BB07allowed length for field.BankPriorityInvalid formatBuyer's00BB08BankFXContractValid formatBuyer's00BB09BankFX Contract has not expired00BB10


The SellerPublicData block (in the BuyerSignedData DTD) contains information provided by the seller 108 in the transaction and preferably contains contact details for any issues that arise with respect to the transaction. The SellerPublicData block, in a preferred embodiment, has the following attributes, listed in Table 27:

TABLE 27AttributeTypePresenceDescriptionProvided ByTransactionReferenceCDATA#REQUIREDUnique reference generatedSeller in fourby the seller in the fourcorner model;corner and direct debitBuyer's bankmodels and by the buyer'sin buyer tobank in the buyer's bankbuyer's bankmodel. Note thatmodelcancellations and statusinquiries retain theTransactionReference ofthe original instruction.The buyer signs this andthis prevents replay attacksof the Buyer signed data.Buyer's bank must checkthe uniqueness of theTransactionReferenceprovided to prevent theseattacks.DATE + SEQNO is therecommended format.SellerReferenceCDATA#IMPLIEDThe seller can provide aSeller in Fourreference for theCornertransactionModel;Buyer inBuyer toBuyer BankmodelSellerAccountCDATA#IMPLIEDIn a buyer to buyer's bankSeller in fourtransaction,corner model;Buyer inBuyer toBuyer's BankmodelSellerRelatedTransactionReferenceCDATA#IMPLIEDContains a referenceSeller in fourprovided by the seller to acorner model;related transaction forBuyer inreconciliation purposesBuyer towithin the seller's systems.Buyer's BankmodelPaymentDetailsCDATA#IMPLIEDThe PaymentDetails fieldSeller in fourprovides a text descriptioncorner modelof the Transaction betweenBuyer inthe buyer and the sellerBuyer to(typically the productBuyer Bankdescription from themodelSeller's Catalogue)/DebitSchemeIdentifierCDATA#IMPLIEDThe DebitSchemeIdentifieridentifies the Direct Debitin direct debit transactions.


The following validation rules in Table 28 preferably apply to the SelterPublicData attributes:

TABLE 28MustMayErrorAttributeValidation RuleValidateValidateCodeSellerReferenceDoes not exceed maximumBuyer'sSeller's00SP01lengthBankBankSellerAccountSellerAccount is a valid stringSeller'sBuyer's00SP02BankBankSellerAccount provided isSeller'sBuyer's00SP03assigned to certificate presentedBankBankBank Identifier is recognizedSeller'sBuyer's00SP04BankBankBank Identifier is providedSeller'sBuyer's00SP05BankBankSellerRelatedTransactionReferenceDoes not exceed maximumSeller's00SP06lengthBankPaymentDetailsDoes not exceed maximumSeller's00SP07lengthBankDirectDebitSchemeIdentifierIs a valid IdentifierSeller's00SP08Bank


The Obligation block (in the BuyerSignedData DTD) contains details of any obligation to be put in place as a result of the transaction. Note that if no obligation is to be undertaken, the block is included with ObligationType set to NONE. The Obligation block has the following attributes in a preferred embodiment (Table 29):

TABLE 29AttributeTypePresenceDescriptionProvided ByObligationTypeNOTATION#REQUIREDValid values areBuyer inNONE, BUYER orBuyer toBANK.Buyer BankBUYER signifies aModelPayment Obligation.BANK signifies aCertified PaymentObligation is beingrequested.ObligationEffectiveDateCDATA#IMPLIEDThe date on whichBuyer inthe obligation is toBuyer tocome into effect.Buyer's BankThis is assumed toModelbe immediately iftheObligationEffectiveDate is not includedin the Obligationblock.


The following validation rules preferably apply to the Obligation block attributes (Table 30):

TABLE 30RuleMustMayAttributeReferenceValidation RuleValidateValidateObligationType00OB01The value provided is valid.00OB02The NegotiatedData doesBuyer's BankSeller'snot include recurringBankpayment (Obligationspreferably cannot beundertaken for recurringpayments)ObligationEffectiveDate00OB03The date is not in the past.Buyer's BankSeller'sBank00OB04The date is on or after theBuyer's BankSeller'sValueDate.Bank00OB05Date Format is Valid


The ConditionSet block (in the BuyerSignedData DTD) contains a description of the conditions that attach to a payment (this block corresponds to the Cnd Adv request message described above and listed in Table 2). The ConditionSet block is an imported element and used in a number of the Payment blocks in the system, as described elsewhere. The BuyersSignatureDetails block (in the BuyerSignedData DTD) contains signatures created by actors in the buying organization. Approval cycles may require a number of signatures to be provided against any given instruction, as described in more detail below. The BuyersSignatureDetails block can contain one or more BuyerSignatureDetail blocks. A BuyerSignatureDetail block contains the information about a signature created by buyer 106, preferably as in Table 31 as follows:

TABLE 31AttributeTypePresenceDescriptionProvided BySequenceNMTOKEN#REQUIREDThe sequence numberBuyer Systemof the signature withinor Otherthe transaction. TheSystemsequence starts at 1 andSupportingincreases for eachDualsubsequent signatureSignaturesincluded in theBuyerSignatures Block.ReasonForSignatureCDATA#IMPLIEDA text description ofBuyerthe reason forsignature.SignedPreviousSignatureNOTATION#IMPLIEDIndicates whetherBuyeradditional signatureshave signed overBuyerSignatureelements with lowersequence numbers. Ifnot present, value isassumed to be false (bydefault)TimeStampCDATA#IMPLIEDReflects time signatureBuyermade


The following validation rules preferably apply to the BuyersSignatureDetails attributes (Table 32):

TABLE 32MustMayErrorAttributeValidation RuleValidateValidateCodeSequenceFormat is validBuyer's00BE01BankThe sequence isBuyer's00BE02incrementalBankacrossBuyerSignatureblocks in theBuyerSignaturesentityReasonForSignatureFormat is validBuyer's00BE03BankSignedPreviousSignatureFormat is validBuyer's00BE04Bank


The SystemPayRequest DTD also includes a BuyersSignatures block that contains the signatures created by actors in the buying organization. Approval cycles may require a number of signatures to be provided against any given instruction. In a preferred embodiment, the BuyersSignatures block includes the following block in Table 33:

TABLE 33ContainsRelationship DescriptionPCDATAThe signature is included in the BuyerSignature element asPCDATA. Note that this element holds only the signature and not the entire PKCS#7 structure.


The following validation rules, in Table 34, preferably apply to the BuyersSignature block:

TABLE 34MustMayErrorAttributeValidation RuleValidateValidateCodeSignature (asThe Buyer's Signature is invalid.Buyer'sPCDATA)BankThe Buyer's Signatures do notBuyer'shave the prerequisite level ofBankauthority.


The BuyersSignature block also preferably contains the following attribute in Table 35:

TABLE 35AttributeTypePresenceDescriptionProvided BySequenceNMTOKEN#REQUIREDThe sequence number ofBuyer System orthe signature within theOther Systemtransaction. The sequenceSupporting Dualstarts at 1 and increases forSignatureseach subsequent signatureincluded in theBuyerSignatures block.


The validation rules in Table 36 apply to the Sequence attribute in a preferred embodiment:

TABLE 36MayErrorAttributeValidation RuleMust ValidateValidateCodeSequenceFormat is validBuyer's BankThe sequence isBuyer's Bankincremental acrossBuyerSignature blocksin the BuyerSignaturesentity


The SellerPrivateData block of the SystemPayRequest DTD contains private data that is passed from seller 108 to seller's bank 104. The SellerPrivateData block is removed by seller's bank 104 and not included in the datablocks passed to buyer's bank 102. It contains the following attributes in a preferred embodiment (Table 37):

TABLE 37AttributeTypePresenceDescriptionProvided BySellerAccountCDATA#IMPLIEDThe seller's account detailsOnly the sellercan be carried in thecan provide theSellerPublicData orSellerAccount inSellerPrivateData blocks orthis field.appended to the paymentinstruction by the seller'sbank in the SellerBankDatablock. Preferably, financialinstitutions use IBANnumbers to identify bankand accounts.SellerInstructionCDATA#IMPLIEDA private instruction thatSellercan be provided by theseller to the seller's bank forprocessing.


The following validation rules in Table 38 preferably apply to the SellerPrivateData attributes:

TABLE 38RuleMustMayAttributeReferenceValidation RuleValidateValidateSellerAccount00SD01SellerAccount is anSeller'sinvalid stringBank00SD02SellerAccountSeller'sprovided is notBankassigned to certificatepresented00SD03Bank Identifier notSeller'srecognizedBank00SD04Bank Identifier notSeller'sprovidedBankSellerInstruction00SD05Format is validSeller'sBank


The SellerBankData block of the SystemPayRequest DTD carries information from seller's bank 104 to buyers bank 102 in the transaction. Seller's bank 104 can provide relevant contact details in the contact block (described below) if required. In a preferred embodiment, the SellerBankData block contains the attributes in Table 39:

TABLE 39AttributeTypePresenceDescriptionProvided BySellerBankReferenceCDATA#REQUIREDThe seller's bank mustSeller's Bankprovide a uniquereference for theTransaction.SellerCorrespondent-CDATA#REQUIREDThe seller's bank mustSeller's BankBankprovide a correctcorrespondent bankingrelationship based onthe currency of thetransaction.SellerAccountCDATA#REQUIREDThe Seller's Bank mustSeller's Bankattach the correctaccount details for thetransaction to thedocument in this field.This is the field usedby the buyer's bank inthe four corner model.SellerBankUndertakingCDATA#REQUIREDA text string reservedSeller's Bankfor representations thatthe seller's bank willmake to the buyer'sbank. One examplewould be that the sellerhas assented to thecancellation of an“irrevocable”obligation to pay.SellerBankFeeAmtCDATA#REQUIREDMandatory if all feesare borne by the buyer.Note that the currencyis the same as thecurrency of thepayment.


The following validation rules preferably apply to the SellerBankData attributes (Table 40):

TABLE 40MustMayErrorAttributeValidation RuleValidateValidateCodeSellerBankReferenceFormat is ValidBuyer's00SB01BankSellerCorrespondent-Format is aBuyer's00SB02BankValid SWIFTBankBICSellerAccountSellerAccount is aBuyer's00SB03valid stringBankBank Identifier isBuyer's00SB04recognizedBankBank Identifier isBuyer's00SB05providedBankSellerBankUndertakingFormat is ValidBuyer's00SB06BankSellerBankFeeAmtThe fee is a validBuyer's00SB07amount.Bank


Payment Response


The contents of the PaymentResponse DTD, in a preferred embodiment, are given in Table 41 below (the PaymentResponse DTD may also import certain DTDs such as a CertificateStatusCheck and a Contact element):

TABLE 41NIBNetwork Information BlockSignatureXMLDSig Signature BlockCertBundleCertificate Bundle BlockSystemPayResponsePayment Response Block (see Table 42)ResponseResponse block must be included with any responsecontaining signed certificate of the organizationmaking the response.


The SystemPayResponse DTD, in a preferred embodiment, is described in Table 42 below.

TABLE 42ContainsRelationship DescriptionSystemHeaderEach request contains a single system header which contains theproduct and message type for the document.ReferencesThe References block contains the references being used by thevarious parties in the commercial transaction. The reference blockincludes the TransactionReference.ChallengeAckThe ChallengeAck contains the positive or negative response to aPayChallenge.ServiceAckThe ServiceAck contains a negative or positive response based onthe validation of the signing certificate, any carried certificate, theauthority attached to that certificate and the validation of thesyntax of the message against the DTD.PayInstAckThe PayInstAck contains a positive or negative response iftransaction details pass/fail validation prior to submission to theclearing and settlement network.ObligationConfObligationConf contains a positive or negative acknowledgementto a request to create a payment obligation, whether bank certifiedor an obligation by a buyer.PayConfPayConf contains a positive or negative response based on thesuccessful execution of the payment instruction. The PayConfblock can be used (a) by the buyer's bank to inform the buyer andthe seller's bank of the success or failure of the transactionexecution (b) the buyer's bank to inform the buyer and the seller'sbank of failures notified by the clearing and settlement and (c) theseller's bank to inform the seller that the payment has completed.ConditionSetUpConfThe ConditionSetUpConf contains a positive or negative responseto a request to place conditions on a payment transaction.CancellationConfThe CancellationConf contains a positive or negative response to arequest to cancel a transaction.RelatedAcknowledgementThe RelatedAcknowledgement block is used to carryacknowledgements from other organizations involved in thecommercial transaction.


As indicated, the SystemHeader provides a unique transaction reference for all transactions and is a component common to all messages. The attributes of the SystemHeader are given in Table 20 and the associated validation rules in Table 21 in a preferred embodiment.


The References DTD of the SystemPayResponse DTD preferably includes the following attributes (Table 43):

TABLE 43AttributeTypePresenceDescriptionProvided ByTransactionReferenceCDATA#REQUIREDUnique system referenceFromgenerated by the sellerOriginalin the four corner andRequestdirect debit models andby the buyer's bank inthe buyer's bank model.Note that cancellationsand status inquiriesretain the Transaction-Reference of the originalpayment instruction.BuyerBankReferenceCDATA#IMPLIEDThe reference providedBuyer'sby the buyer's bank. ItBankis preferable that thebuyer's bank uses theseller bankSellerBankReferenceCDATA#IMPLIEDMust be provided in allFromfour corner and directOriginaldebitRequestacknowledgements.Not available in thebuyer to buyer bankmodel.BuyerReferenceCDATA#IMPLIEDThe reference providedFromby the buyer in theOriginaloriginal request.RequestSellerReferenceCDATA#IMPLIEDThe reference providedFromby the seller in theOriginaloriginal request.RequestBuyerRelatedTransactionReferenceCDATA#IMPLIEDThe reference to aFromrelated transactionOriginalprovided by the BuyerRequestin the original request.SellerRelatedTransactionReferenceCDATA#IMPLIEDThe reference to aFromrelated transactionOriginalprovided by the Seller inRequestthe original request.


The following validation rules, in Table 44, preferably apply to the References attributes:

TABLE 44MustMayErrorAttributeValidation RuleValidateValidateCodeTransactionReferenceThe Transaction Reference can00RE01be reconciled.BuyerBankReferenceThe BuyerBank Reference can00RE02be reconciled.SellerBankReferenceThe SellerBank Reference can00RE03be reconciled.BuyerReferenceThe BuyerReference can be00RE04reconciledSellerReferenceThe SellerReference can be00RE05reconciledBuyerRelatedTransactionReferenceThe BuyerRelatedTransactionReference00RE06can be reconciledSellerRelatedTransactionReferenceThe SellerRelatedTransactionReference00RE07can be reconciled


The ChallengeAck DTD is returned in response to a ChallengeRequest. The ChallengeRequest is optionally used by institutions to validate the identity of a corresponding institution before passing payment details to that institution. The ChallengeAck is successful if the acknowledging institution (a) can positively authenticate the identity of the sender and (b) supports the product being requested. contact information can be included by the responding financial institution within the ChallengeAck. ChallengeAck, in a preferred embodiment, includes the following attributes (Table 45):

TABLE 45AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of the acknowl-edgement. The Status iseither SUCCESS or FAIL.ReasonCodeCDATA#REQUIREDWhere STATUS is FAIL, aReasonCode andassociated ReasonText mustbe provided. (See Table 47.)ReasonTextCDATA#REQUIREDText associated with theReasonCode above.(See Table 47.)


The validation rules in Table 46 preferably apply to the ChallengeAck attributes:

TABLE 46MustMayErrorAttributeValidation RuleValidateValidateCodeStatusStatus is a valid valueSeller's BankReasonCodeA valid reason code isSeller's BankprovidedReasonTextA valid reason text isSeller's Bankprovided


The following reason codes (Table 47) may be used with ChallengeAck:

TABLE 47StatusReasonCodeReasonTextSUCCESSOOCH00Product Supported and RequestingInstitution AuthenticatedFAIL00EH04Product not supported by institutionFAIL00CH01Failed to authenticate requesting party


The ServiceAck DTD (corresponding to the Srv Ack response message in Table 3 above) may include contact information by the responding financial institution within the ServiceAck. It preferably has the following attributes in Table 48:

TABLE 48AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of the acknowledgement. TheStatus is either SUCCESS or FAIL.CustomerServiceReferenceCDATA#REQUIREDThe field that the institution generatingthe ServiceAck requires be used inCustomerService inquiries.Valid values are TransactionReference,BuyerBankReference,SellerBankReference, BuyerReference,SellerReferenceReasonCodeCDATA#REQUIREDWhere STATUS is FAIL, a ReasonCodeand associated ReasonText must beprovided. (See Table 50.)ReasonTextCDATA#REQUIREDText associated with the ReasonCodeabove. (See Table 50.)


The following validation rules (Table 49) apply to the ServiceAck attributes:

TABLE 49MustMayErrorAttributeValidation RuleValidateValidateCodeStatusStatus has validformatCustomerServiceReferenceFormat is ValidReasonCodeReason Code isvalid - (SeeTable 50.)ReasonTextReason text iscorrect.


In a preferred embodiment, the following Reason Codes are used with ServiceAck (Table 50):

TABLE 50StatusReasonCodeReasonTextSUCCESS00PR14Valid RequestFAIL00PR01Seller's Bank Certificate is InvalidFAIL00PR02Seller's Bank Signature is InvalidFAIL00PR03Seller's Bank is not Authorized to RequestServiceFAIL00PR04Buyer's Bank Certificate is InvalidFAIL00PR05Buyer's Bank Signature is InvalidFAIL00PR06Buyer Mandate has Incorrect AuthorizationFAIL00PR07Request has Incorrect SyntaxFAIL00PR11Seller's Certificate is InvalidFAIL00PR12Seller's Signature is InvalidFAIL00PR13Seller's is not Authorized to Request Service


The PayInstAck DTD is a positive or negative acknowledgement sent as a result of the validation of transaction information in bank payment systems. PayInstAck preferably contains the NegotiatedData block to confirm the data that is being processed by buyer's bank 102 (seller's bank 104 in the direct debit transaction model) for processing. The NegotiatedData block includes the attributes listed above in Table 23. In the context of SystemPayResponse, the following validation rules, listed in Table 51, preferably apply to the attributes in the NegotiatedData block:

TABLE 51MustMayErrorAttributeValidation RuleValidateValidateCodeAmtCorresponds toBuyer,Seller'sRequestSellerBankCurCodeCorresponds toBuyer,Seller'sRequestSellerBankValueDateCorresponds toBuyer,Seller'sRequestSellerBankValueTermCorresponds toBuyer,Seller'sRequestSellerBankFeesCorresponds toBuyer,Seller'sRequestSellerBankRecurringPaymentDurationCorresponds toBuyer,Seller'sRequestSellerBankRecurringPaymentModelCorresponds toBuyer,Seller'sRequestSellerBank


PayInstAck preferably includes the following attributes in Table 52:

TABLE 52AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of theacknowledgement. TheStatus is eitherSUCCESS or FAIL.ReasonCodeCDATA#REQUIREDWhere STATUS is FAIL, aReasonCode andassociated ReasonText mustbe provided. (See Table 54.)ReasonTextCDATA#REQUIREDText associated with theReasonCode above(See Table 54.)


The following validation rules preferably apply to the PayInstAck attributes (Table 53):

TABLE 53MustMayErrorAttributeValidation RuleValidateValidateCodeStatusFormat is validSeller,BuyerReasonCodeValid ReasonCode (See TableSeller,54).BuyerReasonTextValid ReasonText (See TableSeller,54).Buyer


The Reason Codes in Table 54 are used, in a preferred embodiment, with PayInstAck:

TABLE 54StatusReasonCodeReasonTextFAIL00ND01Contains a zero, negative or non numeric valueFAIL00ND02Amount exceeds maximum for Payment ChannelFAIL00ND03Amount exceeds Buyer's LimitFAIL00ND04Amount format invalid for stated currencyFAIL00ND05CurCode is not validFAIL00ND06CurCode is not supported by the institutionFAIL00ND07Value Date is an invalid formatFAIL00ND08Value Date is the pastFAIL00ND09Value Date cannot be metFAIL00ND10Value Date is not within XX days of current working date(where XX is the maximum number of days that an institutionwill allow instructions in the future).FAIL00ND11The Value Term provided falls outside the parameters allowed bythe financial institution.FAIL00ND12Incorrect value provided.FAIL00ND13Invalid Payment Duration ProvidedFAIL00ND14Invalid Payment Model ProvidedFAIL00BB01Buyer Reference does not exceed allowed length for field.FAIL00BB02Buyer Reference does not exceed allowed length for field.FAIL00BB03BuyerAccount is an invalid stringFAIL00BB04BuyerAccount provided is not assigned to certificate presentedFAIL00BB05Bank Identifier not recognizedFAIL00BB06Bank Identifier not providedFAIL00BB07BuyerInstruction does not exceed allowed length for field.FAIL00BB08Invalid formatFAIL00BB09Invalid formatFAIL00BB10FX Contract has expiredFAIL00SP01Does not exceed maximum lengthFAIL00SP02SellerAccount is an invalid stringFAIL00SP03SellerAccount provided is not assigned to certificate presentedFAIL00SP04Bank Identifier not recognizedFAIL00SP05Bank Identifier not providedFAIL00SP06SellerRelatedTransactionReference does not exceed maximumlengthFAIL00SP07PaymentDetails does not exceed maximum lengthFAIL00SP08DirectDebitSchemeIdentifier is a valid Identifier.FAIL00OB01ObligationType: The value provided is invalid.FAIL00OB02The NegotiatedData includes recurring payment instructions.(Obligations cannot be undertaken for recurring payments)FAIL00OB03The Obligation date is not in the past.FAIL00OB04The Obligation date is on or after the ValueDate.FAIL00OB05Invalid Obligation Date FormatFAIL00BE01Sequence Format is validFAIL00BE02The sequence is incremental across BuyerSignature blocks inthe BuyerSignatures entityFAIL00BE03ReasonForSignature Format is validFAIL00BE04SignedPreviousSignature Format is validFAIL00BI01Sequence Format is validFAIL00BI02The sequence is incremental across BuyerSignature blocks inthe BuyerSignatures entityFAIL00SD01SellerAccount is an invalid stringFAIL00SD02SellerAccount provided is not assigned to certificate presentedFAIL00SD03Bank Identifier not recognizedFAIL00SD04Bank Identifier not providedFAIL00SD05Seller Instruction Format is invalidFAIL00SB01SellerBank Reference Format is invalidFAIL00SB02SellerCorrespondentBank Format is an invalid SWIFT BICFAIL00SB03SellerAccount is an invalid stringFAIL00SB04SellerAccount Bank Identifier not recognizedFAIL00SB05SellerAccount Bank Identifier not providedFAIL00SB06SellerBankUndertaking Format is ValidFAIL00SB07The fee is a valid amount.


The PayConf DTD is sent by the bank executing the payment to customers and correspondent banks and may be used by both the buyer's bank 102 and seller's bank 104 to inform correspondent banks of: the success or failure in execution of a system payment instruction, failure resulting from processing by the clearing and settlement network, and successful receipt of payment by the beneficiary's bank. The ReasonCode and ReasonText for successful PayConf qualify the successful event. PayConf includes the following attributes in a preferred embodiment (Table 55):

TABLE 55AttributeTypePresenceDescriptionProvided ByStatusCDATA#REQUIREDThe status of theBuyer's Bank/paymentSeller's BankPaymentEffectiveDateCDATA#REQUIREDThe date on whichBuyer's Bank/payment will beSeller's Bankexecuted.RegistryTransferFeeAmountCDATA#IMPLIEDThe transfer fee.Buyer's Bank/Seller's BankReasonCodeCDATA#REQUIREDWhere STATUS isBuyer's Bank/FAIL, a ReasonCodeSeller's Bankand associatedReasonText areprovided. (See Table57.)ReasonTextCDATA#REQUIREDText associated withBuyer's Bank/the ReasonCodeSeller'Bankabove. (See Table 57.)


The following validation rules in Table 56 preferably apply to the PayConf attributes:

TABLE 56MustMayErrorAttributeValidation RuleValidateValidateCodeStatusFormat is validPaymentEffectiveDateFormat is validReasonCodeFormat is validReasonTextFormat is valid


The following Reason Codes are preferably used with PayConf (Table 57):

TABLE 57StatusReasonCodeReasonTextSUCCESS00PR00Payment ExecutedFAIL00PR08Payment Rejected By Payment NetworkSUCCESS00PR09Payment ReceivedFAIL00PR10Payment Execution Failed


The ObligationConf DTD block confirms the success or failure of a request for an obligation. An ObligationConf is only returned when a (Conditional) Payment Obligation or (Conditional) Certified Payment Obligation is requested. This block, depending on the SystemHeader, corresponds to the POb Acpt Conf or the CePOb Acpt Conf response messages listed in Table 3 above. ObligationConf preferably has the following attributes, listed in Table 58:

TABLE 58AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of the acknowledgement. TheStatus is either SUCCESS or FAIL.ObligationTypeCDATA#REQUIREDThe type of obligation requested (and issuedif Status is SUCCESS)ObligationEffectiveDateCDATA#REQUIREDThe date on which the obligation wascreated (if Status is SUCCESS).ReasonCodeCDATA#REQUIREDWhere STATUS is FAIL, a ReasonCodeand associated ReasonText must beprovided. (See Table 60.)ReasonTextCDATA#REQUIREDText associated with the ReasonCodeabove. (See Table 60.)


The following validation rules in Table 59 preferably apply to the ObligationConf attributes:

TABLE 59MustMayErrorAttributeValidation RuleValidateValidateCodeStatusFormat is validSellerObligationTypeValue is ValidSellerObligationEffectiveDateFormat is ValidSellerCorresponds toSellerRequestReasonCodeReason Code isSellerValid (See Table60.)ReasonTextReason Text isSellerValid (See Table60.)


The following Reason Codes (in Table 60) are also preferably used with ObligationConf:

TABLE 60StatusReasonCodeReasonTextSUCCESS00OB00Obligation In PlaceFAIL00OB01ObligationType: The value provided is invalid.FAIL00OB02The NegotiatedData includes recurring paymentinstructions. (Obligations cannot be undertakenfor recurring payments)FAIL00OB03The Obligation date is not in the past.FAIL00OB04The Obligation date is on or after theValueDate.FAIL00OB05Invalid Obligation Date FormatFAIL00OB06(Certified Obligation Only) Insufficient Credit


The CancellationConf DTD block provides negative or positive confirmation of a cancellation request. This block may be used to implement the Por Cncl Conf response message describe above. In a preferred embodiment, CancellationConf has the attributes listed in Table 61:

TABLE 61AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of the acknowledgement.The Status is either SUCCESS orFAIL.CancellationEffectiveDateCDATA#REQUIREDThe date on which the transaction wascancelled.ReasonCodeCDATA#REQUIREDWhere STATUS is FAIL, aReasonCode and associatedReasonText must be provided.(See Table 63.)ReasonTextCDATA#REQUIREDText associated with the ReasonCodeabove. (See Table 63.)


The following validation rules (Table 62) preferably apply to the CancellationConf attributes:

TABLE 62MustMayErrorAttributeValidation RuleValidateValidateCodeStatusValue is validCancellationEffectiveDateFormat is validCancellation dateis beforevalue dateReasonCodeReason Codeis Valid (SeeTable 63.)ReasonTextReason Text isValid (SeeTable 63.)


The following Reason Codes (Table 63) are also preferably used with CancellationConf:

TABLE 63StatusReasonCodeReasonTextSUCCESS00CR00Transaction CancelledFAIL00CR01Failed to Identify TransactionFAIL00CR02Payment Has Been Already ExecutedFAIL00CR03Payment Obligation - Requires Assent of SellerFAIL00CR04Payment Has Already Been Cancelled


The ConditionSetUpConf DTD block provides negative or positive confirmation of a request to set up conditions against payment. ConditionSetUpConf corresponds to the above described Cnd Update response messages listed in Table 3. The response indicates only that the conditions now exist within the domain of a TSS. All other communications about conditions use the document defined in the PayCondition DTD (described below). ConditionConf preferably includes the following attributes, listed in Table 64:

TABLE 64AttributeTypePresenceDescriptionStatusCDATA#REQUIREDThe status of theacknowledgement. The Statusis either SUCCESS or FAIL.ReasonCodeCDATA#REQUIREDWhere STATUS is FAIL,a ReasonCode andassociated ReasonTextmust be provided.(See Table 66.)ReasonTextCDATA#REQUIREDText associated with theReasonCode above.(See Table 66.)


The following validation rules preferably apply to the ConditionConf attributes included in the element (Table 65):

TABLE 65MustMayErrorAttributeValidation RuleValidateValidateCodeStatusValue is validReasonCodeReason Code is Valid (SeeTable 66.)ReasonTextReason Text is Valid (SeeTable 66.)


The following Reason Codes, in Table 66, are preferably used with ConditionConf:

TABLE 66StatusReasonCodeReasonTextFAIL00CS01ConditionCode not ValidFAIL00CS02Invalid TPSP Contact DetailsFAIL00CS03Expiry Date in the PastFAIL00CS04Associated Obligation Not Accepted


A RelatedAcknowledgement DTD element may optionally be used to support and carry other acknowledgements related to a transaction. For example, it may be used in seller bank 104-to-seller 108 communication to carry the acknowledgement provided by buyer's bank 102 to seller's bank 104. The RelatedAcknowledgement has three standardized attributes that allow for identification, decoding and interpretation of the contents. In a preferred embodiment, those attributes, listed in Table 67, are as follows:

TABLE 67AttributeTypePresenceDescriptionNameCDATA#IMPLIEDOptionalContentNMTOKEN#REQUIREDThis identifies how the acknowledgement iswrapped. Prefreable valid values for the Contentattribute are as follows:PCDATA. The content of the RelatedAcknowledgementelement can be treated as PCDATA (e.g.,by default) with no further processing.MIME. The content of the RelatedAcknowledgementelement is a complete MIME item. Processingshould include looking for MIME headers inside theRelatedAcknowledgement Element.MIME: mimetype. The content of the RelatedAcknowledgementelement is MIME content, withthe following header “Content-Type: mimetype”.(Although it is possible to have MIME: mimetypewith the Transform attribute set to NONE, it isgenerally more likely to have the Transform attributeset to BASE64. If Transform is set to NONE, thenthe entire content must conform to PCDATA, and inthat case some characters must be encoded either asthe XML default entities or as numeric characterentities.)XML. The content of the RelatedAcknowledgementelement can be treated as an XML document.Entities and CDATA sections, or Transform set toBASE64, must be used to ensure that the RelatedAcknowledgementelement contents are legitimatePCDATA.Transform(NONE|#REQUIREDThis identifies the transformation that has been doneBASE64)to the data before it was placed in the content. Validvalues are:NONE. The PCDATA content of theRelatedAcknowldgement element is the correctrepresentation of the data. Note that entity expansionmust occur first (i.e. replacement of &amp; and&#9;) before the data is examined. CDATA sectionsmay legitimately occur in aRelatedAcknowledgement element where theTransform attribute is set to NONE.BASE64. The PCDATA content of theRelatedAcknowledgement element represents aBASE64 encoding of the actual content.


Suitable validation rules may be implemented for the RelatedAcknowledgement attributes, as appropriate.


Payment Condition


The PaymentCondition document is used to pass information about the status of conditions between parties involved in a transaction (the Cnd Decl response message described above and listed in Table 3 corresponds to a PaymentCondition document). Note that the document is only used when conditions have been successfully created in the TSS.


The PaymentCondition document is preferably used:

  • 1. By the TSS to inform the TPSP that conditions have been created that require to be discharged.
  • 2. By the TPSP to inform the TSS that a change has been made to the status of conditions assigned for discharge.
  • 3. By the TSS to inform buyer's bank 102 that a change has been made to the status of the conditions attached to a payment made by buyer 106 (note that buyer's bank 102 may operate, i.e. may act as, the TSS).
  • 4. By the TSS to inform (if required) buyer 106 or seller's bank 104 that a change has been made to the status of the conditions.
  • 5. By seller's bank 104 to inform seller 108 that a change has been made to the status of the conditions.


The contents of the PaymentCondition DTD are preferably given in Table 68 below:

TABLE 68NIBNetwork Information BlockSignatureXMLDSig Signature BlockCertBundleCertificate Bundle BlockSystemPayConditionPayCondition Transaction Block (see Table 69ResponseResponse Block (This block must be includedwith any response containing signed certificateof the organization making the reponse.)


The SystemPayCondition DTD contains, in a preferred embodiment, the following elements or blocks (as indicated in Table 69):

TABLE 69ContainsRelationship DescriptionSystemHeaderContain product type and message type informationfor the transaction in progress.ReferencesContains references to the commercial transaction beingused by those parties involved in the transaction.ConditionSetContains information about the conditionsbeing processed.


The attributes of the SystemHeader, in a preferred embodiment, for conditional payment products are included in Table 20 above. The preferable associated validation rules are also provided in Table 21 above and, for a conditional payment, also preferably include the validation rule in Table 70 for the Product attribute:

TABLE 70MustMayErrorAttributeValidation RuleValidateValidateCodeProductThe product code is for a00EH05conditional product.


The References block is used to identify the commercial payment transaction to which the conditions are attached. The attributes and associated validation rules for the Reference block in a preferred embodiment are provided above in Tables 43 and 44 respectively.


The ConditionSet block contains a description of the conditions that attach to a payment. The ConditionSet block is an imported element and, as indicated, is used in a number of the system payment blocks. A preferred description of this block is given in more detail below.


As also indicated above, the Contact block contains contact details that may be used to provide contact information for the parties involved in a transaction. The Contact block is preferably an imported element and also used in a number of the system payment blocks that import it (as described above and also including ConditionSet). The Contact data element in a preferred embodiment is also described in more detail below.


Payment Cancellation


The PaymentCancellation document is used to request the cancellation of a payment. The POr Cncl request message described above and listed in Table 2 is implemented in a PaymentCancellation document. Generally, “irrevocable” payments—where a buyer or bank obligation has been undertaken—can only be cancelled with the assent of seller 108. In a preferred embodiment, the contents of the PaymentCancellation DTD are defined in Table 71:

TABLE 71NIBNetwork Information BlockSignatureXMLDSig Signature BlockCertBundleCertificate Bundle BlockSystemPayCancellationPayment Cancellation Block. (See Table 72.)RequestRequest Block


The SystemPayCancellation DTD preferably contains the following blocks, listed in Table 72:

TABLE 72ContainsRelationship DescriptionSystemHeaderThe System Header contains information aboutthe product type and message type.CancBuyerSignedDataThe CancBuyerSignedData containsdata signed by the Buyer to authorizecancellation.BuyerSignaturesThe BuyerSignatures block contains thesignature(s) authorizingcancellation of the payment.


The SystemHeader block is a component common to all messages, as indicated above. Tables 20 and 21 above provide the attributes and validation rules of this block according to a preferred embodiment. In addition, in the context of payment cancellation, for the MessageType, valid values in the request structure are: Cancellation Request and Query.


The CancBuyerSignedData block preferably includes the following elements (Table 73):

TABLE 73ContainsRelationship DescriptionReferencesReferences for the payment transaction which isbeing requested to be cancelled.CancellationDataAdditional instructions provided by the buyerto the buyer's bank.BuyerSignatureDetailsInformation about the buyer's signature(s)authorizing cancellation.


The References block contains references to the transaction that is being requested to be cancelled. The attributes and associated validation rules for the Reference block in a preferred embodiment are provided above in Tables 43 and 44 respectively. The CancellationData block contains additional data provided by buyer 106 and relayed to buyer's bank 102 regarding the cancellation. Preferably, this block has attributes and associated validation rules for carrying out cancellation instructions.


The BuyersSignatures block (in the CancBuyerSignedData block) contains signatures created by actors in the buying organization authorizing the cancellation of the transaction. Approval cycles may require a number of signatures to be provided against any given instruction. The BuyersSignatureDetails block can contain one or more BuyerSignatureDetail blocks. A BuyerSignatureDetail block contains the information about a signature created by buyer 106, and, in a preferred embodiment, its attributes are given in Table 31 and associated validation rules in Table 32. As also indicated above, a related BuyersSignature block (included in the SystemPayCancellation DTD) preferably contains a PCDATA block in which the signature is included in the BuyerSignature element as PCDATA (see Table 33). The attribute and associated validation rules for that block are given in Tables 34-36 for a preferred embodiment.


Payment Challenge


A Payment Challenge document allows a financial institution that requires proof of identity of a third party financial institution prior to exchanging application data to establish the identity of that institution and confirm that the payment product is supported. The response to a PaymentChallenge is a PayResponse with a ChallengeAck included. The PaymentChallenge DTD has the following elements in a preferred embodiment (Table 74):

TABLE 74NIBNetwork Information BlockSignatureXMLDSig Signature BlockCertBundleCertificate Bundle BlockSystemPayChallengePayment Challenge BlockRequestRequest Block


Condition Set


The ConditionsSet element DTD is used in a number of transactions to carry information about the conditions which can attach to payments. The ConditionSet DTD preferably contains the following elements, listed in Table 75:

TABLE 75ContainsRelationship DescriptionConditionThe condition block contains a description of each of theconditions within the transaction.ContactThese are variously as follows:buyer/seller to bank - Contact details of TPSP where asingle TPSP is being used to discharge conditionsTSS to TPSP - Contact details of the TSS.TPSP to TSS - Contact details of the TPSP for furthercommunication.


ConditionSet preferably has the following attributes, listed in Table 76:

TABLE 76ProvidedAttributeTypePresenceDescriptionByTransactionDescriptionCDATA#REQUIREDA text description of theSellercommercial transactionbeing undertaken.StatusCDATA#REQUIREDThe Status of the ConditionSet:Requested The statuswhen the conditions arecreated - beforeregistration with a TSS.Incomplete Conditionswhich are registered with aTSS and remain to bedischarged.Discharged Conditionswhich have beendischarged by a TPSPExpiredConditions which haveexpired. Condition Setswhich contain conditionswhich have expired.CancelledConditions which attach toa payment that has beencancelled.


Suitable validation rules may be applied to the ConditionSet attributes.


The Condition block may contain a Contact block. If conditions within a payment are to be discharged by different TPSPs, then contact information is preferably appended against each condition rather than against the ConditionSet. Preferably, this element is only present when buyer 106 or seller 108 informs a financial institution of the conditions in the PayRequest document. The Condition block has the following attributes in a preferred embodiment (Table 77):

TABLE 77AttributeTypePresenceDescriptionConditionReferenceNumberCDATA#REQUIREDA unique numeric string that identifiedthe condition within the condition set.ConditionCodeCDATA#REQUIREDA code for the standard systemcondition as defined by the systemConditionDescriptionCDATA#REQUIREDA description of the standard systemcondition as defined by the systemXMLlangCDATA#REQUIREDThe ISO Code for the language used todescribe a condition.ConditionStatusCDATA#REQUIREDThe Status of the Condition Set:Requested The status when theconditions are created - beforeregistration with a TSS.Incomplete Conditions which areregistered with a TSS and remain to bedischarged.Discharged Conditions which havebeen discharged by a TPSPExpiredConditions which have expired.Condition Sets which contain conditionswhich have expired.CancelledConditions which attach to a paymentwhich has been cancelled.ConditionStatusDescriptionCDATA#IMPLIEDA text description that accompanies thestatus information.ConditionTransactionDescriptionCDATA#IMPLIEDA description of the transaction asrequired to sign off the condition.ConditionExpiryDateCDATA#IMPLIEDThe expiry date for the condition. Ifreached, the condition expires andcannot be discharged —payment will notbe made.


The following validation rules, listed in Table 78, preferably apply to the Condition block attributes:

TABLE 78MustMayErrorAttributeValidation RuleValidateValidateCodeConditionReferenceNumberConditionReference in unique00CT01ConditionCodeConditionCode is a valid system00CT02payment condition codeConditionDescriptionConditionDescription is a valid00CT03system payment condition descriptionXMLlangThe language is a valid ISO code.00CT04ConditionStatusThe Condition Status is a valid status.00CT05ConditionTransactionDescriptionThe ConditionTransactionDescription00CT06is invalidConditionExpiryDateThe ConditionExpiryDate has notBuyer's00CT07expiredBank


The system may define conditions to be used with the payment products.


Another element that may be used in connection with payment conditions is PackagedContent. The PackagedContent element supports the concept of an embedded data stream, transformed to both protect it against misinterpretation by transporting systems and to ensure XML compatibility. It may be used within the system to allow the TPSP to provide supporting documentation when discharging conditions. The documentation, carried as PCData, is preferably forwarded to the seller once all conditions have been discharged. The PackagedContent data stream preferably has three standardized attributes that allow for identification, decoding and interpretation of the contents, and these attributes are preferably defined as follows in Table 79 below:

TABLE 79AttributeTypePresenceDescriptionNameCDATA#IMPLIEDOptional. Distinguishes between multipleoccurrences of Packaged Content Elements.For example:<ABCD><PackagedContent Name=‘FirstPiece’>snroasdfnas934k</PackagedContent><PackagedContent Name=‘SecondPiece’>dvdsjn15poidsdsflkjnw45</PackagedContent></ABCD>The name attribute may be omitted, forexample if there is only one PackagedContentelement.ContentNMTOKEN#REQUIREDThis identifies what type of data is containedwithin the Content attribute of the PackagedContentelement. The valid values for theContent attribute are as follows:PCDATA. The content of the PackagedContentelement can be treated as PCDATA(e.g., by default) with no further processing.MIME. The content of the PackagedContentelement is a complete MIME item. Processingshould include looking for MIME headersinside the PackagedContent Element.MIME: mimetype. The content of thePackagedContent element is MIME content,with the following header “Content-Type:mimetype”.Although it is possible to haveMIME: mimetype with the Transform attributeset to NONE, it is more likely to have theTransform attribute set to BASE64. Note that ifTransform is NONE is used, then the entirecontent should still conform to PCDATA.Some characters will need to be encoded eitheras the XML default entities, or as numericcharacter entities.XML. The content of the PackagedContentelement can be treated as an XML document.Entities and CDATA sections, or Transform setto BASE64, must be used to ensure that thePackaged Content Element contents arelegitimate PCDATA.Transform(NONE|#REQUIREDThis identifies the transformation that has beenBASE64)done to the data before it was placed in thecontent. Valid values are:NONE. The PCDATA content of thePackagedContent element is the correctrepresentation of the data. Note that entityexpansion must occur first (i.e. replacement of&amp; and &#9;) before the data is examined.CDATA sections may legitimately occur in aPackagedContent element where the Transformattribute is set to NONE.BASE64. The PCDATA content of thePackaged Content Element represents aBASE64 encoding of the actual content.


Again, suitable validation rules may be applied to the PackagedContent attributes.


Contact


The Contact DTD is used in a number of document definitions and so is preferably defined in a separate DTD for re-use. The structure contains generic contact data, connected with the element that it is being used in conjunction with. Generally, this data contains the names and contact details of one or more individuals dealing with any given transaction. Thus, the Contact block may have the following attributes (the descriptions of which are self-explanatory in Table 80):

TABLE 80AttributeTypePresenceOrganizationNameCDATA#IMPLIEDOrganizationUnitNameCDATA#IMPLIEDAddress1CDATA#IMPLIEDAddress2CDATA#IMPLIEDAddress3CDATA#IMPLIEDAddress4CDATA#IMPLIED


Suitable validation rules may be applied to the Contact attributes, as appropriate. The ContactData block may also include the following attributes (again, for these attributes, the descriptions in Table 81 are self-explanatory):

TABLE 81AttributeTypePresenceContactNameCDATA#IMPLIEDContactTitleCDATA#IMPLIEDTelephoneCDATA#IMPLIEDFaxCDATA#IMPLIEDEmailCDATA#IMPLIEDPreferredLanguageCDATA#IMPLIED


Validation rules are also applied to these attributes, as appropriate.

TABLE 82Field DescriptionContent DefinitionTransactionReference35 alphanumericProduct3 alphanumericMessageType20 alphanumericSellerBankReference30 alphanumericBuyerBankReference30 alphanumericBuyerReference35 alphanumericSellerReference35 alphanumericBuyerRelatedTransactionReference35 alphanumericSellerRelatedTransactionReference35 alphanumericRejection Code6 alphanumeric (ssxxnn)Rejection Reason35 alphanumericBuyerAccount30 numericBuyerInstruction4 * 35 alphanumericSellerAccount30 numericSellerInstruction4 * 35 alphanumericPaymentDetails4 * 35 alphanumericDirectDebitSchemeIdentifier35 alphanumericAmt17 digits plus a decimal point(Where no decimal point isspecified, it may be assumedthat the decimal place isright justified, i.e. the amountis expressed in units of thecurrency in question)CurCode3 alphabetic - ISO 4217ValueDate8 numeric [YYYYMMDD]ValueTerm3 numericOrganisationalName35 alphanumericOrganisationalUnit35 alphanumericAddress135 alphanumericAddress235 alphanumericAddress335 alphanumericAddress 435 alphanumericContactName35 alphanumericContactTitle35 alphanumericTelephone35 alphanumericFax35 alphanumericEmail35 alphanumericPreferredLanguage35 alphanumericObligationTypeValues ‘buyer’ or ‘bank’ObligationEffectiveDate8 numeric [YYYYMMDD]PaymentDetails4 * 35 alphanumericConditionSetTransactionDescription4 * 35 alphanumericConditionReferenceNumber3 numericConditionCode6 alphanumericConditionDescription4 * 35 alphanumericConditionStatusDescription4 * 35 alphanumericConditionTransactionDescription4 * 35 alphanumericSequence (BuyerSignature)3 numericReasonForSignature4 * 35 alphanumericSignedPreviousSignatureValues ‘true’ or ‘false’SellerCorrespondentBank8 alphanumbericSellerBankUndertaking4 * 35 alphanumericCustomerServiceReferenceValues ‘SellerBankReference’,‘BuyerBankReference’,‘TransactionReference’,‘BuyerReference’ or‘SellerReference’PaymentEffectiveDate8 numeric [YYYYMMDD]CancellationEffectiveDate8 numeric [YYYYMMDD]CancellationInstruction4 * 35 alphanumeric


Error Codes and Error Texts


Reason Codes may be used within the payment system to provide more detail as to the reason for success or failure of any particular event. A preferred structure of the reason code is ssbbnn, where

    • ss=the identifier of the scheme who owns the error code (e.g. 00),
    • bb=indicates the DTD block within the scheme, and
    • nn=number of the error.


The following bb block codes in Table 83 may, for example, be used with respect to the DTDs given above:

TABLE 83BBBuyerDataBDBuyerSignatureDetailsBEBuyerSignatureDetailBIBuyerSignatureBSBuyerSignaturesBABuyerSignedDataCACancellationDataCBCancBuyerSignedDataCCCancellationConfCDContactDataCHChallengeRequestCOContactCRCancellationRequestCSConditionSetCTConditionCUConditionSetUpConfEHSystem HeaderNDNegotiatedDataOBObligationOCObligationConfPCPayConfPIPayInstAckPRPayRequestRARelatedAcknowledgementREReferencesSAServiceAckSBSellerBankDataSDSellerPrivateDataSPSellerPublicData


Table 84 below also summarizes a set of preferred Reason Codes.

TABLE 84CodeDescription00EH01Invalid Product Code00EH02The Originator is Not Authorized to Use Product00EH03Invalid MessageType Provided00EH04Product Not Supported By Institution00EH05Product code not for a conditional product.00ND01Contains a zero, negative or non numeric value00ND02Amount exceeds maximum for Payment Channel00ND03Amount exceeds Buyer's Limit00ND04Amount format invalid for stated currency00ND05CurCode is not valid00ND06CurCode is not supported by the institution00ND07Value Date is an invalid format00ND08Value Date is the past00ND09Value Date cannot be met00ND10Value Date is not within XX days of current working date (where XX is themaximum number of days that an institution will allow instructions in thefuture).00ND11The Value Term provided falls outside the parameters allowed by thefinancial institution.00ND12Incorrect value provided.00ND13Invalid Payment Duration Provided00ND14Invalid Payment Model Provided00BB01Buyer Reference does not exceed allowed length for field.00BB02Buyer Reference does not exceed allowed length for field.00BB03BuyerAccount is an invalid string00BB04BuyerAccount provided is not assigned to certificate presented00BB05Bank Identifier not recognized00BB06Bank Identifier not provided00BB07BuyerInstruction does not exceed allowed length for field.00BB08Invalid format00BB09Invalid format00BB10FX Contract has expired00SP01Does not exceed maximum length00SP02SellerAccount is an invalid string00SP03SellerAccount provided is not assigned to certificate presented00SP04Bank Identifier not recognized00SP05Bank Identifier not provided00SP06SellerRelatedTransactionReference does not exceed maximum length00SP07PaymentDetails does not exceed maximum length00SP08DirectDebitSchemeIdentifier is a valid Identifier.00OB00Obligation Request Successful00OB01ObligationType: The value provided is invalid.00OB02The NegotiatedData includes recurring payment instructions. (Obligationscannot be undertaken for recurring payments)00OB03The Obligation date is not in the past.00OB04The Obligation date is on or after the ValueDate.00OB05Invalid Obligation Date Format00OB06(Certified Obligation Only) Insufficient Credit00BE01Sequence Format is valid00BE02The sequence is incremental across BuyerSignature blocks in theBuyerSignatures entity00BE03ReasonForSignature Format is valid00BE04SignedPreviousSignature Format is valid00BI01The Buyer's Signature is invalid.00BI02The Buyer's Signatures do not have the prerequisite level of authority.00BI03Sequence Format is valid00BI02The sequence is incremental across BuyerSignature blocks in theBuyerSignatures entity00SD01SellerAccount is an invalid string00SD02SellerAccount provided is not assigned to certificate presented00SD03Bank Identifier not recognized00SD04Bank Identifier not provided00SD05Seller Instruction Format is invalid00SB01SellerBank Reference Format is invalid00SB02SellerCorrespondentBank Format is a invalid SWIFT BIC00SB03SellerAccount is an invalid string00SB04SellerAccount Bank Identifier not recognized00SB05SellerAccount Bank Identifier not provided00SB06SellerBankUndertaking Format is Valid00SB07The fee is a valid amount.00RE01The Transaction Reference cannot be reconciled.00RE02The BuyerBank Reference cannot be reconciled.00RE03The SellerBank Reference cannot be reconciled.00RE04The BuyerReference cannot be reconciled00RE05The SellerReference cannot be reconciled00RE06The BuyerRelatedTransactionReference cannot be reconciled00RE07The SellerRelatedTransactionReference cannot be reconciledOOCH00Product Supported and Requesting Institution Authenticated00CH01Failed to Authenticate Requesting Party00PR00Payment Executed00PR01Seller's Bank Certificate is Invalid00PR02Seller's Bank Signature is Invalid00PR03Seller's Bank is not Authorized to Request Service00PR04Buyer's Bank Certificate is Invalid00PR05Buyer's Bank Signature is Invalid00PR06Buyer Mandate has Incorrect Authorization00PR07Request has Incorrect Syntax00PR08Payment Rejected By Payment Network00PR09Payment Received00PR10Payment Execution Failed00PR11Seller's Certificate is Invalid00PR12Seller's Signature is Invalid00PR13Seller's is not Authorized to Request Service00PR14Valid Request00CR00Transaction Cancelled00CR01Failed to Identify Transaction00CR02Payment Has Been Already Executed00CR03Payment Obligation - Requires Assent of Seller00CR04Payment Has Already Been Cancelled00CS01ConditionCode not Valid00CS02Invalid TPSP Contact Details00CS03Expiry Date in the Past00CS04Associated Obligation Not Accepted00CT01ConditionReference is not unique00CT02ConditionCode is an invalid payments Condition Code00CT03ConditionDescription is an invalid payments Condition Description00CT04The language is not valid ISO code.00CT05The Condition Status is invalid.00CT06The ConditionTransactionDescription is invalid00CT07The ConditionExpiryDate has expired


Preferred general message flows for particular payment processes, and typical transaction steps exemplifying those message flows in different transaction models, are now described in connection with FIGS. 6-8.


Payment Order Message Flow


A preferred general message flow for processing a payment order is shown in FIG. 6. Before the first message in the process, buyer 106 and seller 108 identify each other through their respective certificates and agree on the purchase and sales agreement. Buyer 106 agrees to pay for the transaction with a payment order from buyer 106 to buyer's bank 102.


Buyer 106 then reviews the payment order for acceptability, completes the buyer's section in the payment order instruction (see Table 4 above), and signs the payment order instruction. Then, as shown in message 1 of FIG. 6, buyer 106 forwards the payment order instruction to seller 108.


Seller 108 reviews the received payment order instruction for acceptability, completes the seller's section of the payment order instruction (see Table 4 above), and signs the amended payment order instruction. Then, as shown in message 2 of FIG. 6, seller 108 forwards the payment order instruction to seller's bank 104.


Seller's bank 104 reviews the payment order instruction for acceptability, verifies the seller's certificate, completes its section of the order (see Table 4 above), and signs the amended payment order instruction. Then, as shown in message 3 of FIG. 6, seller's bank 104 forwards the payment order instruction to buyer's bank 102.


Buyer's bank 102 reviews the payment order instruction for acceptability and verifies the message syntax, the validity of the certificate and signature, and the authority of the signer. Buyer's bank 102 then creates a service acknowledgment message (see Table 9 above) with the results of these checks, and signs and sends the service acknowledgment to seller's bank 104 as shown in message 4 of FIG. 6.


Seller's bank 104 reviews the service acknowledgment, amends it with its details if necessary, and signs the amended message. The message is then sent to seller 108, as shown in message 5 of FIG. 6.


Seller 108 reviews the service acknowledgment, amends it with its details if necessary, and signs it. The amended service acknowledgment is then sent to buyer 106 as shown in message 6 of FIG. 6.


When the payment execution date/time specified in the payment order instruction is reached, the payment order instruction is executed, preferably utilizing the banks' existing payment infrastructure.


Buyer's bank 102 creates a confirmation of a payment execution (see Table 11 above) to signify that the payment order has been executed. Buyer's bank 102 then signs and sends this message to seller's bank 104 as shown in message 7 of FIG. 6. The confirmation of a payment execution indicates whether the payment order has been executed successfully or not. The confirmation of a payment execution message is preferably sent no later than the close of the following business day.


Seller's bank 104 reviews the confirmation of a payment execution, amends the confirmation of a payment execution with its details if necessary, signs the amended message, and sends it to seller 108 as shown in message 8 of FIG. 6.


Buyer's bank 102 creates a confirmation of a payment execution to indicate whether this payment order has been executed successfully or not. Buyer's bank 102 then signs this message and sends it to the buyer as shown in message 9 of FIG. 6. If payment execution fails, a more detailed description of the reasons is sent to the buyer than would have been sent to seller 108 and seller's bank 104. At a minimum, the confirmation of a payment execution message is preferably sent no later than the close of the following business day.


In a preferred embodiment, if buyer's bank 102 has not yet sent a confirmation of a payment execution message stating that the payment order has been executed and passed into the bank's payment infrastructure, then buyer 106 has the ability to cancel the payment order. To cancel a payment order, buyer 106 creates a payment order cancellation (see Table 7 above). The buyer signs the payment order cancellation and sends it to buyer's bank 102 as shown in message 10 of FIG. 6.


In a preferred embodiment, because revocation of a payment request by buyer 106 is permitted, the payment service preferably stores revocation requests even if a corresponding payment request has not been obtained. This permits a delayed payment request, which already has been revoked, to be identified and prevented from execution.


Buyer's bank 102 reviews the payment order cancellation for acceptability and verifies the message syntax, the validity of the certificate and signature, and the authority of the signer. Buyer's bank 102 then creates a service acknowledgment message (see Table 9 above) with the results of these checks. Buyer's bank 102 then signs and sends the service acknowledgment to buyer 106 as shown in message 11 of FIG. 6.


Buyer's bank 102 creates a confirmation of a payment order cancellation (see Table 15 above) to signify that the payment order cancellation request has been accepted. Buyer's bank 102 then signs and sends the confirmation of a payment order cancellation to buyer 106 as shown in message 12 of FIG. 6. The confirmation of a payment order cancellation should preferably be sent no later than the close of the following business day.


Buyer's bank 102 creates a confirmation of a payment order cancellation to signify that the payment order cancellation request has been accepted. Buyer's bank 102 signs and sends the confirmation of a payment order cancellation to seller's bank 104 as shown in message 13 of FIG. 6. The confirmation of a payment order cancellation message should preferably be sent no later than the close of the following business day.


The payment order may be presented in the three models described above: in the four corner model; as an instruction from the buyer to a buyer's bank; or as a direct debit style instruction that is placed by the seller's bank into the clearing and settlement system.


Payment Order Transaction in the Four Corner Model


A typical payment order transaction in the four corner model occurs as follows.

  • 1. Buyer 106 and seller 108 interact through the seller's online systems.
  • 2. At the point of purchase, the seller software presents the payment form for completion by buyer 106.
  • 3. Buyer 106 signs the BuyerSignedData blocks. The block includes the BuyerData block, the SellerPublicData block, the NegotiatedData block and BuyerSignatureDetail block. For a payment order, the BuyerSignedData block may also include an Obligation block with the ObligationType set to NONE.
    • Note that the buyer role (internally or through facilities provided through seller 108's systems) may require a number of signatures to authorize payment. Subsequent signatures may sign the only the data blocks set out above or additionally sign the BuyerSignature blocks already created.
  • 4. Optionally, seller 108 can check the signature of buyer 106 contained in a PKCS#7 package from the buyer. This step may be optional, since there is generally a requirement for buyer's bank 102 to check the signature of buyer 106 before processing the buyer's mandate.
  • 5. Seller 108 appends SellerPrivateData where appropriate, signs the message and sends the signed message to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative service acknowledgement to seller 108
  • 7. If seller 108 has provided account details in either the SellerPublicData or SellerPrivateData blocks, seller's bank 104 validates these account details. Seller's bank 104 may append account details to the message in the SellerbankData block. Seller's bank 104 may also append a correspondent bank code based on the currency of the transaction. Seller's bank 104 removes the SellerPrivateData block from the message.
  • 8. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank 102 dependent on the seller's bank 104's own risk model. If so, seller's bank 104 signs a message that consists of the PayChallenge that contains the SystemHeader and includes seller's bank 104's credentials timestamped and validated by the root.
    • Buyer's bank 102 then checks the credentials of seller's bank 104, checks that it can process the payment product being requested, and signs a response to seller 108 that includes the validated credentials of buyer's bank 102.
    • Seller's bank 104 validates the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 sends a service acknowledgement to seller 108 advising of the failure.
  • 9. Seller's bank 104 signs the message and sends it to buyer's bank 102.
  • 10. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to the buyer's certificate. For payment requests with more than one signature, buyer's bank 102 must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative service acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 sends a positive service acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organization's signing certificate.
  • 11. Buyer's bank 102 also validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 sends a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the service acknowledgement.
  • 12. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 and to seller's bank 104 advising that execution has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully. Seller's bank 104 may send a PayConf to confirm that funds have been successfully received from buyer's bank 102.


    Cancellation of a Payment Order Using the Four Corner Model


For revocable payment orders, the payment can be cancelled using a four corner model. Buyer's bank 102 should inform buyer 106 asynchronously as to the success of the cancellation request. A typical cancellation of a payment order in this type of transaction occurs as follows.

  • 1. Buyer 106 and seller 108 arrange cancellation through seller's systems.
  • 2. At the point of purchase, seller 108 presents the cancellation form for completion by buyer 106.
  • 3. Buyer 106 signs the CancBuyerSignedData block. Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to cancel payment. Subsequent signatures may sign the data blocks set out above and optionally sign previous BuyerSignature blocks.
  • 4. Optionally, seller can check the signature of buyer 106.
  • 5. Seller 108 sends the signed document to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 7. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank 102 dependent on seller's banks own risk model. Seller's bank 104 will sign a message that consists of the PayChallenge which contains the SystemHeader and will include seller's bank 104's credentials timestamped and validated by the root.
    • Buyer's bank 102 will check the credentials of seller's bank 104, check that it can process the payment product being requested and sign a response to seller 108 that includes the validated credentials of buyer's bank 102.
    • Seller's bank 104 will validate the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 will send a Service Acknowledgement to seller advising of the failure.
  • 8. Seller's bank 104 signs the cancellation message and sends it to buyer's bank 102.
  • 9. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank 102 ensures that the CancellationRequest contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 sends a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.
  • 10. Buyer's bank 102 will then process the Cancellation Request. Buyer's bank 102 may send a positive CancellationConf to seller's bank 104 and to buyer 106 if the cancellation is successfully executed. If the cancellation cannot be executed a negative CancellationConf will be generated. Where the Cancellation Request can be processed synchronously, the CancellationConf can be provided with the Service Acknowledgement.


    Payment Order Transaction in the Buyer to Buyer's bank Model


Buyer to buyer's bank transactions ensure that the payment products can be delivered in procurement and other buyer technologies. A typical buyer to buyer bank transaction for a payment order occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online systems.
  • 2. Buyer 106 places the payment order directly with buyer's bank 102.
  • 3. Buyer 106 signs buyerSignedData blocks. The block includes buyerData block, sellerPublicData block, the NegotiatedData block and BuyerSignatureDetail block. For a payment order buyerSignedData block will also include an Obligation block with the ObligationType set to NONE.
    • Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to authorize payment. Subsequent signatures may sign the only the data blocks set out above or additionally sign buyerSignature blocks already created.
  • 4. Buyer 106 signs the document and sends it to buyer's bank 102.
  • 5. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank 102 must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to buyer. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
  • 6. Buyer's bank 102 validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 will send a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the Service Acknowledgement.
  • 7. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 advising that payment has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully.


    Cancellation of a Payment Order Using the Buyer to Buyer's Bank Model


For revocable payment orders, the payment can be cancelled using the buyer to buyer's bank model. The following describes a typical payment order cancellation through this model.

  • 1. Buyer 106 through its own internal systems or through the systems of its financial institutions looks to cancel a payment order.
  • 2. Buyer 106 signs the SystemHeader and References blocks. Note that the buyer role may require a number of signatures to cancel payment. Subsequent signatures may sign the data blocks set out above and optionally sign previous BuyerSignature blocks.
  • 3. Buyer 106 sends it to buyer's bank 102.
  • 4. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank 102 must ensure that the CancellationRequest contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to buyer. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
  • 5. Buyer's bank 102 will then process the Cancellation Request. Buyer's bank 102 may send a positive CancellationConf to buyer 106 if the cancellation is successfully executed. If the cancellation cannot be executed a negative CancellationConf will be generated. Where the Cancellation Request can be processed synchronously, the CancellationConf can be provided with the Service Acknowledgement.


    Payment Order Transaction in the Direct Debit Model


Use of the direct debit model in the present invention allows payment products to be used in conjunction with clearing and settlement networks that allow direct debit style payments. This type of transaction may be used in accordance with the rules of individual clearing houses. A typical payment order transaction using the direct debit model occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online service. The commercial transaction is to be settled through a direct debit style network with the instruction being placed into the clearing and settlement system by seller's bank 104.
  • 2. Buyer 106 signs buyerSignedData block which contains BuyerData, SellerPublicData and Negotiated Data which constitute the mandate authorizing seller to debit buyer's account.
  • 3. Seller 108 optionally checks buyer 106's signature. Although this is recommended, this is not mandatory. It is preferable that buyer's bank 102 checks buyer 106's signature prior to authorizing a debit from buyer 106's account.
  • 4. Seller 108 appends to buyerSignedData sellerPrivateData block as required and signs and sends to seller's bank 104.
  • 5. Seller's bank 104 checks the signature of seller, the syntax of the message and the authority of seller 108. If any of these checks fail, seller's bank 104 sends a negative ServiceAck to seller 108.
  • 6. Seller's bank 104 signs and sends to buyer's signed mandate to buyer's bank 102. Note that seller's bank 104 can optionally initiate a system challenge-response if required to positively validate the identity of the corresponding institution prior to submitting application data.
    • Buyer's bank 102 checks the signature(s) of buyer 106, the syntax of the message and the authority of buyer 106. If any of these checks fail, buyer's bank 102 sends a negative ServiceAck to seller's bank 104 who includes this as a RelatedAcknowledgement in a ServiceAck to seller. Buyer's bank 102 authorizes debiting of buyer 106's account on confirmation of buyer's mandate.
  • 7. On receiving a positive SvrAck, seller's bank 104 creates the payment [debit] instruction in the appropriate back end payment system. A positive SvrAck is passed to seller 108.
  • 8. On executing the payment instruction, seller's bank 104 can optionally inform seller 108 and buyer's bank 102 that the debit instruction has been executed.
  • 9. On receiving funds in seller 108's account, seller's bank 104 can optionally send a Payment Confirmation to seller 108 and to buyer's bank 102 advising of the receipt of funds.


    Cancellation of a Payment Order Using the Direct Debit Model


Depending on the rules of the Direct Debit network and/or policy of member banks, Direct Debit instructions may also be cancelled in a two party (buyer to buyer's bank and seller to seller's bank) or four party model. The following describes a typical cancellation in the four party model.

  • 1. Buyer 106 and seller 108 arrange cancellation through seller 108's systems.
  • 2. At the point of purchase, seller 108 presents the cancellation form for completion by buyer 106.
  • 3. Buyer 106 signs the CancBuyerSignedData block which includes the reference information of the commercial transaction to be cancelled. Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to cancel payment. Subsequent signatures may sign the data blocks set out above and optionally sign previous BuyerSignature blocks.
  • 4. Optionally, seller 108 can check the signature of buyer 106.
  • 5. Seller 108 sends the signed document to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 7. If the scheme rules require seller's bank 104 to check the validity of buyer 106's signature before cancelling the payment, seller's bank 104 initiates Step 8 otherwise seller's bank cancels the payment and optionally advises buyer's bank 102 and seller with a Cancellation Confirmation.
  • 8. Seller's bank 104 signs the cancellation message and sends it to buyer's bank 102.
  • 9. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank must ensure that the CancellationRequest contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues. Seller 108 will then cancel payment. Note that the response to the Cancellation Request from buyer's bank 102 in this instance is a ServiceAck. It is seller's bank 104 which initiates the CancellationConf.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.


      Payment Obligation Message Flow


A preferred general message flow for processing a payment obligation is shown in FIG. 7. Before the first message in the process, buyer 106 and seller 108 identify each other through their respective certificates and agree on the purchase and sales agreement. Buyer 106 then agrees to pay for the transaction with a payment obligation (see Tables 4 and 5 above) from buyer 106 to buyer's bank 102.


Buyer 106 accepts the payment method, reviews the payment obligation instruction for acceptability, completes the buyer section of the payment obligation instruction, and then signs the payment obligation instruction. The payment obligation instruction is then sent to seller 108 as shown in message 1 of FIG. 7.


Seller 108 reviews the payment obligation instruction for acceptability, completes its section of the order (see Tables 4 and 5 above), signs the amended message, and sends it to seller's bank 104 as shown in message 2 of FIG. 7.


Seller's bank 104 reviews the payment obligation instruction for acceptability, verifies seller's certificate, completes its section of the order (see Tables 4 and 5 above), and signs the amended message. The message is then sent to buyer's bank 102 as shown in message 3 of FIG. 7.


Buyer's bank 102 reviews the payment obligation instruction for acceptability and verifies the message syntax, the validity of certificate and signature, and the authority of the signer. Buyer's bank 102 then creates a service acknowledgment message (see Table 9 above) with the results of these checks. Buyer's bank 102 then signs and sends the service acknowledgment to seller's bank 104 as shown in message 4 of FIG. 7.


Seller's bank 104 reviews the service acknowledgment, amends it with its details if necessary, and signs the amended message. The amended service acknowledgment message is then sent to seller 108 as shown in message 5 of FIG. 7.


Seller reviews the service acknowledgment, amends it with details if necessary, and signs the amended message. The amended service acknowledgment is then sent to buyer 106 as shown in message 6 of FIG. 7.


Buyer's bank 102 creates a payment obligation acceptance confirmation message (see Table 13 above) to signify whether the payment obligation has been accepted. Buyer's bank 102 then signs the payment obligation acceptance confirmation and sends it to seller's bank 104 as shown in message 7 of FIG. 7.


Seller's bank 104 reviews the payment obligation acceptance confirmation, amends with its details if necessary, signs the amended message, and sends it to seller 108 as shown in message 8 of FIG. 7.


Buyer's bank 102 reviews the confirmation of a payment execution, amends it with its details if necessary, signs the amended message, and sends it to seller 108 as shown in message 9 of FIG. 7.


When the date and time specified in the payment obligation instruction has been reached, the payment obligation is executed, preferably utilizing the bank's existing payment infrastructure.


Buyer's bank 102 creates confirmation of a payment execution (see FIG. 11 above) to signify that the payment obligation has been executed. Buyer's bank 102 then signs this message and sends it to seller's bank 104, as shown in message 10 of FIG. 7. The confirmation of a payment execution indicates whether this payment obligation has been executed successfully or not. At a minimum, the confirmation of a payment execution message should preferably be sent no later than the close of the following business day.


Seller's bank 104 reviews the confirmation of a payment execution, amends the confirmation of a payment execution information with its details, signs the amended message, and sends it to seller 108 as shown in message 111 of FIG. 7.


Buyer's bank 102 creates a confirmation of a payment execution message to signify that the payment order has been executed. Buyer's bank 102 then signs this message and sends it to buyer 106 as shown in message 12 of FIG. 7. The confirmation of a payment execution indicates whether this payment obligation has been executed successfully or not. If the payment execution has failed, a more detailed description of the reasons is sent to buyer 106 than would have been sent to seller's bank 104 and to seller 108. At a minimum, the confirmation of a payment execution message is preferably sent no later than the close of the following business day.


Payment Obligation Transaction in the Four Corner Model


A payment obligation may be used in either the four corner or buyer to buyer's bank model. A typical payment obligation transaction in the four corner model occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online systems.
  • 2. At the point of purchase, seller software presents the payment form for completion by buyer 106.
  • 3. Buyer 106 signs buyerSignedData blocks. The block includes buyerData block, sellerPublicData block, the NegotiatedData block and BuyerSignatureDetail block. For a Payment Obligation buyerSignedData block will also include an Obligation block with the ObligationType set to BUYER.
    • Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to authorize payment. Subsequent signatures may sign the only the data blocks set out above or additionally sign buyerSignature blocks already created. Optionally, seller 108 can check the signature of buyer 106. It is generally a requirement that in processing payment, buyer's bank 102 validates the certificate of buyer 106.
  • 4. Seller 108 appends SellerPrivateData where appropriate, signs the message and sends the signed message to seller's bank 104.
  • 5. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 6. If seller 108 has provided account details in either sellerPublicData or SellerPrivateData blocks, seller's bank 104 will validate these account details. Seller's bank 104 will append account details to the message in sellerbankData block. Seller's bank 104 will also append a correspondent bank code based on the currency of the transaction. Seller's bank 104 removes sellerPrivateData block from the message.
  • 7. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank 102 dependent on seller's bank 104's own risk model. Seller's bank 104 will sign a message that consists of the PayChallenge which contains the SystemHeader and will include seller's bank credentials timestamped and validated by the root.
    • Buyer's bank 102 will check the credentials of seller's bank 104, check that it can process the payment product being requested and sign a response to seller 108 that includes the validated credentials of buyer's bank 102.
    • Seller's bank 104 will validate the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 will send a Service Acknowledgement to seller 108 advising of the failure.
  • 8. Seller's bank 104 signs the message and sends it to buyer's bank 102.
  • 9. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank 102 must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.
  • 10. Buyer's bank 102 validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 will send a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the Service Acknowledgement.
  • 11. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 and to seller's bank 104 advising that execution has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully. Seller's bank 104 may send a PayConf to confirm that funds have been successfully received from buyer's bank 102.


    Cancellation of a Payment Obligation Using the Four Corner Model


For payment obligations, the payment can be cancelled using the following four corner model process or an out of band process that includes positive assent to the cancellation by seller.

  • 1. Buyer 106 and seller 108 arrange cancellation through seller's systems.
  • 2. At the point of purchase, seller 108 presents the cancellation form for completion by buyer 106.
  • 3. Buyer 106 signs the CancBuyerSignedData block. Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to cancel payment. Subsequent signatures may sign the data blocks set out above and optionally sign previous BuyerSignature blocks.
  • 4. Optionally, seller 108 can check the signature of buyer 106.
  • 5. Seller 108 sends the signed document to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 7. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank dependent on seller's bank 104's own risk model. If so, seller's bank 104 will sign a message that consists of the PayChallenge that contains the SystemHeader and will include seller's bank 104's credentials timestamped and validated by the root.
    • Buyer's bank 102 will check the credentials of seller's bank 104, check that it can process the payment product being requested and sign a response to seller 108 that includes the validated credentials of buyer's bank 102.
    • Seller's bank 104 will validate the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 will send a Service Acknowledgement to seller advising of the failure.
  • 8. Seller's bank 104 signs the cancellation message and sends it to buyer's bank 102.
  • 9. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For Payment Requests with more than one signature, buyer's bank 102 must ensure that the CancellationRequest contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.
  • 10. Buyer's bank 102 will then process the Cancellation Request. Buyer's bank 102 may send a positive CancellationConf to seller's bank 104 and to buyer 106 if the cancellation is successfully executed. If the cancellation cannot be executed a negative CancellationConf will be generated. Where the Cancellation Request can be processed synchronously, the CancellationConf can be provided with the Service Acknowledgement. If the transaction cannot be identified, a negative Cancellation Request document will be generated


    Payment Obligation Transaction in the Buyer to Buyer's Bank Model


A typical payment obligation transaction in the buyer to buyer's bank model occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online systems.
  • 2. Buyer 106 requests the payment obligation directly with buyer's bank 102.
  • 3. Buyer 106 signs buyerSignedData block. Buyer 106 will complete sellerPublicData including provision of seller 108's account details and indicating that buyer 106 is undertaking an obligation to seller 108 to pay that can only be revoked with the agreement of seller 108. For a payment obligation, the ObligationType attribute of the Obligation block is set to BUYER.
    • Note that the buyer role may require a number of signatures to authorize payment. Subsequent signatures may sign the only the data blocks set out above or additionally sign buyerSignature blocks already created.
  • 4. Buyer 106 signs the document and sends it to buyer's bank.
  • 5. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment obligation requests with more than one signature, buyer's bank 102 must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to buyer 106. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • For payment obligations, buyer's bank 102 will include an ObligationConf Block with the ServiceAck that indicates buyer 106 has undertaken that obligation.
  • 6. Buyer's bank 102 validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 will send a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the Service Acknowledgement.
  • 7. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 and advising that payment has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully.


Payment obligations generally cannot be cancelled using the buyer to buyer's bank model.


Certified Payment Obligation Message Flow


In a preferred embodiment, the certified payment obligation product may employ the same general message flow as shown in FIG. 7 except that a CePOb Inst message is substituted for POb Inst and a CePOb Acpt Conf message is substituted for POb Acpt Conf.


Certified Payment Obligation Transaction in the Four Corner Model


In the four corner model, a certified payment obligation transaction typically occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online systems.
  • 2. At the point of purchase, seller software presents the payment form for completion by buyer. This includes the requirement that a Certified Payment Obligation be put in place with seller.
  • 3. Buyer 106 signs buyerSignedData block. Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to authorize payment. For a Certified Payment Obligation, the ObligationType attribute of the Obligation block is set to BANK.
  • 4. Optionally, seller 108 can check the signature of buyer 106. It is generally a strong requirement that in processing payment buyer's bank 102 validates the certificate of buyer 106.
  • 5. Seller 108 appends SellerPrivateData where appropriate, signs the message and sends the signed message to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 7. If seller 108 has provided account details in either sellerPublicData or SellerPrivateData blocks, seller's bank 104 will validate these account details. Seller's bank 104 will append account details to the message in sellerbankData block. Seller's bank 104 will also append a correspondent bank code based on the currency of the transaction. Seller's bank 104 removes sellerPrivateData block from the message.
  • 8. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank dependent on seller's banks own risk model. If so, seller's bank 104 will sign a message that consists of the PayChallenge which contains the SystemHeader and will include seller's bank 104's credentials timestamped and validated by the root.
    • Buyer's bank 102 will check the credentials of seller's bank 104, check that it can process the payment product being requested and sign a response to seller that includes the validated credentials of buyer's bank 102.
    • Seller's bank 104 will validate the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 will send a Service Acknowledgement to seller 108 advising of the failure.
  • 9. Seller's bank 104 signs the message and sends it to buyer's bank 102.
  • 10. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.
  • 11. Buyer's bank 102 validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 will send a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the Service Acknowledgement.
  • 12. Buyer's bank 102 will check the check the limit currently assigned against the card/corporate in line with internal risk policy. If buyer's bank 102 accepts the liability and certifies an obligation, a positive ObligationConf is sent from buyer's bank 102 to seller's bank 104. If buyer's bank 102 does not agree to the obligation, a negative Obligation Conf response is sent from buyer's bank 102 to seller's bank 104. The response should be sent by the end of the next working day and can be sent synchronously with the ServiceAck where a financial institutions systems support synchronous acceptance of such risks.
  • 13. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 and to seller's bank 104 advising that execution has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully. Seller's bank 104 may send a PayConf to confirm that funds have been successfully received from buyer's bank 102.


    Cancellation of a Certified Payment Obligation Using the Four Corner Model


For Certified Payment Obligations, the payment can be cancelled using the following four corner model process or an out of band process that includes positive assent to the cancellation by seller.

  • 1. Buyer 106 and seller 108 arrange cancellation through seller's systems.
  • 2. At the point of purchase, seller 108 presents the cancellation form for completion by buyer 106.
  • 3. Buyer 106 signs the CancBuyerSignedData blocks. Note that the buyer role (internally or through facilities provided through seller's systems) may require a number of signatures to cancel payment. Subsequent signatures may sign the data blocks set out above and optionally sign previous BuyerSignature blocks.
  • 4. Optionally, seller 108 can check the signature of buyer 106.
  • 5. Seller 108 sends the signed document to seller's bank 104.
  • 6. Seller's bank 104 checks seller 108's signature, the status of seller 108's certificate, and the authority and rights assigned to seller 108's certificate. If these checks fail, seller's bank 104 sends a negative Service Acknowledgement to seller 108.
  • 7. Seller's bank 104 may optionally choose to initiate a challenge-response transaction with buyer's bank 102 dependent on seller's bank 104's own risk model. Seller's bank 104 will sign a message that consists of the PayChallenge which contains the SystemHeader and will include seller's bank 104's credentials timestamped and validated by the root.
    • Buyer's bank 102 will check the credentials of seller's bank 104 and check that it can process the payment product being requested. Seller's bank 104 will validate the credentials presented by buyer's bank 102. If validation fails, seller's bank 104 will send a Service Acknowledgement to seller 108 advising of the failure.
  • 8. Seller's bank 104 signs the cancellation message and sends it to buyer's bank 102.
  • 9. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment requests with more than one signature, buyer's bank 102 must ensure that the CancellationRequest contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to seller's bank 104. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • Seller's bank 104 re-signs the service acknowledgement and sends it to seller 108. All acknowledgements include a freshness proof of the acknowledging organizations signing certificate.
  • 10. Buyer's bank 102 will then process the Cancellation Request. Buyer's bank 102 may send a positive CancellationConf to seller's bank 104 and to buyer 106 if the cancellation is successfully executed. If the cancellation cannot be executed a negative CancellationConf will be generated. Where the Cancellation Request can be processed synchronously, the CancellationConf can be provided with the Service Acknowledgement. If the transaction cannot be identified, a negative Cancellation Request document will be generated.


    Certified Payment Obligation Transaction in the Buyer to Buyer's bank Model


In the buyer to buyer's bank model, a certified payment obligation transaction typically occurs as follows.

  • 1. Buyer 106 and seller 108 interact through seller's online systems.
  • 2. Buyer 106 requests the payment obligation directly with buyer's bank 102.
  • 3. Buyer 106 signs buyerSignedData blocks. Buyer 106 will complete sellerPublicData including provision of seller 108's account details and indicating that buyer 106 is undertaking an obligation to seller 108 to pay that can only be revoked with the agreement of seller 108. For certified payment obligations, the ObligationType attribute in the Obligation element is set to the value BANK.
    • Note that the buyer role may require a number of signatures to authorize payment. Subsequent signatures may sign the only the data blocks set out above or additionally sign buyerSignature blocks already created.
  • 4. Buyer 106 signs the document and sends it to buyer's bank 102.
  • 5. Buyer's bank 102 checks buyer 106's signature, the status of buyer 106's certificate, and the authority and rights assigned to buyer 106's certificate. For payment obligation requests with more than one signature, buyer's bank 102 must ensure that the request contains the correct authority.
    • If these checks fail, buyer's bank 102 sends a negative Service Acknowledgement to buyer 106. If these checks are successful, buyer's bank 102 will send a positive Service Acknowledgement including an indication of which reference should be used for customer service issues.
    • For payment obligations, buyer's bank 102 will provide an ObligationConf Block that indicates buyer 106 has undertaken that obligation. Where an institution can synchronously process the obligation request, the ObligationConf may be included with the ServiceAck. The ObligationConf should again be provided no later than at the end of the next working day to the day on which the request was made.
  • 6. Buyer's bank 102 validates account related details. Note that this validation can take place synchronously. If the validation fails, buyer's bank 102 will send a negative PayInstAck. Where account related details are validated synchronously, the PayInstAck may be returned in the same document as the Service Acknowledgement.
  • 7. On execution of the payment, buyer's bank 102 may send a PayConf to buyer 106 and advising that payment has taken place. A negative PayConf may be produced where the clearing and settlement system fails to process the payment transaction successfully.


Certified Payment Obligations generally cannot be cancelled using the buyer to buyer's bank model.


Conditional Payments


As indicated, conditions may be attached to all three payment products described above to form three conditional payment products.


Management of Conditions in Conditional Payments


Ground rules may be applied in the present invention to govern the relationship between the creation and management of conditions and obligations. In a preferred embodiment, the following ground rules for the use of conditions with payment instructions apply:

  • 1. All conditions will initially be defined by a payments group and published centrally. A preferred set of condition codes and descriptions are described above.
  • 2. The conditions are managed by a Trusted Service Supplier (TSS).
  • 3. The Third Party Service Provider will discharge the condition—signing a statement with a system token that the condition has been met. Once the conditions which attach to a payment have been discharged, the instruction will be executed.
  • 4. The conditions may be offered by seller 108 or entered by buyer 106.
  • 5. The condition has two parts: the generic statement of the condition (as defined by the system) and details that pertain to the particular transaction.
  • 6. Each condition within a payment must be assigned a Third Party Service Provider—an authority who will sign to confirm that the condition has been discharged. The authority may be a corporate entity, a group within that entity, or an individual. TSPS organizations preferably implement appropriate control on the authority to sign. The TPSP should be identified by at least an email address.
  • 7. Condition management remains independent of the transaction.
  • 8. Validation of TPSP certificate must be included in processing the response from the TPSP. The TPSP may have been issued with a certificate by a third party institution.
  • 9. The TPSP should be able to perform a certificate status check on the certificate presented by the financial institution with his institution.
  • 10. Attachments can be attached by the TPSP when discharging the condition. This should not be processed by buyer bank 102 but included in the acknowledgement to buyer 106's system. All attachments are forwarded once all conditions which apply to a payment (“the condition set”) have been discharged.
  • 11. The payment-condition relationship is a one-to-many relationship. One payment may have a number of conditions that must be met before payment is executed. Conditions do not apply to more than a single payment.
  • 12. The rules for cancellation of conditional payment products follow the rules for cancellation of the non-conditional products. The condition management system should be informed if a conditional payment is cancelled. The TPSP will receive a message from the financial institution indicating that the conditions have been cancelled.


    Lifecycle of Conditions in Conditional Payments


Preferably, the lifecycle of the conditions is determined as follows:

  • 1. The conditions that attach to a payment are agreed between buyer 106 and seller 108 as part of the payment negotiation. The status of each condition and the condition set prior to acceptance into the condition management system (TSS) is: Requested.
  • 2. In the four corner model, the conditions are signed by buyer 106 and resigned by seller 108. In the buyer to buyer's bank model, buyer 106 provides details of the conditions that apply to seller 108.
  • 3. Seller's bank 104 logs the conditions locally before processing the document.
  • 4. The conditions that attach to a payment are lodged in the Condition Management System at buyer's bank 102.
  • 5. A ConditionSetUpConf document is generated and sent to seller's bank 104 (or to buyer 106 in the buyer to buyer's bank model) confirming that the conditions exist in the Condition Management System (TSS). The Status of the conditions is:


Incomplete.

  • 6. The Condition Management System informs the Third Party Service Provider (TPSP) that the conditions attached to the payment exist.
  • 7. The TPSP may send an update message to the Condition Management System to update the status of any one of the conditions attached to the payment of which the TPSP is assigned signoff. The PayCondition document is used to inform all parties iri the transaction of a change in status of the condition.
  • 8. The status of any condition attached to a payment, once signed off, is: Discharged. Once all conditions have been discharged, the ConditionSet has the status Discharged.
  • 9. Any attachments assigned to a condition on discharge by a TPSP should not be forwarded to seller 108 until all conditions have been discharged and the payment instruction released.
  • 10. Each condition has an expiry date. Where a condition expires, the ConditionSet cannot be discharged and should be marked as: Expired. A PayCondition document should be sent to the participants in the transaction to inform them that the condition has expired.
  • 11. Where a conditional payment is cancelled, all conditions that attach to a payment are marked as cancelled. The TPSP should be informed using a PayCondition document with all Status fields set to: Cancelled.


    Rules Governing Conditions in Conditional Payments


In addition, the following rules preferably govern the processing of conditional obligations in the present invention:

    • 1. Obligations should be accepted even if conditions are attached.
    • 2. Conditions should not be registered until the obligation has been registered successfully. Where an obligation is refused, a negative ConditionSetUpConf should be sent to buyer 106 (in the buyer to buyer's bank model) or to seller's bank 104 (in the four corner model).
    • 3. The ownership of an obligation cannot be transferred until the conditions have been discharged.
    • 4. If the conditions expire or are cancelled, the Obligation Management function must be informed to release the limit reserved against that conditional payment.


      Conditional Payment Order Message Flow


In a preferred embodiment, much of the message flow for the conditional payment order product is the same as for the payment order product described above except that a CPOr Inst is substituted for a POr Inst in message 1 of FIG. 6. Additional processes, however, are added to subject execution of the payment order to occurrence of a condition. Conditions are preferably set by a TSS and must be met by one or more TPSPs before payment is made. One embodiment of these additional processes is shown in FIG. 8.


The condition details may be supplied to the TSS by buyer's bank 102. In this case, the TSS may inform buyer's bank 102 when a condition has been met so that buyer's bank 102 may respond accordingly. Alternatively, buyer's bank 102 may act as the TSS.


Turning to FIG. 8, the trusted service supplier creates a condition advice message (see Table 8 above) which specifies a condition that must be met by the third party service provider before a payment can be executed. The trusted service supplier then signs the condition advice message and sends it to the third party service provider as shown in message 1 of FIG. 8.


The third party service supplier reviews the condition advice for acceptability, verifies the message syntax, the validity of certificate and signature, and authority of the signer. The third party service supplier then creates a service acknowledgment message with the results of these checks. The third party service provider then signs the service acknowledgment and sends it to the trusted service supplier as shown in message 2 of FIG. 8.


The third party service provider creates a condition update message to inform the trusted service supplier of a completed step in the condition fulfillment process. The third party service provider signs the message and sends it to the trusted service supplier as shown in message 3 of FIG. 8. It should be noted that multiple update messages may be sent for each condition.


The trusted service supplier reviews the condition update message for acceptability, verifies the message syntax, the validity of the certificate and the signature, and the authority of the signer. The trusted service supplier then creates a service acknowledgment (see Table 9 above) with the results of these checks. The trusted service supplier then signs and sends the service acknowledgment to the third party service supplier as shown in message 4 of FIG. 8.


The third party service provider creates a condition declaration message (see Table 16 above) in order to inform the trusted service supplier of a fulfillment of the condition process. This message may be either positive or negative. The third party service provider signs the message and sends it to the trusted service supplier as shown in message 5 of FIG. 8.


The trusted service supplier reviews the conditional declaration message for acceptability, and verifies the message syntax, the validity of the certificate and signature, and the authority of the signer. The trusted service supplier then creates a service acknowledgment message (see Table 9 above) with the results of these checks. The trusted service supplier signs the service acknowledgment and sends it to the third party service provider as shown in message 6 of FIG. 8.


Conditional Payment Obligation Message Flow


In a preferred embodiment, much of the message flow for the conditional payment obligation product is the same as for the payment obligation described above except that a CPOb Inst is substituted for a POb Inst in message 1 of FIG. 7. Additional processes, however, are added to subject execution of the payment obligation to occurrence of a condition. Conditions are preferably set by the trusted service supplier and must be met by one or more third party service providers before payment is made. In a preferred embodiment, the condition process may be the same as that described above in connection with FIG. 8.


Certified Conditional Payment Obligation Message Flow


In a preferred embodiment, the certified conditional payment obligation product may employ the same message flow outlined in connection with the conditional payment obligation above (with the additional condition process included), except that a CePOb Inst message is substituted for CPOb Inst and a CePOb Acpt Conf message is substituted for CPOb Acpt Conf.


As described in detail above, message formats preferably adhere to open standards to ensure compatibility across national boundaries due to the global nature of the payments system. For example, the use of multi-byte character sets in order to accommodate different languages is preferred.


Also preferably, payment transactions are date and time stamped by each of the parties involved in the payment system. In a preferred embodiment, time stamps are based on Universal Time Code (U.T.C.) format, and produced by a third party trusted time server.


In a preferred embodiment, all payment related messages are secured through the use of certificates issued from trusted certification authorities. In a preferred embodiment, these certificates are used to digitally sign messages, providing message authentication, integrity, and non-repudiation.


In a preferred embodiment, the confidentiality of all information exchanged between parties in the payments system is maintained and that information is protected from unauthorized access. Encryption of at least 128-bit strength is preferably employed, using SSLv3/TLS.


In a preferred embodiment, the present payments system provides comprehensive error handling which preferably covers the following areas: message related errors including but not limited to message syntax, message signature verification/authentication, message data such as incorrect bank identification codes, and payment authorization; message specific errors including but not limited to failing to meet set conditions; and payment systems infrastructure errors including but not limited to transmission problems and time-out problems.


In a preferred embodiment, all payment initiation messages are idempotent. For example, when a payment order instruction is sent and no service acknowledgment is received within a specified time limit, the payment order instruction may be sent again, without the intended recipient of this message acting upon this request message twice.


Also, while the system of the present invention preferably includes the automatic processing of acknowledgements as described, participants may also choose to provide acknowledgements through many channels, such as: traditional cash management systems; web-based banking services; voice, fax and other telephony services; or SMS, WAP and other mobile services.


While the invention has been described in connection with specific embodiments, it is evident that numerous alternatives, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description.

Claims
  • 1. A method of providing payment services in a four-corner model, the four-corner model comprising a plurality of entities including a root entity, a first participant, a second participant, a first customer, and a second customer, the first customer being a customer of the first participant, the second customer being a customer of the second participant, each entity being provided with a digital certificate and an associated private key, the method comprising: the first customer completing a buyer's portion of a payment instruction, the payment instruction specifying a payment date; the first customer signing the payment instruction with its private key; the first customer transmitting the payment instruction to the second customer; the second customer completing a seller's portion of the payment instruction; the second customer signing the payment instruction with its private key; the second customer transmitting the payment instruction to the second participant; the second participant completing a second participant portion of the payment instruction; the second participant signing the payment instruction with its private key; the second participant transmitting the payment instruction to the first participant; the first participant executing the payment instruction on the payment date.
  • 2. The method of claim 1, wherein the payment instruction is a payment order instruction.
  • 3. The method of claim 1, wherein the payment instruction is a payment obligation instruction.
  • 4. The method of claim 1, wherein the payment instruction is a conditional payment order instruction.
  • 5. The method of claim 1, wherein the payment instruction is a conditional payment obligation instruction.
  • 6. The method of claim 1, wherein the payment instruction is a certified payment obligation instruction.
  • 7. The method of claim 1, wherein the payment instruction is a certified conditional payment obligation instruction.
  • 8. The method of claim 1 wherein the first customer executes a contract with the first participant defining roles and responsibilities in connection with payment services.
  • 9. The method of claim 1 wherein the second customer executes a contract with the second participant defining roles and responsibilities in connection with payment services.
  • 10. A method of providing payment services, the method comprising: providing a buyer with a plurality of payment instruments, each payment instrument having associated therewith a payment instruction; the buyer choosing one of the payment instruments; the buyer completing at least a first portion of the payment instruction message associated with the payment instrument chosen by the buyer, the payment instruction message specifying a payment date; the first customer signing the payment instruction message with a private key corresponding to a digital certificate of the buyer; the signed payment instrument being received by a bank; the bank executing the payment instruction on the payment date.
  • 11. The method of claim 10, wherein the selected payment instrument is a payment order.
  • 12. The method of claim 10, wherein the selected payment instrument is a payment obligation.
  • 13. The method of claim 10, wherein the selected payment instrument is a conditional payment order.
  • 14. The method of claim 10, wherein the selected payment instrument is a conditional payment obligation.
  • 15. The method of claim 10, wherein the selected payment instrument is a certified payment obligation.
  • 16. The method of claim 10, wherein the selected payment instrument is a certified conditional payment obligation.
  • 17. The method of claim 10, wherein the payment instrument is negotiable.
  • 18. A method of providing payment services in a buyer to participant model, the model comprising a plurality of entities including a participant and a customer, the customer being a customer of the participant, each entity being provided with a digital certificate and an associated private key, the method comprising: the first customer completing a buyer's portion of a payment instruction, the payment instruction specifying a payment date; the first customer signing the payment instruction with its private key; the first customer transmitting the payment instruction to the participant the participant completing a participant portion of the payment instruction; the participant signing the payment instruction with its private key; the participant executing the payment instruction on the payment date.
  • 19. A method of providing payment services in a direct debit model, the direct-debit model comprising a plurality of entities including a participant, a first customer, and a second customer, the second customer being a customer of the participant, each entity being provided with a digital certificate and an associated private key, the method comprising: the first customer completing a buyer's portion of a payment instruction, the payment instruction specifying a payment date; the first customer signing the payment instruction with its private key; the first customer transmitting the payment instruction to the second customer; the second customer completing a seller's portion of the payment instruction; the second customer signing the payment instruction with its private key; the second customer transmitting the payment instruction to the participant; the participant completing a participant portion of the payment instruction; the participant signing the payment instruction with its private key; the participant executing the payment instruction on the payment date.
Parent Case Info

This application claims priority from U.S. provisional patent application Ser. No. 60/155,841, filed Sep. 24, 1999, entitled System and Process for Payment Services, which is hereby incorporated by reference.

Provisional Applications (1)
Number Date Country
60155841 Sep 1999 US
Continuations (1)
Number Date Country
Parent 09657622 Sep 2000 US
Child 10839728 May 2004 US