u-pai: a universal payment application interface a paper from second usenix workshop on electronic...

23
U-PAI: A Universal Payment Application Interface A paper from Second USENIX Workshop on Electronic Commerce, USENIX, Oakland, CA

Post on 20-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

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