@future-sdk/future-js v0.1.1
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()