Typescript SDK to interact with the Nevermined Payments Protocol nevermined.io
# yarn
yarn add @nevermined-io/payments
# npm
npm install @nevermined-io/payments
This is a browser only method. Here we have an example using react. For a full example please refer to payments-nextjs-example
import { useEffect } from "react";
import { Payments } from "@nevermined-io/payments";
export default function Home() {
const payments = new Payments({
returnUrl: "http://localhost:8080",
environment: "staging",
});
const onLogin = () => {
payments.connect();
};
useEffect(() => {
payments.init();
}, []);
return (
<main>
<div>
<button onClick={onLogin}>Login</button>
</div>
</main>
);
}
The init()
method should be called immediately after the app returns the user to returnUrl
.
Once the app is initialized we can create a subscription:
async function createSubscription() {
if (payments.isLoggedIn) {
const { did } = await payments.createSubscription({
name: 'test subscription',
description: 'test',
price: 10000000n,
tokenAddress: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d',
duration: 30,
tags: ['test'],
})
}
}