@skyfire-xyz/skyfire-seller-sdk-node
v0.0.6
Published
Skyfire Seller Node.JS SDK
Downloads
28
Keywords
Readme
Skyfire Seller SDK for Node.js
Skyfire Seller SDK for Node.js
Description
This SDK assists with the Skyfire Seller integration. It provides two primary functions:
- Validating Skyfire KYA/PAY Tokens
- Charging Skyfire KYA/PAY Tokens
Getting Started
Installing
- yarn add @skyfire-xyz/skyfire-seller-sdk-node
Usage
Configuration
This SDK uses environment variables for configuration.
Only the SKYFIRE_API_KEY variable must be configured, the remaining properties are pre-configured for Skyfire's Production Services.
List of all configuration settings
- SKYFIRE_API_KEY : Required - set this to your Skyfire API Key
- SKYFIRE_API_HOST : Default - api.skyfire.xyz
- SKYFIRE_JWKS_URL : Default - https://app.skyfire.xyz/.well-known/jwks.json
- SKYFIRE_ISSUER : Default - https://app.skyfire.xyz
Validate A Token
After receiving a Skyfire KYA, PAY or KYA+PAY Token in your application from a buyer, call the validate function to verify its authenticity.
The first invocation will download Skyfire's verification keys, after which it will be cached and the validation will not incur any latency.
Applications may call loadJWKSet to pre-load the verification keys. Long-running applications should periodically call this function to refresh their local copy of skyfire's verification keys.
import {validate} from '@skyfire-xyz/skyfire-seller-sdk-node'
loadJWKSet() // Optional
await validate(token)It is advisable to pass your own seller service agent id and seller service id, as well as the buyer agent id if known to your application.
await validate(token, {sellerAgentId: "your agent id", "sellerServiceId": "your seller service id", buyerAgentId: "buyer agent id")By default, validate() will fail for expired tokens. However, Skyfire allows a grace period where tokens may be charged after their expiration.
To validate according to a grace period (in seconds), pass the gracePeriod field to the validate function options. The production grace period is 24 hours (86400 s).
await validate(token, {gracePeriod: 86400})Charge A Pay Token
import {chargeToken} from '@skyfire-xyz/skyfire-seller-sdk-node'
const result = await chargeToken(token, "0.001")
console.log(result.amountCharged)
console.log(result.remainingBalance)Version History
- 0.1
- Initial Release
License
This project is licensed under the MIT License - see the LICENSE.md file for details
