230 likes | 383 Views
U-PAI: A Universal Payment Application Interface. A paper from Second USENIX Workshop on Electronic Commerce, USENIX, Oakland, CA. Outline. Introduction API Definitions Sample Ecash Proxy Conclusions. Introduction. Many payment mechanisms nowadays
E N D
U-PAI: A Universal Payment Application Interface A paper from Second USENIX Workshop on Electronic Commerce, USENIX, Oakland, CA
Outline • Introduction • API Definitions • Sample Ecash Proxy • Conclusions presented by steve
Introduction • Many payment mechanisms nowadays • e.g. First Virtual, CyberCash, Ecash, SET,… • The most significant difference is the order of steps required to execute a payment presented by steve
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 presented by steve
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 presented by steve
U-PAI abstracts payment mechanism internals presented by steve
API Definitions • CORBA specification in ISL of Xerox PARCs ILU • Three main objects: • AccountHandle • PCR (Payment Control Record) • Monitor presented by steve
AccountHandle • This instance is a representation of a real-world account • The user wishes to start making electronic payments with the account • Query balance and credit limits on the account presented by steve
Analogy to clarify the notion of accounts and AccountHandle presented by steve
AccountHandle (2) • Internal fields: • Balance • CreditLimit • AccountType • TransferAccountTypesFrom • TransferAccountTypesTo • … presented by steve
AccountHandle (3) • Methods: • OpenAccount(PropertySet acctinfo): Any • CreateAccount(PropertySet acctinfo): Any • CloseAccount() • DeleteAccount() presented by steve
PCR (Payment Control Record) • This instance is a representation of a single payment transaction • the locus of control for all activities regarding that payment presented by steve
PCR (2) • Internal fields: • RefID, ContextID • Amount • DestAccountHandle, SourceAccountHandle • Status • MonitorList • … presented by steve
PCR (3) • Methods: • StartTransfer() • TryToAbortTransfer() • UpdateStatus(StatusEntry stat) presented by steve
Monitor • To supplement the status tracking feature of a PCR • Internal field: status • Method: Notify(PCR p, StatusEntry s) presented by steve
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 presented by steve
E-cash/UNIX Pay Command Payment Complete? Coins transferred by e-cash Yes Coins transferred by e-cash Accept deposit? (E-cash protocol) Ecash Customer Application Merchant Application Customer E-cash Client Merchant E-cash Client Bank E-cash Server presented by steve
(a) StartTransfer (d) Notify (d) Notify (b) StartTransfer (c) Update Status (c) Update Status Request and send Host/Port Info Customer Monitor Merchant Monitor Application Payment Control Record Customer E-cash AccountHandle Merchant E-cash AccountHandle Customer E-cash Client Merchant E-cash Client Bank E-cash Server presented by steve
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 presented by steve