Manages Interledger STREAM receipts
STREAM receipts allow recipients or third parties to verify received payments at the recipient's Interledger wallet.
The Receipt Verifier:
- pre-shares a secret key with the receiving wallet for generating receipts, by acting as a proxy for SPSP queries to the recipient's payment pointer
- verifies receipts
- tracks balances where receipt amounts are credited
For Web Monetization, website visitors submit receipts to the website in monetizationprogress
events. The website backend can send receipts to the Receipt Verifier to credit the balance for the particular Monetization ID and can subsequently spend against the Monetization ID balance as desired to confirm the payment.
npm install
sudo docker run -p 6379:6379 -d redis
SPSP_ENDPOINT=https://receiver-endpoint.com npm start
- Type: String
- Description: Base64-encoded secret value used to generate receipt secret keys.
- Default: random seed
- Type: Number
- Description: The number of seconds since a stream's start time to consider a receipt valid.
- Default: 300
- Type: String
- Description: The URI at which to connect to Redis. Use
mock
for in-memory Redis (NOT RECOMMENDED for production) - Default: redis://127.0.0.1:6379/
- Type: String
- Description: The receiver's SPSP endpoint to which SPSP queries are proxied.
- Type: Number
- Description: The port that SPSP proxy will listen on.
- Default: 3001
- Type: Number
- Description: The port that Receipt Verifier API will listen on.
- Default: 3000
Verifies receipt and credits the receipt value to the specified balance
- Type: String
- Description: base64-encoded STREAM receipt
- Type: String
- Description: updated balance for
ID
Debits an amount from the specified balance if the balance is sufficient
- Type: String
- Description: amount to debit the balance
- Type: String
- Description: updated balance for
ID