Introduction

The Web Payments system includes pricing indices to enable vendor choice in (a) pricing method; (b) transaction currency.

Following from this, any purchaser may issue payments in any of a vendor's designated currencies.

Pricing Index Concept of Operations

Consider an online vendor with operations based in five countries who is prepared to accept payment in any of the five countries' currencies, and wishes to post prices in each of the five different units of account. The vendor would like to index the price expressed in each currency in a way that keeps their offering consistent through time and amongst locations.

The Pricing Index sub-project of Web Payments exists to specify, design and develop software components and contract clauses to enable choice amongst algorithms for indexed pricing in contracts. Pricing index choices are additional to more complex OTC forward currency contracts that are typically used for currency hedging. Both techniques may be used.

Using any standards-­compliant e-­commerce software, a vendor would select a reference currency they prefer for base price management, and identify any other currencies they would be equally willing to accepted in payment. Next they select one of the available pricing index services, which could be a currency exchange rate, or another type of index more relevant to the scope and dynamics of their particular business that would enable greater price stability, variability with key input prices, or some other criterion. When a vendor selects a particular pricing index service, their e-­commerce software would automatically query that indexing service's data feed in order to interpret the vendor's reference base price for each good or service from its publication date, to express what the vendor deems to be the same real value in each of the other currencies that the vendor has identified as acceptable for payment. Price re­-calibrations occur on an established schedule through time, and each update is digitally signed by the vendor's e-commerce software.

Any customer browsing the vendor's e­-commerce site chooses a payment currency that s/he has available to pay, from amongst those identified as acceptable to the vendor. (This would be like choosing a mutually acceptable language on a multilingual website). The vendor's site then displays all prices in that currency to the purchaser. When the customer activates a purchase, the vendor's shopping cart function sends the digitally-­signed interpreted price expressed in the buyer's chosen currency to the purchaser's own payments processor, local or external. Once the purchaser's available funds are confirmed, the transaction is processed at both ends.

A bank-posted currency "exchange rate" is one pricing index choice, possibly moderated with a data smoothing technique. Two potential sources are:

A currency exchange rate may not be the optimal indexing choice for price stabilization or other objectives. A global retail vendor may prefer to index their prices against a source such as the "World Price Index" supplied by EF Publishing: Vendors in some fields may prefer an index based on a fraction of global market capitalization: In other cases it may be desireable to index prices to the general global availability of selected primary commodities weighted by the production of each commodity in each country, and moderated with a data smoothing technique. Some vendors may find it attractive to associate their pricing with changes to underlying global indicators of biophysical capacity in each exclusive economic zone to obtain or supply real goods and services, for example: A vendor may also prefer to design their own custom index. If it is hosted at a URL and presents a RESTful data supply, they can select their custom pricing index from the list just as they would have chosen any of the other autonomous indexing services offered.

A Basic Pricing Index Query

A basic pricing index query contains at least ...

@context
The value https://w3id.org/payswarm/v1, or an equivalent JSON-LD Context expressing the terminology necessary for the expression of the data.
@type
The value PricingIndexResult.

A Pricing Index Response

A typical pricing index response will look like... For example:

{
  "@context": "https://w3id.org/payswarm/v1",
  "@type": "PricingIndexResult",
  "amount": "23.41",
  "currency": "USD"
}