Skip to content
Web Monetization logo Web Monetization
GitHub

Receiving payments

Two key components of receiving a Web Monetization (WM) payment are WM receivers and Open Payments-enabled accounts.

WM receivers

A WM receiver is an entity that provides an Open Payments-enabled account into which payments can be received. Individuals interested in receiving Web Monetization payments can establish a relationship with a WM receiver of their choice by signing up for an account.

We anticipate most WM receivers to offer some form of digital wallet to their users. Many digital wallet providers, not just WM receivers, are often required to verify their users’ identities before allowing funds to be withdrawn.

Open Payments and wallet addresses

Open Payments enables open and interoperable payments between WM providers and WM receivers. As such, accounts supplied by both WM providers and WM receivers must implement the Open Payments (OP) specification.

The OP specification defines standards for access to accounts. When granted access, applications and other entities can integrate payments into their feature sets by connecting to their users’ accounts. The ability to then execute payments between OP-enabled accounts relies on the availability of a common payment rail between the accounts.

Wallet addresses

Access to an OP-enabled account, whether for sending or receiving, always starts with a wallet address. In this context, a wallet address is a unique URL that identifies an OP account and provides an entry point for the Open Payments API.

When an individual establishes an account with a WM receiver, the receiver assigns the account one or more wallet addresses. Wallet addresses allow certain account details to be safely shared with third-parties. Third-parties use the details to initiate payments to or from the account. A WM agent is an example of a third-party.

A wallet address is required to web monetize a page and must be added as the href value within the monetization <link> element.

For example:

<link rel="monetization" href="https://wallet.example/alice" />

The WM agent uses the wallet address to begin the money movement process.

Receiving a payment

When an individual visits a web monetized page, their WM agent detects the monetization <link> element and associated wallet address. The WM agent sends a request to the wallet address, which is the beginning of a series of API calls needed to:

  1. Get the details about the underlying receiving account
  2. Receive permission to send a payment to the account
  3. Create a monetization session within the site visitor’s browser tab/window
  4. Create the outgoing payment request

When the payment is successful, the funds are deducted from the WM provider’s account and deposited into the WM receiver’s account.

For more information, visit the Web Monetization flow page.

Specifying a payment amount

Web Monetization does not enable a site to specify the amount it wants to receive. The amount, frequency, and other payment parameters are controlled by the web monetized visitor, through their relationship with their WM provider.

If a site should specify a price, then integration with the W3C’s Payment Request API may be a better alternative to Web Monetization. The Payment Request API allows sites to ask to be paid a certain amount, then the browser (typically with the user’s approval) pays that amount.