OpenPAYGO is an Open Source ecosystem to enable pay-as-you-go functionality in new devices and products.
This repository contains the JavaScript implementions of different OpenPAYGO technologies to run on your server or device.
Server-side tasks include
- generating OpenPAYGO tokens (normal and extended)
- decoding OpenPAYGO metrics payloads
Device side tasks
- decoding OpenPAYGO tokens (normal and extended)
- generating OpenPAYGO metrics payloads
Install via NPM (browser/nodejs)
npm i openpaygoGenerate normal or extended tokens
// initialize token encoderconstencoder=newrequire("openpaygo").Encoder()// generate normal or extended token using generateToken functionconst{ finalToken, newCount }=encoder.generateToken({tokenType: 1,secretKeyHex: "bc41ec9530f6dac86b1a29ab82edc5fb",count: 3,startingCode: 516959010,restrictDigitSet: false,value: 1,extendToken: false,})console.log("generated token ",finalToken)console.log("next token count ",newCount)Decode tokens using token decoder
// initialize token decoderconstdecoder=newrequire("openpaygo").Decoder()// decord token (type, value, count, updated_counts) using decodeToken functionconst{ value, tokenType, count, updatedCounts }=decoder.decodeToken({token: "380589011",secretKeyHex: "bc41ec9530f6dac86b1a29ab82edc5fb",count: 3,usedCounts: [],startingCode: 516959010,restrictedDigitSet: false,})console.log(value)// decoded token valueconsole.log(count)// decoded token countconsole.log(tokenType)// decoded token typeconsole.log(updatedCounts)// decoder token update countOpenPAYGO documentation is hosted on https://enaccess.github.io/OpenPAYGO-docs/.
The OpenPAYGO ecosystem offers a range of feautres to implement pay-as-you-go services. These features are implemented in different programming language libraries individually. Not all libraries have implemented the full range of features yet.
The OpenPAYGO JavaScript library supports the following features:
| Feature | Status |
|---|---|
| OpenPAYGO Token | ✅ (stable) |
| OpenPAYGO Metrics | ✅ (Beta) |
- OSEA Discord (
#openpaygochannel) - EnAccess