@wf-financing/headless-sdk
v4.1.0
Published
Wayflyer provides a `@wf-financing/headless-sdk` package that can be used as a client-side headless SDK to interact with the Embedded Finance API.
Readme
Wayflyer Financing Headless SDK
Wayflyer provides a @wf-financing/headless-sdk package that can be used as a client-side headless SDK to interact with the Embedded Finance API.
Installation
Install the package directly from NPM with npm install @wf-financing/headless-sdk.
To minimize bundle size and reduce the impact on partners' page load times, the SDK uses dynamic imports to load the main functionality.
Instantiation
Initialize the Wayflyer headless SDK by passing the companyToken and an optional options object with a type of HeadlessSdkOptions that specifies additional functionality of SDK instance - e.g. consuming sandbox API instead of the production.
import { WayflyerHeadlessSdk, HeadlessSdkOptions } from '@wf-financing/headless-sdk';
// instantiation in production mode
const wayflyerHeadlessSdk = await WayflyerHeadlessSdk.loadSdk(companyToken);
// instantiation in sandbox mode, `options` type of HeadlessSdkOptions
const options: HeadlessSdkOptions = { isSandbox: true };
const wayflyerHeadlessSdk = await WayflyerHeadlessSdk.loadSdk(companyToken, options);Note: The companyToken should be minted using the Company Token endpoint on the partner's backend. See the Authentication section here for more details.
SDK methods
getCta()
Returns the configuration for the CTA to show to the user.
import type { CtaResponseType } from '@wf-financing/headless-sdk';
const cta: CtaResponseType = await wayflyerSdk.getCta();startHostedApplication(applicationRequest)
Returns a URL to the Wayflyer landing page after the user has given consent for sharing personal data.
import type { StartHostedApplicationRequestType, StartHostedApplicationResponseType } from '@wf-financing/headless-sdk';
const merchantData: StartHostedApplicationRequestType = {
company_data: {},
user_data: {},
partner_data: {},
};
const startHostedApplication: StartHostedApplicationResponseType = await wayflyerSdk.startHostedApplication(merchantData);continueHostedApplication()
Returns a URL to the Wayflyer landing page after the submission of the merchant funding application.
import type { ContinueHostedApplicationResponseType } from '@wf-financing/headless-sdk';
const startHostedApplication: ContinueHostedApplicationResponseType = await wayflyerSdk.continueHostedApplication();dismissCta()
Dismiss CTA for current combination of company and user.
await wayflyerSdk.dismissCta();Sandbox
To simplify the testing process, the SDK can be initialized in sandbox mode. To do so, pass the second argument of type HeadlessSdkOptions with isSandbox flag set to true. In sandbox mode, the partner can simulate responses for SDK methods with the help of additional package @wf-financing/sandbox-ui.
import { WayflyerHeadlessSdk, HeadlessSdkOptions } from '@wf-financing/headless-sdk';
const options: HeadlessSdkOptions = { isSandbox: true };
const wayflyerSdk = await WayflyerHeadlessSdk.loadSdk(companyToken, options);Next Steps
For further details on using the SDK, troubleshooting, or expanding on these examples, check out our full documentation.
