Spec_Notes - w3c/webpayments GitHub Wiki

Status: These are notes from Ian Jacobs on Web Payments WG spec organization. These are intended for discussion and do not represent group consensus.

See also:

Payment Request

Requirements

  • Input data
    • Supported payment method identifiers
    • Amounts (variable per payment method)
    • Data caching (shipping address, etc.)
  • Extensibility
    • Payment method specific data
    • API feature detection
  • Security
    • Top-level or with "parent" consent

Potential Requirements

  • Unsupported payment methods as input data
    • This is only useful if we support grouping/subclassing

Good practice

  • Secure data through encryption and signatures (issue 141)

Payment Apps in the Browser

Requirements

  • Input data (Issue 157)
  • Formatting response for mediator
  • Capability Declarations
    • Supported, enabled payment methods
    • How to enable invocation of payment app when selected
  • Browser as Payment App Mediator *
    • Payment app registration, update, unregistration
    • Payment app display for selection
    • User selection of payment app
    • Interaction with payee (sending payment method response data to Web app)

* Note: Ian prefers not to create a separate mediator spec at this time.

Potential Requirements

  • Specification by the payee of required data in the response (which may be a subset of all data specified by the payment method). (Issue 97)
  • Explicit statement of unsupported payment methods
    • This is only useful if we support grouping/subclassing
  • Standard mechanism for payment apps to communicate with Web services (issue 109)
  • Recommended payment apps (by merchant or browser)

Good practice

  • Extensibility
    • Payment apps provide app version information

Payment Method Identifiers

Requirements

  • Extensibility
    • The group has decided to use absolute URLs
  • Identifier Syntax
    • The group has decided to use absolute URLs
  • Identifier Matching Algorithm
    • Rationale: This algorithm must be understood by both browsers/mediator developers and payment app developers (who announce what they support).

Potential Requirements

  • Grouping/Subclassing semantics
    • If we support those, consider explicit "Unsupported" semantics as well, including in matching algorithm.

Good Practices

  • Dereferencing

Non requirements

  • Short aliases
    • The WG has resolved not to include short aliases in V1

Payment Method Specifications

Requirements

  • Input data
  • Output data

Supporting Documents (not specs)

Big Picture

  • How the various pieces work together.

How to write a Payment Method Spec

  • Mint identifiers in those specs?
  • Flow diagram?

How to write a Payment App

  • Should help people address common scenarios.