Siemens AG has released the final draft of JSR 229, Payment API (PAPI). According to the spec,
The scope of this JSR is to define the following:
- A generic, optional API to initiate payment transactions in a secured manner to transparently expedite the chargeable service requests, which are originated from J2ME applications, with external operator charging service delivery, payment service protocols, pricing management and implementation logic
- The syntax for the description of the associated payment provisioning data, enabling API implementers to support different payment adapters Both will allow 3rd-party developers to build applications with control of features and services that are chargeable. The JSR API includes methods for:
- Requesting a payment transaction
- Requesting feature and service price management
- Payment service availability
The definition of provisioning data ensures that service providers and payment service providers can select a suitable set of payment adapters provisioned for applications on application deployment time. The following types of payment adapters are primarily addressed:
- Operator charging
- 3rd-party payment service providers
This JSR enables application developers to initiate mobile payment transactions from MIDP applications. It is an optional package for the J2ME CLDC configuration and targeted at MIDP and IMP devices. The scope of this JSR is to provide a generic payment initiation mechanism that hides the actual payment architecture and complexity from the developers.
This JSR does not define and imply any concrete payment implementation and mechanism, but is generic enough to support different implementations. It is up to the implementing party to realize the API based on one or more technical solutions enabling the application-initiated payment. The JSR also does not define any user behavior or user interface, but leaves them open to be defined by the actual implementation of the API.