Payment Application Programmers Interface (API) for v1.0 Internet Open Trading Protocol (IOTP)
RFC 3867

 
Document Type RFC - Informational (November 2004; No errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 3867 (Informational)
Telechat date
Responsible AD Scott Hollenbeck
Send notices to <Donald.Eastlake@motorola.com>
Network Working Group                                       Y. Kawatsura
Request for Comments: 3867                                       Hitachi
Category: Informational                                        M. Hiroya
                                                      Technoinfo Service
                                                             H. Beykirch
                                                             Atos Origin
                                                           November 2004

       Payment Application Programmers Interface (API) for v1.0
                 Internet Open Trading Protocol (IOTP)

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).

Abstract

   The Internet Open Trading Protocol (IOTP) provides a data exchange
   format for trading purposes while integrating existing pure payment
   protocols seamlessly.  This motivates the multiple layered system
   architecture which consists of at least some generic IOTP application
   core and multiple specific payment modules.

   This document addresses a common interface between the IOTP
   application core and the payment modules, enabling the
   interoperability between these kinds of modules.  Furthermore, such
   an interface provides the foundations for a plug-in-mechanism in
   actual implementations of IOTP application cores.

   Such interfaces exist at the Consumers', the Merchants' and the
   Payment Handlers' installations connecting the IOTP application core
   and the payment software components/legacy systems.

Hans, et al.                 Informational                      [Page 1]
RFC 3867                  Payment API for IOTP             November 2004

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
       1.1.  General payment phases . . . . . . . . . . . . . . . . .  5
       1.2.  Assumptions. . . . . . . . . . . . . . . . . . . . . . .  6
   2.  Message Flow . . . . . . . . . . . . . . . . . . . . . . . . . 12
       2.1.  Authentication Documentation Exchange. . . . . . . . . . 15
       2.2.  Brand Compilation. . . . . . . . . . . . . . . . . . . . 17
       2.3.  Brand Selection. . . . . . . . . . . . . . . . . . . . . 21
       2.4.  Successful Payment . . . . . . . . . . . . . . . . . . . 24
       2.5.  Payment Inquiry. . . . . . . . . . . . . . . . . . . . . 29
       2.6.  Abnormal Transaction Processing. . . . . . . . . . . . . 30
             2.6.1.  Failures and Cancellations . . . . . . . . . . . 30
             2.6.2.  Resumption . . . . . . . . . . . . . . . . . . . 32
       2.7.  IOTP Wallet Initialization . . . . . . . . . . . . . . . 33
       2.8.  Payment Software Management. . . . . . . . . . . . . . . 34
   3.  Mutuality. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
       3.1.  Error Codes. . . . . . . . . . . . . . . . . . . . . . . 38
       3.2.  Attributes and Elements. . . . . . . . . . . . . . . . . 48
       3.3.  Process States . . . . . . . . . . . . . . . . . . . . . 61
             3.3.1.  Merchant . . . . . . . . . . . . . . . . . . . . 61
             3.3.2.  Consumer . . . . . . . . . . . . . . . . . . . . 63
             3.3.3.  Payment Handler. . . . . . . . . . . . . . . . . 65
   4.  Payment API Calls. . . . . . . . . . . . . . . . . . . . . . . 66
       4.1.  Brand Compilation Related API Calls. . . . . . . . . . . 66
             4.1.1.  Find Accepted Payment Brand. . . . . . . . . . . 66
             4.1.2.  Find Accepted Payment Protocol . . . . . . . . . 68
             4.1.3.  Get Payment Initialization Data. . . . . . . . . 70
             4.1.4.  Inquire Authentication Challenge . . . . . . . . 72
             4.1.5.  Authenticate . . . . . . . . . . . . . . . . . . 73
             4.1.6.  Check Authentication Response. . . . . . . . . . 74
       4.2.  Brand Selection Related API Calls. . . . . . . . . . . . 76
             4.2.1.  Find Payment Instrument. . . . . . . . . . . . . 76
             4.2.2.  Check Payment Possibility. . . . . . . . . . . . 78
       4.3.  Payment Transaction Related API calls. . . . . . . . . . 80
             4.3.1.  Start Payment Consumer . . . . . . . . . . . . . 80
             4.3.2.  Start Payment Payment Handler. . . . . . . . . . 82
             4.3.3.  Resume Payment Consumer. . . . . . . . . . . . . 84
             4.3.4.  Resume Payment Payment Handler . . . . . . . . . 85
             4.3.5.  Continue Process . . . . . . . . . . . . . . . . 86
             4.3.6.  Change Process State . . . . . . . . . . . . . . 88
       4.4.  General Inquiry API Calls. . . . . . . . . . . . . . . . 89
             4.4.1.  Remove Payment Log . . . . . . . . . . . . . . . 90
Show full document text