Subject: Proposal of SET Specific Receipt

From: "Donald E. Eastlake 3rd" <[email-masked]>
Date: Tue, 29 Sep 1998 23:14:23 -0400

I am posting the following at the request of Yoshiaki Kawatsura.

--
Proposal of SET Specific Receipt 

Purpose of Payment Scheme Specific Receipt:
To prove that a payment has occurred independent the transaction. The
connection between the trade and the payment should be managed in the
PayReceipt Component.
 
The technical issue:
The SET Messages are too large (these messages are larger than OTP
messages).  So, it is undesirable to duplicate embed the SET PReq and
PRes messages in for the SET specific receipt in
PayReceiptPackagedContent.

Assumptions:
This proposal assumes the following point.
1. ConsumerPayId is unique in the Consumer System.
2. PaymentHandlerPayId is unique in the Payment Handler System.
3. ConsumerPayId, PaymentHandlerPayId, PReq and PRes are stored in the SET 
   Bridge.

Requirement of the SET Specific Receipt:
1. Can retrieve PReq and PRes from SET Bridge transparently.
2. Can link the SET Specific Receipt to the SET Messages (e.g. PReq, PRes).

The Message Format:
The message format of PayReceiptPackagedContent is as follows,

PayReceiptPackagedContent:
 Field                 Description                 Status
---------------------------------------------------------
ContentData            See Below                 Mandatory

Content                Fixed XML                 Mandatory

Transform              Fixed None                Mandatory
---------------------------------------------------------

ContentData:
 Field                 Description                 Status
---------------------------------------------------------
PreqPackagedContent   PackagedContent which      Mandatory
                      contains the hash of SET 
                      PReq Message.

PresPackagedContent   PackagedContent which      Mandatory
                      contains the hash of SET 
                      PRes Message.
---------------------------------------------------------

PReqPackagedContent:
 Field                 Description                 Status
---------------------------------------------------------
ContentData           Digest Data of PReq        Mandatory
                      using SHA1

Content               Fixed PCDATA               Mandatory

Transform             Fixed Base64               Mandatory
---------------------------------------------------------

PResPackagedContent:
 Field                 Description                 Status
---------------------------------------------------------
ContentData           Digest Data of PRes        Mandatory
                      using SHA1

Content               Fixed PCDATA               Mandatory

Transform             Fixed Base64               Mandatory
---------------------------------------------------------

The CunsumerPayId and the PaymentHandlerPayId are used as sorting keys
in order to locate the stored SET Messages in the SET Bridge.  (This
can be used to satisfy requirement no. 1.)  In the OTP Architecture
spec. in section 10.5.1 the CheckPaymentReceipt is defined to include
the ConsumerPayId and the PaymentHandlerPayId.  This message can be
sent to the Payment Bridge to generate, display, check, etc. the SET
specific receipt.

The hash (Digest Data) is used to link in a verifiable and signed way
to the PayReceiptPackagedContent and the SET messages (this satisfies
the requirement No.2.)

Examples of use:

1.  CheckPayReceipt API:
When the CheckPayReceipt API is used, the OAC passes the
PayReceiptPackagedContent, PaymentHandlerPayId and ConsumerPayId to
the SET Bridge. The SET Bridge retrieves the PReq and PRes using the
two Ids as keys, creates a hash of PReq and PRes, and then compares it
to the hashes contained in the PayReceiptPachagedContent.

2.  Customer Care Service:
The Consumer's OAC sends the StartPaymentInstrumentCustomerCare
message to the SET Bridge. The SET Bridge generates
PaySchemePackagedData which includeds PReq,PRes,PayReceipt, etc. and
returns it to the OAC.  The Consumer's OAC then sends it to Customer
Care Service.
-----------------------------------------------------------------------
Message addressed to: [email-masked]
Archive available at: http://www.elistx.com/archives/ietf-trade/
To (un)subscribe send a message with "subscribe" or "unsubscribe" in the
body to: [email-masked]