This document describes a number of constants, classes, and properties that are used when expressing and executing Web Payments. The vocabulary includes classes of things like payment instruments, payment requests, and payment acknowledgements as well as their associated properties and value types. All formal vocabulary terms necessary to initiate, execute, and acknowledge a payment are included.

This is an experimental document that is being actively worked on by the W3C Web Payments Community Group. All feedback on this document should be sent to public-webpayments@w3.org (archive).

Introduction

This document describes a number of constants, classes, and properties that are used when expressing and executing Web Payments. The vocabulary includes classes of things like payment instruments, payment requests, and payment acknowledgements.

This entire document is a work in progress and is thus fantastically incomplete and unstable. It MUST NOT be used for any production use.

Terminology

Constants

Visa

A constant denoting the Visa payment scheme.

Status
unstable
Parent Class
Class
Typically used in:
PaymentInstrument

In the following example, the scheme is set to the Visa payment scheme.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Visa',
  label: 'ExampleBank Visa Card',
  paymentRequestService: 'https://pay.example.com/services/cards'
}
        

MasterCard

A constant denoting the MasterCard payment scheme.

Status
unstable
Parent Class
Class
Typically used in:
PaymentInstrument

In the following example, the scheme is set to the MasterCard payment scheme.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'MasterCard',
  label: 'ExampleBank MasterCard',
  paymentRequestService: 'https://pay.example.com/services/cards'
}
        

Bitcoin

A constant denoting the Bitcoin payment scheme.

Status
unstable
Parent Class
Class
Typically used in:
PaymentInstrument

In the following example, the scheme is set to the Bitcoin payment scheme.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Bitcoin',
  label: 'ExampleCoin Bitcoin Account',
  paymentRequestService: 'https://pay.example.com/services/bitcoin'
}
        

Classes

Payment Instrument

A payment instrument is a mechanism used to transfer value from a payer to a payee.

Status
unstable
Parent Class
Class
Common Properties
scheme, label, paymentRequestService

The example expresses a payment instrument for the Visa payment scheme:

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Visa',
  label: 'ExampleBank Visa Card',
  paymentRequestService: 'https://pay.example.com/services/cards'
}
        

Properties

label

A short human-readable label for a thing.

Status
stable
Attribute of
Thing
Typically used by
PaymentInstrument

The example below specifies a label of ExampleBank Visa Card.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Visa',
  label: 'ExampleBank Visa Card',
  paymentRequestService: 'https://pay.example.com/services/cards'
}
        

paymentRequestService

A URL that can accept a PaymentRequest object via an HTTP POST request.

Status
unstable
Attribute of
Thing
Typically used by
PaymentInstrument

The example below specifies a payment request service located at https://pay.example.com/services/cards.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Visa',
  label: 'ExampleBank Visa Card',
  paymentRequestService: 'https://pay.example.com/services/cards'
}
        

scheme

A payment scheme is a set of rules and technical standards for the execution of payment transactions.

Status
unstable
Attribute of
Thing
Typically used by
PaymentInstrument

The example below specifies a payment instrument that has a Visa payment scheme.

{
  '@context': 'https://w3id.org/payments/v1',
  type: 'PaymentInstrument',
  scheme: 'Visa',
  label: 'ExampleBank Visa Card',
  paymentRequestService: 'https://pay.example.com/services/cards'
}