0.1.1 • Published 1 year ago

@future-sdk/future-js v0.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Future SDK

Welcome to the Future SDK.

Installation

Script Tag

Including the script tag will automatically make the Future object available to your code.

<script src="https://sdk.paywithfuture.com/v1/future.js"></script>

Using this method will ensure that you always are using the latest version of the SDK.

Module

You can download the Future SDK module from npm package manager:

npm install @future-sdk/future-js

and then import the Future object:

import { Future } from '@future-sdk/future-js

Usage

startFutureSession

Users are tracked using a Session object. There must be an active session for a user to interact with Future (buttons and modals will not display without an active session).

Future.startFutureSession({
  apiKey: string, // Your client api id.
  iframeUrl: string,
  serverUrl: string,
  websocketUrl: string,
  onSessionUpdate: (session: FutureSession) => void // (optional) callback for receiving updates
  onError: (error: FutureError) => void // (optional) callback for receiving errors
});

Updates are provided in real time as the user interacts with Future. Every update will result in a call to the onSessionUpdate callback, passing it the latest session object.

Callbacks can be registered via the onSessionUpdate parameter of the startFutureSession method, or by calling onSessionUpdate.

Future.onSessionUpdate((session: FutureSession) => void);

If an error occurs in the SDK it will be reported by calling the onError callback. The error object passed includes the error type and message.

createPurchaseMembershipButton

Creates a button in the container that will start the Purchase Membership flow when clicked.

Future.createPurchaseMembershipButton({
  container: string,
  membershipId: string,
});

Example:

Future.createPurchaseMembershipButton({
  container: '.future-unlock',
  membershipId: `189e9683-11ba-402b-b58d-360b96447e6b`,
});

Returns HTMLElement of created iframe.

Throws an error if element could not be created.

createPayWithFutureButton

Creates a button in the container that will start the Purchase Membership flow when clicked.

Future.createPayWithFutureButton({
  container: string,
});

Example:

Future.createPayWithFutureButton({ container: '.future-pay' });

Returns HTMLElement of created iframe.

Throws an error if element could not be created.

setCart

Sets the cart items that the user is purchasing.

interface CartItem = {
  imageUrl: string;
  priceCents: number;
  title: string;
}

Future.setCart({ cartItems: CartItem[] });

Example:

Future.setCart({
  cartItems: [
    {
      "title": "T-Shirt",
      "priceCents": "4000",
      "imageUrl": "http://myserver.com/images/TShirt.png"
    },
    {
      "title": "Jersey",
      "priceCents": "13000",
      "imageUrl": "http://myserver.com/images/Jersey.png"
    },
  ]
});

logout

Logs the current user out of Future.

Future.logout()
0.1.1

1 year ago

0.1.0

1 year ago

0.0.1

2 years ago