[!CAUTION] This SDK has been deprecated for use in Node.js environments. It is still supported for use in web elements and reactor environments.
Our new Node.js SDK can be found at https://github.com/Basis-Theory/node-sdk
See our documentation site for more information. https://developers.basistheory.com/docs/sdks/server-side/node
The Basis Theory JS SDK
Using Node Package Manager
npm install --save @basis-theory/basis-theory-js
Using Yarn
yarn add @basis-theory/basis-theory-js
For a complete list of endpoints and examples, please refer to our API docs
import { BasisTheory } from '@basis-theory/basis-theory-js';
const bt = await new BasisTheory().init('<API Key>'); // replace with your application key
All of the service methods accept an optional RequestOptions
object. This is used if you want to set a per-request BT-TRACE-ID
, BT-API-KEY
and/or BT-IDEMPOTENCY-KEY
.
import { v4 as uuid } from 'uuid';
await bt.applications.list(
{},
{
apiKey: '<Management API Key>',
correlationId: 'aa5d3379-6385-4ef4-9fdb-ca1341572153',
idempotencyKey: 'bb5d3379-6385-4ef4-9fdb-ca1341572154',
}
);
await bt.tokens.create(
{
type: "token",
data: "Sensitive Value",
},
{
apiKey: '<API Key>',
correlationId: 'aa5d3379-6385-4ef4-9fdb-ca1341572153',
idempotencyKey: 'bb5d3379-6385-4ef4-9fdb-ca1341572154',
}
);
You can set a custom API Url to be used across all clients when creating a new SDK instance.
import { BasisTheory } from '@basis-theory/basis-theory-js';
const bt = await new BasisTheory().init('<API Key>', {
apiBaseUrl: 'https://api.somedomain.com',
}); // replace with your application key and api base URL.
Please, refer to the Elements Documentation on how to use it.
The provided scripts with the SDK will check for all dependencies, start docker, build the solution, and run all tests.
- Docker
- Docker Compose
- NodeJS > 10.12.0
- Yarn
Run the following command from the root of the project:
make verify