UPAI A Universal Payment Application Interface A paper























- Slides: 23
U-PAI: A Universal Payment Application Interface A paper from Second USENIX Workshop on Electronic Commerce, USENIX, Oakland, CA March 21, 2000 presented by steve
Outline Ø Introduction Ø API Definitions Ø Sample Ecash Proxy Ø Conclusions March 21, 2000 presented by steve 2
Introduction Ø Many payment mechanisms nowadays ¶e. g. First Virtual, Cyber. Cash, Ecash, SET, … Ø The most significant difference is the order of steps required to execute a payment March 21, 2000 presented by steve 3
Introduction (2) Ø Diversity of payment mechanisms stymied the progress of electronic commerce ¶customers must maintain accounts with several different payment mechanisms ¶no standard way for payment mechanisms to interact with application software March 21, 2000 presented by steve 4
U-PAI Ø U-PAI, a universal payment application interface ¶Goal: define a common set of functions that act as a layer of abstraction between application software and payment mechanisms March 21, 2000 presented by steve 5
U-PAI abstracts payment mechanism internals March 21, 2000 presented by steve 6
API Definitions Ø CORBA specification in ISL of Xerox PARC s ILU Ø Three main objects: ¶Account. Handle ¶PCR (Payment Control Record) ¶Monitor March 21, 2000 presented by steve 7
Account. Handle Ø This instance is a representation of a realworld account Ø The user wishes to start making electronic payments with the account Ø Query balance and credit limits on the account March 21, 2000 presented by steve 8
Analogy to clarify the notion of accounts and Account. Handle March 21, 2000 presented by steve 9
Account. Handle (2) Ø Internal fields: ¶Balance ¶Credit. Limit ¶Account. Type ¶Transfer. Account. Types. From ¶Transfer. Account. Types. To ¶… March 21, 2000 presented by steve 10
Account. Handle (3) Ø Methods: ¶Open. Account(Property. Set acctinfo): Any ¶Create. Account(Property. Set acctinfo): Any ¶Close. Account() ¶Delete. Account() March 21, 2000 presented by steve 11
PCR (Payment Control Record) Ø This instance is a representation of a single payment transaction Ø the locus of control for all activities regarding that payment March 21, 2000 presented by steve 12
PCR (2) Ø Internal fields: ¶Ref. ID, Context. ID ¶Amount ¶Dest. Account. Handle, Source. Account. Handle ¶Status ¶Monitor. List ¶… March 21, 2000 presented by steve 13
PCR (3) Ø Methods: ¶Start. Transfer() ¶Try. To. Abort. Transfer() ¶Update. Status(Status. Entry stat) March 21, 2000 presented by steve 14
Monitor Ø To supplement the status tracking feature of a PCR Ø Internal field: status Ø Method: Notify(PCR p, Status. Entry s) March 21, 2000 presented by steve 15
Sample Ecash Proxy Ø An electronic “coin”-based payment mechanism Ø Provides anonymity for the purchaser Ø U-PAI interacts with ecash at the level of the user operations March 21, 2000 presented by steve 20
Ecash Customer Application Merchant Application E-cash/UNIX Pay Command Payment Complete? Customer E-cash Client Coins transferred by e-cash Bank E -cash Coins transferred by Server e-cash March 21, 2000 presented by steve Yes Merchant E-cash Client Accept deposit? (E-cash protocol) 21
Customer Monitor (a) Start. Transfer Application (b) Start. Transfer Merchant Monitor (d) Notify Payment Control Record (c) Update Status Customer E-cash Account. Handle (c) Update Status Merchant E-cash Account. Handle Request and send Host/Port Info Customer E-cash Client March 21, 2000 Bank E-cash Server presented by steve Merchant E-cash Client 22
Conclusions Ø U-PAI allows a variety of payment mechanisms to be accessed by the same interface Ø U-PAI only covers the basic functionality of accounts and payments March 21, 2000 presented by steve 23
March 21, 2000 presented by steve 24
March 21, 2000 presented by steve 25
March 21, 2000 presented by steve 26
The End March 21, 2000 presented by steve