Skip to content

interledger/open-payments

Repository files navigation

Open Payments

Open Payments

What is Open Payments?

Open Payments is an open API standard that can be implemented by account servicing entities (e.g. banks, digital wallet providers, and mobile money providers) to facilitate interoperability in the setup and completion of payments for different use cases including:

  • Web Monetization
  • Tipping/Donations (low value/low friction)
  • eCommerce checkout
  • P2P transfers
  • Subscriptions
  • Invoice Payments

An Open Payments server runs two sub-systems, a resource server which exposes APIs for performing functions against the underlying accounts and and authorisation server which exposes APIs compliant with the GNAP standard for getting grants to access the resource server APIs.

This repository hosts the Open API Specifications of the two APIs which are published along with additional documentation at https://openpayments.dev.

Additionally, this repository also contains three published libraries:

The code for the landing page is in ./docs.

Dependencies

New to Interledger?

Never heard of Interledger before? Or would you like to learn more? Here are some excellent places to start:

Contributing

Please read the contribution guidelines before submitting contributions. All contributions must adhere to our code of conduct.

Open Payments Catchup Call

Our catchup calls are open to our community. We have them every other Wednesday at 13:00 GMT, via Google Meet.

Video call link: https://meet.google.com/htd-eefo-ovn

Or dial: (DE) +49 30 300195061 and enter this PIN: 105 520 503#

More phone numbers: https://tel.meet/htd-eefo-ovn?hs=5

Add to Google Calendar

Local Development Environment

Prerequisites

Environment Setup

# install node from `./.nvmrc`
nvm install

# install pnpm
corepack enable

# if moving from yarn run
pnpm clean

# install dependencies
pnpm i

Local Development

Useful commands

# format and lint code:
pnpm format

# check lint and formatting
pnpm checks

# verify code formatting:
pnpm check:prettier

# verify lint
pnpm check:lint

# build all the packages in the repo:
pnpm -r build

# run individual tests (e.g. open-payments)
pnpm --filter open-payments test

# run all tests
pnpm -r --workspace-concurrency=1 test