Reference Implementation Overview

note

PayString was previously known as PayID.

PayString.org provides a reference implementation of the PayString Protocol. If you want to use PayString, you can use this reference implementation, or you can make changes to it, or you can create your own solution entirely, as long as you follow the PayString Protocol.

PayString reference specifications#

The reference implementation uses TypeScript, a Node.js HTTP server, and a Postgres database.

By default, the server hosts the PayString Protocol implementation, or Public API, on port 8080. It also hosts a second RESTful API on port 8081 for CRUD operations of PayStrings and associated addresses.

PayString server setup#

There are multiple ways to set up a PayString server. We recommend any of the following:

To experiment with PayString, you can quickly set up a local server. First, clone the PayString reference implementation. From inside the repository, run npm run devEnvUp, which uses the local docker-compose.yml file to set up Docker containers running a Postgres database and PayString server.

If you would like to experiment with the source code but need a Postgres database to develop with you can run npm run devDbUp.

When you finish experimenting, you can clean up all deployed docker containers by running npm run devDown.

PayString metrics#

The PayString reference implementation provides readily accessible metrics.