diff --git a/package.json b/package.json index 5a4d7cd..cbb24a3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@internxt/sdk", "author": "Internxt ", - "version": "1.11.25", + "version": "1.11.26", "description": "An sdk for interacting with Internxt's services", "repository": { "type": "git", diff --git a/src/drive/users/index.ts b/src/drive/users/index.ts index 3878a4f..859d410 100644 --- a/src/drive/users/index.ts +++ b/src/drive/users/index.ts @@ -8,6 +8,8 @@ import { ChangePasswordPayloadNew, CheckChangeEmailExpirationResponse, FriendInvite, + IncompleteCheckoutPayload, + IncompleteCheckoutResponse, InitializeUserResponse, PreCreateUserResponse, Token, @@ -385,6 +387,15 @@ export class Users { return this.client.get<{ mnemonic: string }>('/users/generate-mnemonic', this.basicHeaders()); } + /** + * Tracks incomplete checkout event and sends notification email when user abandons checkout process + * @param payload - The incomplete checkout data containing checkout URL, plan name and price + * @returns A promise that resolves when the event is tracked successfully + */ + public handleIncompleteCheckout(payload: IncompleteCheckoutPayload): Promise { + return this.client.post('/users/payments/incomplete-checkout', payload, this.headers()); + } + private basicHeaders() { return basicHeaders({ clientName: this.appDetails.clientName, diff --git a/src/drive/users/types.ts b/src/drive/users/types.ts index 8024934..6921fec 100644 --- a/src/drive/users/types.ts +++ b/src/drive/users/types.ts @@ -69,3 +69,13 @@ export type VerifyEmailChangeResponse = { }; export type CheckChangeEmailExpirationResponse = { isExpired: boolean }; +export interface IncompleteCheckoutPayload extends Record { + completeCheckoutUrl: string; + planName?: string; + price?: number; +} + +export interface IncompleteCheckoutResponse { + success: boolean; + message: string; +}