Goal of this review

General comments/questions on the code should be sent to the public micropay mailing list

History

Micropayment Initiative

Micropayment Working Groups

Working Groups

The Micro Bazaar !

Participation:

Serious lack of participants and commitment.

Working Groups status

Meetings:

Deliverables

Current State

Micropayment : Intro

Payment Range from 0.1 cent to 1 Dollar

Alternative revenue for ICP to:

All micropayment systems:

Merchant supporting multiple payment systems:

=> Need for a common markup supported by multiple payment systems

Micropayment basic Architecture

basic architecture

Markup WG: Goal &Requirements

The Common Markup Micropayment Per-fee-links Working Draft  - Public release-

Requirements for embedding micropayment information in web pages are:

Markup WG: Micropayments fields

Micropayments fields
Parameter Name Short Description Format Requirements
price Specifies amount and currency character string MUST be provided
textlink Textual description of what the client is requesting. The text source of the per-fee-link. character string MUST be provided
imagelink Graphical description of what the client is client is requesting. The graphic source of the per-fee-link. (here textlink provides a textual equivalent of the image for accessibility). URI MAY be provided
requesturl Identifies what the client is actually requesting URI MUST be provided
payment system Identifies all the micropayment systems supported by the merchant
and can also provide information unique to each payment system
URI
character string
MUST be provided
MAY be provided
buyurl Identifies what the client is buying URI MAY be provided
mpbaseurl Provides a common prefix for the buyurl and requesturl parameters absolute URI MAY be provided
title Titles the content of what the client is buying character string SHOULD be provided
description Describes in details the content of what the client is buying URI MAY be provided
merchantname Specifies a merchant designation character string MAY be provided
duration Indicates the time after purchase any URI can be retrieved without further payment. integer number MAY  be provided
expiration Indicates a date until which the offer from the merchant is valid. character string MAY be provided
target Specifies the name of a frame where a document is to be loaded. character string MAY be provided
hreflang Specifies the base language of the resource designated by the per-fee-link. character string MAY be provided
type Specifies the content type of  the linked resource, designated by the per-fee-link. character string MAY be provided
accesskey Assigns an access key to a per-fee-link. character string MAY be provided
charset Specifies the character encoding of the resource designated by the per-fee-link. character string MAY be provided
key Specifies a type of signature supported and a default key length. character string MAY be provided

Markup WG: Encoding information in HTML pages

Embedding micropayment information in HTML pages using encoding for Plug-in or Applet

Example: Fee Link using OBJECT element

<BODY>
<OBJECT codetype="application/java"
classid="http://www.miamachina.org/applet/micropayment.class">
<PARAM name="mpbaseurl" value="http://www.merchant.org/shop" valuetype="ref">
<PARAM name="merchantname" value="shopandpay" valuetype="data">
<PARAM name="buyurl" value="catalog.html" valuetype="ref">
<PARAM name="requesturl" value="page.html" valuetype="ref">
<PARAM name="textlink" value="click here to buy the product" valuetype="data">
<PARAM name="price" value="+0.01USD" valuetype="data">
<PARAM name="title" value="Title of what you are actually buying" valuetype="data">
<PARAM name="duration" value="60" valuetype="data">
<PARAM name="expiration" value="1999-11-05T13:15:30Z" valuetype="data">
<PARAM name="1.mpname" value="micropay" valuetype="data">
<PARAM name="1.mpurl" value="http://www.foo.it/micropay" valuetype="ref">
<PARAM name="1.specific" value="124rfdetg14ft58rdef21f4251" valuetype="data">
<PARAM name="1.mpbaseurl" value="http://www.merchant.it/" valuetype="ref"> <PARAM name="2.mpname" value="millipayment" valuetype="data">
<PARAM name="2.mpurl" value="http://www.foo.it/millipay" valuetype="ref">
<PARAM name="2.specific" value="475rdg546tfeww12wcft254hy4" valuetype="data">
<PARAM name="2.mpbaseurl" value="http://www.merchant.fr/"valuetype="ref"> A per-fee-link that needs an applet for rendering. </OBJECT></BODY> more example

Expressing micropayment information using RDF

Example: Encoding using RDF

<HEAD> <TITLE>Example of Fee Link - Abbreviated RDF Syntax
Encoding</TITLE>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:mp="http://www.w3.org/schema/micropay#">
<rdf:description about="feelink-1"
mp:price="+1E-2FRF"
mp:duration="60"
mp:expiration="1999-11-05T13:15:30Z">
<mp:mpbaseurl rdf:resource="http://www.merchant.org/shop"/>
<mp:buyurl rdf:resource="catalog.html"/>
<mp:requesturl rdf:resource="page.html"/>
<mp:paymentsystem> <rdf:alt> <rdf:li>
<mp:Paymentoption rdf:ID="micropay1" system="http://www.foo.it/micropay1"
rdf:value="xxxxxxxxxxxxxxxxxx"/> </rdf:li>
<rdf:li>
<mp:Paymentoption rdf:ID="micropay2" system="http://www.foo.it/micropay2"
rdf:value="yyyyyyyyyyyyyyyyyy"/> </rdf:li>
</rdf:alt>
</mp:paymentsystem>
</rdf:description>
</rdf:RDF>
</HEAD>
<BODY>
<A href="http://www.miamachina.org/page.html" id="feelink-1" >
Buy the page through this per-fee-link </A> </BODY>

API WG: Per Fee Link Handler (PFLH) Specifications

PFLH is a common module - Applet or Plug-in:

  1. Receives from the merchant server the per-fee-link information embedded in the HTML page,
  2. Allows consumer to select wallet and account to use,
  3. Sends relevant information to micropayment client wallet (possibly a remote server wallet),
  4. Receives processed information from the wallet (e.g. final processed price, URL, etc.),
  5. Displays in the browser these information to the customer, performing the basic User Interface,
  6. Allows consumer to click to buy,
  7. Informs wallet if consumer is buying,
  8. Receives payment order from the wallet,
  9. Create the HTTP request with the payment order to be send to the merchant (thru the browser)
  10. Receives receipt/content from the merchant server.

PFLH UI main requirements:

API WG: Application Programming Interface Specifications

Specification of the (API) for communication from PFLH to wallet

Messages between PFLH/BROWSER and WALLET: to buy a per-fee-link:

Steps PFLH/BROWSER  HTTP/HTTPS  connection WALLET
 [1] Test      ------------------------>>
 [2] <<-------------------------  Status
 [3] PFL  process   ------------------------>>
 [4] <<------------------------- PFL  to display
 [5] Buy  ------------------------>>
 [6] <<------------------------- Payment Order
 [7] Receipt  ------------------------>>
 [8] End of current  link ------------------------>>

Messages between PFLH/BROWSER and WALLET : Special operations.

Steps PFLH/BROWSER  HTTP/HTTPS  connection WALLET
 [10] Select Account      ------------------------>>
 [11] Pop Up (Log / preferences)  ------------------------>>  
 [12] Test , Keep alive  ------------------------>>
 [13] <<------------------------- Status
 [14] Log out ------------------------>>
 [15] Get Account list for this current wallet ------------------------>>
 [16] <<------------------------- Account list

               

What's next

Current/Coming Drafts

Working Groups issues

References

Micropayment Systems :

Micro Payments from IBM,  Millicent from Compaq/Digital,  OpenMarket,  Clickshare,  CyberCent, Kleline
GC-Tech,  E-Money,  Internet Dollar, NetBill,  NetCheque, Mondex, PayWord and MicroMint, Pay2See, etc.