Cancellation Button
Creating a Session Token
You can create a session token for this web component by using the request template below with the Salable API.
- JavaScript
- cURL
const response = await fetch('https://api.salable.app/sessions', {
method: "POST",
headers: {
"x-api-key": "YOUR_SALABLE_API_TOKEN",
version: "v2",
},
body: JSON.stringify({
scope: 'web-components:cancellation-button',
metadata: {
subscriptionUuid: 'YOUR_SUBSCRIPTION_UUID',
// === OR ===
licenseUuid: 'YOUR_LICENSE_UUID'
}
})
})
const { sessionToken } = await response.json()
curl
-XPOST
-H 'x-api-key: YOUR_SALABLE_API_TOKEN'
-H 'version: v2'
-d '{
"scope": "web-components:cancellation-button",
"metadata": {
"subscriptionUuid": "YOUR_SUBSCRIPTION_UUID",
# === OR ===
"licenseUuid": "YOUR_LICENSE_UUID"
}
}'
'https://api.salable.app/sessions'
See the entire API docs for creating sessions for web components.
Examples
- HTML/JavaScript
- Svelte
- React
- Next.js Pages Router
- Next.js App Router
<!doctype html>
<head>
<title>Salable Cancellation Button Web Component Example</title>
<script type="module">
import { defineCustomElements } from 'https://cdn.jsdelivr.net/npm/@salable/web-components@latest/loader/index.es2017.js';
defineCustomElements();
</script>
</head>
<body>
<salable-cancellation-button
session-token="YOUR_SESSION_TOKEN"
uuid="YOUR_SUBSCRIPTION_OR_LICENSE_UUID"
></salable-cancellation-button>
</body>
</html>
+page.svelte
<script>
import {defineCustomElements} from "@salable/web-components/loader";
defineCustomElements();
</script>
<salable-cancellation-button
session-token="YOUR_SESSION_TOKEN"
uuid="YOUR_SUBSCRIPTION_OR_LICENSE_UUID"
></salable-cancellation-button>
+page.js
export const ssr = false;
import { defineCustomElements, SalableCancellationButton } from '@salable/react-web-components';
defineCustomElements();
export default function SalableCancellationButtonDemo() {
return (
<SalableCancellationButton
sessionToken="YOUR_SESSION_TOKEN"
uuid="YOUR_SUBSCRIPTION_OR_LICENSE_UUID"
/>
)
}
import dynamic from "next/dynamic";
import { useEffect } from 'react'
const SalableCancellationButton = dynamic(
() =>
import("@salable/react-web-components").then(
(module) => module.SalableCancellationButton,
),
{ ssr: false },
);
export default function SalableCancellationButtonDemo() {
useEffect(() => {
import("@salable/react-web-components").then((module) => {
const { defineCustomElements } = module;
defineCustomElements();
});
}, []);
return (
<SalableCancellationButton
sessionToken="YOUR_SESSION_TOKEN"
uuid="YOUR_SUBSCRIPTION_OR_LICENSE_UUID"
/>
)
}
'use client';
import { defineCustomElements, SalableCancellationButton } from '@salable/react-web-components';
defineCustomElements();
export default function SalableCancellationButtonDemo() {
return (
<SalableCancellationButton
sessionToken="YOUR_SESSION_TOKEN"
uuid="YOUR_SUBSCRIPTION_OR_LICENSE_UUID"
/>
)
}
Properties
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
sessionToken (required) | session-token | The generated token for this session from the Salable API | string | undefined |
uuid (required) | uuid | The uuid of the license or subscription to cancel | string | undefined |