UPAI A Universal Payment Application Interface A paper

  • Slides: 23
Download presentation
U-PAI: A Universal Payment Application Interface A paper from Second USENIX Workshop on Electronic

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,

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,

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

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

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

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

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

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

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.

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):

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

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.

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)

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:

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

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

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

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

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 24

March 21, 2000 presented by steve 25

March 21, 2000 presented by steve 25

March 21, 2000 presented by steve 26

March 21, 2000 presented by steve 26

The End March 21, 2000 presented by steve

The End March 21, 2000 presented by steve