U-PAI: A Universal Payment Application Interface
description
Transcript of U-PAI: A Universal Payment Application Interface
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 2
Outline
Introduction API Definitions Sample Ecash Proxy Conclusions
March 21, 2000 presented by steve 3
Introduction
Many payment mechanisms nowadayse.g. First Virtual, CyberCash, Ecash, SET,…
The most significant difference is the order of steps required to execute a payment
March 21, 2000 presented by steve 4
Introduction (2)
Diversity of payment mechanisms stymied the progress of electronic commercecustomers must maintain accounts with
several different payment mechanismsno standard way for payment mechanisms to
interact with application software
March 21, 2000 presented by steve 5
U-PAI
U-PAI, a universal payment application interfaceGoal: 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 6
U-PAI abstracts payment mechanism internals
March 21, 2000 presented by steve 7
API Definitions
CORBA specification in ISL of Xerox PARCs ILU
Three main objects:AccountHandlePCR (Payment Control Record)Monitor
March 21, 2000 presented by steve 8
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
March 21, 2000 presented by steve 9
Analogy to clarify the notion of accounts and AccountHandle
March 21, 2000 presented by steve 10
AccountHandle (2)
Internal fields:BalanceCreditLimitAccountTypeTransferAccountTypesFromTransferAccountTypesTo…
March 21, 2000 presented by steve 11
AccountHandle (3)
Methods:OpenAccount(PropertySet acctinfo): AnyCreateAccount(PropertySet acctinfo): AnyCloseAccount()DeleteAccount()
March 21, 2000 presented by steve 12
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 13
PCR (2)
Internal fields:RefID, ContextIDAmountDestAccountHandle, SourceAccountHandleStatusMonitorList…
March 21, 2000 presented by steve 14
PCR (3)
Methods:StartTransfer()TryToAbortTransfer()UpdateStatus(StatusEntry stat)
March 21, 2000 presented by steve 15
Monitor
To supplement the status tracking feature of a PCR
Internal field: status Method: Notify(PCR p, StatusEntry s)
March 21, 2000 presented by steve 20
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 21
Ecash
E-cash/UNIX Pay Command
Coins transferred by e-cash
Payment Complete?
Accept deposit? (E-cash protocol)
Yes
Coins transferred by e-cash
Merchant Application
Customer Application
Merchant E-cash ClientBank
E-cash Server
Customer E-cash Client
March 21, 2000 presented by steve 22
(c) Update Status(c) Update Status
(d) Notify(d) Notify(a) StartTransfer
(b) StartTransfer
Request and send Host/Port Info
Merchant E-cash Client
Merchant E-cash AccountHandle
Payment Control Record
Merchant Monitor
Customer Monitor
Application
Customer E-cash AccountHandle
Customer E-cash Client Bank
E-cash Server
March 21, 2000 presented by steve 23
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 24
March 21, 2000 presented by steve 25
March 21, 2000 presented by steve 26
The EndThe End