@lightspeed/online-payments-sdk 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -1
- package/dist/cjs/v1/EventBroadcaster.js +3 -0
- package/dist/cjs/v1/stripe/shared.js +19 -6
- package/dist/cjs/v1/stripe/widgets/payment.js +8 -2
- package/dist/cjs/version.js +1 -1
- package/dist/v1/EventBroadcaster.d.ts +4 -1
- package/dist/v1/EventBroadcaster.js +3 -0
- package/dist/v1/stripe/shared.d.ts +4 -1
- package/dist/v1/stripe/shared.js +19 -6
- package/dist/v1/stripe/widgets/payment.js +8 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1 +1,92 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Lightspeed Online Payments SDK
|
|
2
|
+
|
|
3
|
+
`@lightspeed/online-payments-sdk` is a browser SDK for mounting Lightspeed Payments widgets (Stripe and Adyen) in web applications.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install @lightspeed/online-payments-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import {LightspeedPayments} from '@lightspeed/online-payments-sdk';
|
|
15
|
+
|
|
16
|
+
const controller = await LightspeedPayments.v1.mountPaymentWidget(sessionToken, {
|
|
17
|
+
mountPoint: document.getElementById('payment-widget')!,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
controller.unmount();
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Compatibility
|
|
24
|
+
|
|
25
|
+
- TypeScript/JavaScript
|
|
26
|
+
- Browser runtime (requires `window`)
|
|
27
|
+
|
|
28
|
+
## Theming
|
|
29
|
+
|
|
30
|
+
The SDK supports custom themes. If no theme is specified, Stripe defaults are used.
|
|
31
|
+
|
|
32
|
+
### Available themes
|
|
33
|
+
|
|
34
|
+
- default (no `theme` value)
|
|
35
|
+
- `invoicing`
|
|
36
|
+
- `dark`
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import {LightspeedPayments} from '@lightspeed/online-payments-sdk';
|
|
40
|
+
|
|
41
|
+
await LightspeedPayments.v1.mountPaymentWidget(paymentSession, {
|
|
42
|
+
mountPoint: document.getElementById('payment-widget')!,
|
|
43
|
+
theme: 'dark',
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Container styling
|
|
48
|
+
|
|
49
|
+
For dark mode, the SDK styles the mount element you pass in `mountPoint`. If you style a parent wrapper, use `THEME_COLORS`.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import {THEME_COLORS} from '@lightspeed/online-payments-sdk';
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Documentation
|
|
56
|
+
|
|
57
|
+
- Datadog logging reference: `packages/lsp-online-payments-sdk/docs/DATADOG_LOGGING.md`
|
|
58
|
+
|
|
59
|
+
## Development
|
|
60
|
+
|
|
61
|
+
Run SDK checks (same order as CI):
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
npm run lint --workspace @lightspeed/online-payments-sdk
|
|
65
|
+
npm run typecheck --workspace @lightspeed/online-payments-sdk
|
|
66
|
+
npm run test --workspace @lightspeed/online-payments-sdk
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Build package:
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
npm run build --workspace @lightspeed/online-payments-sdk
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Inspect publish contents:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
npm pack --dry-run
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Publishing and release flow
|
|
82
|
+
|
|
83
|
+
Publishing is handled by CircleCI (not manual local publish).
|
|
84
|
+
|
|
85
|
+
- Release path runs on `main` and `release/*`.
|
|
86
|
+
- CircleCI runs quality gates (`lint`, `typecheck`, unit tests, build, e2e).
|
|
87
|
+
- `verify_package_version` compares local `package.json` version with npm.
|
|
88
|
+
- If local version is not higher, publish is skipped.
|
|
89
|
+
- If local version is higher, the workflow pauses at manual approval (`pause_workflow`).
|
|
90
|
+
- A human must approve before the `release` job runs `npm publish`.
|
|
91
|
+
|
|
92
|
+
In practice: bump `version` in `packages/lsp-online-payments-sdk/package.json`, merge to `main`, then approve the release hold in CircleCI.
|
|
@@ -33,6 +33,9 @@ var EventBroadcaster = /** @class */ (function () {
|
|
|
33
33
|
if ('paymentMethodType' in event && event.paymentMethodType) {
|
|
34
34
|
externalEvent.paymentMethodType = event.paymentMethodType;
|
|
35
35
|
}
|
|
36
|
+
if ('saveCheckboxChecked' in event && event.saveCheckboxChecked !== undefined) {
|
|
37
|
+
externalEvent.saveCheckboxChecked = event.saveCheckboxChecked;
|
|
38
|
+
}
|
|
36
39
|
return externalEvent;
|
|
37
40
|
};
|
|
38
41
|
EventBroadcaster.prototype.registerMiddleware = function (middleware) {
|
|
@@ -93,9 +93,11 @@ function initStripe(context, theme) {
|
|
|
93
93
|
* @param theme - Theme configuration
|
|
94
94
|
* @param hideNameField - Whether to hide the billing details name field (used when address element is present to avoid duplicates with ACH)
|
|
95
95
|
* @param businessName - Overrides the merchant name Stripe renders in mandate text (passed to `business.name`)
|
|
96
|
+
* @param showCardMandate - Forces Stripe to render its card mandate text (which includes `business.name`). Used for partner payment-with-save flows where Stripe would otherwise not show terms.
|
|
96
97
|
*/
|
|
97
|
-
function createPaymentElementOptions(defaultValues, theme, hideNameField, businessName) {
|
|
98
|
+
function createPaymentElementOptions(defaultValues, theme, hideNameField, businessName, showCardMandate) {
|
|
98
99
|
if (hideNameField === void 0) { hideNameField = false; }
|
|
100
|
+
if (showCardMandate === void 0) { showCardMandate = false; }
|
|
99
101
|
var options = __assign(__assign(__assign({ wallets: {
|
|
100
102
|
applePay: 'never',
|
|
101
103
|
googlePay: 'never',
|
|
@@ -106,9 +108,7 @@ function createPaymentElementOptions(defaultValues, theme, hideNameField, busine
|
|
|
106
108
|
name: 'never', // prevent duplicate Name field on the form when using ACH (only when address element is present)
|
|
107
109
|
},
|
|
108
110
|
},
|
|
109
|
-
})), { terms: {
|
|
110
|
-
usBankAccount: 'never', // Hide Stripe's default T&Cs (shown for ACH payments)
|
|
111
|
-
} }), (businessName && { business: { name: businessName } }));
|
|
111
|
+
})), { terms: __assign({ usBankAccount: 'never' }, (showCardMandate && businessName && { card: 'always' })) }), (businessName && { business: { name: businessName } }));
|
|
112
112
|
if (defaultValues) {
|
|
113
113
|
options.defaultValues = {
|
|
114
114
|
billingDetails: {
|
|
@@ -222,17 +222,22 @@ function createPaymentElement(elements, options, mountElement, eventBroadcaster)
|
|
|
222
222
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
223
223
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
224
224
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
225
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
226
|
+
* and emits a Change event when that checkbox state changes.
|
|
225
227
|
*/
|
|
226
228
|
function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElement) {
|
|
227
229
|
var paymentComplete = false;
|
|
228
230
|
var addressComplete = !addressElement; // If no address element, consider it complete
|
|
229
231
|
var previousComplete = null;
|
|
230
232
|
var previousMethodType;
|
|
233
|
+
var previousSaveCheckboxState; // Track save checkbox state
|
|
231
234
|
var emitChangeEvent = function () {
|
|
232
235
|
var complete = paymentComplete && addressComplete;
|
|
233
236
|
previousComplete = complete;
|
|
234
|
-
eventBroadcaster.publish(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
237
|
+
eventBroadcaster.publish(__assign(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
235
238
|
paymentMethodType: previousMethodType,
|
|
239
|
+
})), (previousSaveCheckboxState !== undefined && {
|
|
240
|
+
saveCheckboxChecked: previousSaveCheckboxState,
|
|
236
241
|
})));
|
|
237
242
|
};
|
|
238
243
|
paymentElement.on('change', function (event) {
|
|
@@ -244,7 +249,15 @@ function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElemen
|
|
|
244
249
|
if (methodType !== undefined) {
|
|
245
250
|
previousMethodType = methodType;
|
|
246
251
|
}
|
|
247
|
-
|
|
252
|
+
// Check for save checkbox state from Stripe's value object
|
|
253
|
+
// The value object may contain a `savePaymentMethod` property
|
|
254
|
+
var saveCheckboxChanged = false;
|
|
255
|
+
if (event.value && typeof event.value === 'object' && 'savePaymentMethod' in event.value) {
|
|
256
|
+
var saveCheckboxState = event.value.savePaymentMethod;
|
|
257
|
+
saveCheckboxChanged = previousSaveCheckboxState !== saveCheckboxState;
|
|
258
|
+
previousSaveCheckboxState = saveCheckboxState;
|
|
259
|
+
}
|
|
260
|
+
if (completenessChanged || methodTypeChanged || saveCheckboxChanged) {
|
|
248
261
|
emitChangeEvent();
|
|
249
262
|
}
|
|
250
263
|
});
|
|
@@ -43,7 +43,7 @@ var shared_1 = require("../shared");
|
|
|
43
43
|
*/
|
|
44
44
|
function mountPaymentWidget(mountElement, session, eventBroadcaster, defaultValues, theme) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
-
var _a, stripe, elements, addressOptions, _b, addressElement, addressContainer, paymentOptions, _c, paymentElement, paymentContainer, customTermsContainer;
|
|
46
|
+
var _a, stripe, elements, addressOptions, _b, addressElement, addressContainer, productMetadata, isPartnerProduct, showCardMandate, paymentOptions, _c, paymentElement, paymentContainer, customTermsContainer;
|
|
47
47
|
return __generator(this, function (_d) {
|
|
48
48
|
switch (_d.label) {
|
|
49
49
|
case 0: return [4 /*yield*/, (0, shared_1.initStripe)(session.context, theme)];
|
|
@@ -51,7 +51,13 @@ function mountPaymentWidget(mountElement, session, eventBroadcaster, defaultValu
|
|
|
51
51
|
_a = _d.sent(), stripe = _a.stripe, elements = _a.elements;
|
|
52
52
|
addressOptions = (0, shared_1.createAddressElementOptions)(defaultValues);
|
|
53
53
|
_b = (0, shared_1.createAddressElement)(elements, addressOptions, mountElement), addressElement = _b.element, addressContainer = _b.container;
|
|
54
|
-
|
|
54
|
+
productMetadata = session.metadata.product;
|
|
55
|
+
isPartnerProduct = typeof productMetadata === 'string' &&
|
|
56
|
+
productMetadata.startsWith('partner:');
|
|
57
|
+
showCardMandate = session.metadata.sessionType === 'payment-with-save' &&
|
|
58
|
+
!!session.context.businessName &&
|
|
59
|
+
isPartnerProduct;
|
|
60
|
+
paymentOptions = (0, shared_1.createPaymentElementOptions)(defaultValues, theme, true, session.context.businessName, showCardMandate);
|
|
55
61
|
_c = (0, shared_1.createPaymentElement)(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _c.element, paymentContainer = _c.container, customTermsContainer = _c.customTermsContainer;
|
|
56
62
|
// Setup change handler that emits Complete only when both elements are complete
|
|
57
63
|
(0, shared_1.setupChangeEventHandler)(paymentElement, eventBroadcaster, addressElement);
|
package/dist/cjs/version.js
CHANGED
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SDK_VERSION = void 0;
|
|
4
4
|
// This file is auto-generated during the build process
|
|
5
5
|
// DO NOT EDIT MANUALLY - Version is extracted from package.json
|
|
6
|
-
exports.SDK_VERSION = '1.
|
|
6
|
+
exports.SDK_VERSION = '1.6.1';
|
|
@@ -23,13 +23,15 @@ export type ChangeEvent = BaseEvent & {
|
|
|
23
23
|
status: 'Change';
|
|
24
24
|
code: 'Complete' | 'Incomplete';
|
|
25
25
|
paymentMethodType?: string;
|
|
26
|
+
saveCheckboxChecked?: boolean;
|
|
26
27
|
};
|
|
27
28
|
export type ErrorResultEvent = BaseEvent & {
|
|
28
29
|
code: SupportedErrorCodes;
|
|
29
30
|
status: 'Error';
|
|
30
31
|
};
|
|
31
32
|
export type InternalEvent = SucceededResultEvent | PendingResultEvent | DeclinedResultEvent | ErrorResultEvent | ReadyEvent | ChangeEvent;
|
|
32
|
-
|
|
33
|
+
type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
|
|
34
|
+
export type Event = DistributiveOmit<InternalEvent, 'loggingEnrichment'>;
|
|
33
35
|
export type EventHandler = (result: Event) => void;
|
|
34
36
|
export type EventMiddleware = (event: InternalEvent) => InternalEvent | void;
|
|
35
37
|
export type EventListeners = Partial<Record<`on${Status}`, EventHandler>>;
|
|
@@ -42,3 +44,4 @@ export declare class EventBroadcaster {
|
|
|
42
44
|
applyMiddlewares(event: InternalEvent): Event;
|
|
43
45
|
publish(event: InternalEvent): void;
|
|
44
46
|
}
|
|
47
|
+
export {};
|
|
@@ -30,6 +30,9 @@ var EventBroadcaster = /** @class */ (function () {
|
|
|
30
30
|
if ('paymentMethodType' in event && event.paymentMethodType) {
|
|
31
31
|
externalEvent.paymentMethodType = event.paymentMethodType;
|
|
32
32
|
}
|
|
33
|
+
if ('saveCheckboxChecked' in event && event.saveCheckboxChecked !== undefined) {
|
|
34
|
+
externalEvent.saveCheckboxChecked = event.saveCheckboxChecked;
|
|
35
|
+
}
|
|
33
36
|
return externalEvent;
|
|
34
37
|
};
|
|
35
38
|
EventBroadcaster.prototype.registerMiddleware = function (middleware) {
|
|
@@ -22,8 +22,9 @@ export declare function initStripe(context: StripeContext, theme?: PaymentWidget
|
|
|
22
22
|
* @param theme - Theme configuration
|
|
23
23
|
* @param hideNameField - Whether to hide the billing details name field (used when address element is present to avoid duplicates with ACH)
|
|
24
24
|
* @param businessName - Overrides the merchant name Stripe renders in mandate text (passed to `business.name`)
|
|
25
|
+
* @param showCardMandate - Forces Stripe to render its card mandate text (which includes `business.name`). Used for partner payment-with-save flows where Stripe would otherwise not show terms.
|
|
25
26
|
*/
|
|
26
|
-
export declare function createPaymentElementOptions(defaultValues?: DefaultValues, theme?: PaymentWidgetTheme, hideNameField?: boolean, businessName?: string): StripePaymentElementOptions;
|
|
27
|
+
export declare function createPaymentElementOptions(defaultValues?: DefaultValues, theme?: PaymentWidgetTheme, hideNameField?: boolean, businessName?: string, showCardMandate?: boolean): StripePaymentElementOptions;
|
|
27
28
|
/**
|
|
28
29
|
* Create address element options
|
|
29
30
|
*/
|
|
@@ -41,6 +42,8 @@ export declare function createPaymentElement(elements: StripeElements, options:
|
|
|
41
42
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
42
43
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
43
44
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
45
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
46
|
+
* and emits a Change event when that checkbox state changes.
|
|
44
47
|
*/
|
|
45
48
|
export declare function setupChangeEventHandler(paymentElement: StripePaymentElement, eventBroadcaster: EventBroadcaster, addressElement?: StripeAddressElement | null): void;
|
|
46
49
|
/**
|
package/dist/v1/stripe/shared.js
CHANGED
|
@@ -81,9 +81,11 @@ export function initStripe(context, theme) {
|
|
|
81
81
|
* @param theme - Theme configuration
|
|
82
82
|
* @param hideNameField - Whether to hide the billing details name field (used when address element is present to avoid duplicates with ACH)
|
|
83
83
|
* @param businessName - Overrides the merchant name Stripe renders in mandate text (passed to `business.name`)
|
|
84
|
+
* @param showCardMandate - Forces Stripe to render its card mandate text (which includes `business.name`). Used for partner payment-with-save flows where Stripe would otherwise not show terms.
|
|
84
85
|
*/
|
|
85
|
-
export function createPaymentElementOptions(defaultValues, theme, hideNameField, businessName) {
|
|
86
|
+
export function createPaymentElementOptions(defaultValues, theme, hideNameField, businessName, showCardMandate) {
|
|
86
87
|
if (hideNameField === void 0) { hideNameField = false; }
|
|
88
|
+
if (showCardMandate === void 0) { showCardMandate = false; }
|
|
87
89
|
var options = __assign(__assign(__assign({ wallets: {
|
|
88
90
|
applePay: 'never',
|
|
89
91
|
googlePay: 'never',
|
|
@@ -94,9 +96,7 @@ export function createPaymentElementOptions(defaultValues, theme, hideNameField,
|
|
|
94
96
|
name: 'never', // prevent duplicate Name field on the form when using ACH (only when address element is present)
|
|
95
97
|
},
|
|
96
98
|
},
|
|
97
|
-
})), { terms: {
|
|
98
|
-
usBankAccount: 'never', // Hide Stripe's default T&Cs (shown for ACH payments)
|
|
99
|
-
} }), (businessName && { business: { name: businessName } }));
|
|
99
|
+
})), { terms: __assign({ usBankAccount: 'never' }, (showCardMandate && businessName && { card: 'always' })) }), (businessName && { business: { name: businessName } }));
|
|
100
100
|
if (defaultValues) {
|
|
101
101
|
options.defaultValues = {
|
|
102
102
|
billingDetails: {
|
|
@@ -210,17 +210,22 @@ export function createPaymentElement(elements, options, mountElement, eventBroad
|
|
|
210
210
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
211
211
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
212
212
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
213
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
214
|
+
* and emits a Change event when that checkbox state changes.
|
|
213
215
|
*/
|
|
214
216
|
export function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElement) {
|
|
215
217
|
var paymentComplete = false;
|
|
216
218
|
var addressComplete = !addressElement; // If no address element, consider it complete
|
|
217
219
|
var previousComplete = null;
|
|
218
220
|
var previousMethodType;
|
|
221
|
+
var previousSaveCheckboxState; // Track save checkbox state
|
|
219
222
|
var emitChangeEvent = function () {
|
|
220
223
|
var complete = paymentComplete && addressComplete;
|
|
221
224
|
previousComplete = complete;
|
|
222
|
-
eventBroadcaster.publish(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
225
|
+
eventBroadcaster.publish(__assign(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
223
226
|
paymentMethodType: previousMethodType,
|
|
227
|
+
})), (previousSaveCheckboxState !== undefined && {
|
|
228
|
+
saveCheckboxChecked: previousSaveCheckboxState,
|
|
224
229
|
})));
|
|
225
230
|
};
|
|
226
231
|
paymentElement.on('change', function (event) {
|
|
@@ -232,7 +237,15 @@ export function setupChangeEventHandler(paymentElement, eventBroadcaster, addres
|
|
|
232
237
|
if (methodType !== undefined) {
|
|
233
238
|
previousMethodType = methodType;
|
|
234
239
|
}
|
|
235
|
-
|
|
240
|
+
// Check for save checkbox state from Stripe's value object
|
|
241
|
+
// The value object may contain a `savePaymentMethod` property
|
|
242
|
+
var saveCheckboxChanged = false;
|
|
243
|
+
if (event.value && typeof event.value === 'object' && 'savePaymentMethod' in event.value) {
|
|
244
|
+
var saveCheckboxState = event.value.savePaymentMethod;
|
|
245
|
+
saveCheckboxChanged = previousSaveCheckboxState !== saveCheckboxState;
|
|
246
|
+
previousSaveCheckboxState = saveCheckboxState;
|
|
247
|
+
}
|
|
248
|
+
if (completenessChanged || methodTypeChanged || saveCheckboxChanged) {
|
|
236
249
|
emitChangeEvent();
|
|
237
250
|
}
|
|
238
251
|
});
|
|
@@ -40,7 +40,7 @@ import { initStripe, createPaymentElementOptions, createAddressElementOptions, c
|
|
|
40
40
|
*/
|
|
41
41
|
export function mountPaymentWidget(mountElement, session, eventBroadcaster, defaultValues, theme) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var _a, stripe, elements, addressOptions, _b, addressElement, addressContainer, paymentOptions, _c, paymentElement, paymentContainer, customTermsContainer;
|
|
43
|
+
var _a, stripe, elements, addressOptions, _b, addressElement, addressContainer, productMetadata, isPartnerProduct, showCardMandate, paymentOptions, _c, paymentElement, paymentContainer, customTermsContainer;
|
|
44
44
|
return __generator(this, function (_d) {
|
|
45
45
|
switch (_d.label) {
|
|
46
46
|
case 0: return [4 /*yield*/, initStripe(session.context, theme)];
|
|
@@ -48,7 +48,13 @@ export function mountPaymentWidget(mountElement, session, eventBroadcaster, defa
|
|
|
48
48
|
_a = _d.sent(), stripe = _a.stripe, elements = _a.elements;
|
|
49
49
|
addressOptions = createAddressElementOptions(defaultValues);
|
|
50
50
|
_b = createAddressElement(elements, addressOptions, mountElement), addressElement = _b.element, addressContainer = _b.container;
|
|
51
|
-
|
|
51
|
+
productMetadata = session.metadata.product;
|
|
52
|
+
isPartnerProduct = typeof productMetadata === 'string' &&
|
|
53
|
+
productMetadata.startsWith('partner:');
|
|
54
|
+
showCardMandate = session.metadata.sessionType === 'payment-with-save' &&
|
|
55
|
+
!!session.context.businessName &&
|
|
56
|
+
isPartnerProduct;
|
|
57
|
+
paymentOptions = createPaymentElementOptions(defaultValues, theme, true, session.context.businessName, showCardMandate);
|
|
52
58
|
_c = createPaymentElement(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _c.element, paymentContainer = _c.container, customTermsContainer = _c.customTermsContainer;
|
|
53
59
|
// Setup change handler that emits Complete only when both elements are complete
|
|
54
60
|
setupChangeEventHandler(paymentElement, eventBroadcaster, addressElement);
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.
|
|
1
|
+
export declare const SDK_VERSION = "1.6.1";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightspeed/online-payments-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "Process online-payments with Lightspeed Payments",
|
|
5
5
|
"author": "Lightspeed Commerce Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -32,18 +32,18 @@
|
|
|
32
32
|
"@eslint/js": "^9.33.0",
|
|
33
33
|
"@types/jest": "^30.0.0",
|
|
34
34
|
"gts": "^6.0.2",
|
|
35
|
-
"jest": "^30.2
|
|
36
|
-
"jest-environment-jsdom": "^30.
|
|
35
|
+
"jest": "^30.4.2",
|
|
36
|
+
"jest-environment-jsdom": "^30.4.1",
|
|
37
37
|
"jest-junit": "^16.0.0",
|
|
38
|
-
"rollup": "^4.
|
|
39
|
-
"ts-jest": "^29.4.
|
|
38
|
+
"rollup": "^4.62.2",
|
|
39
|
+
"ts-jest": "^29.4.11",
|
|
40
40
|
"tslib": "^2.8.1",
|
|
41
41
|
"typescript": "^5.9.3",
|
|
42
|
-
"typescript-eslint": "^8.
|
|
42
|
+
"typescript-eslint": "^8.63.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@adyen/adyen-web": "^6.
|
|
46
|
-
"@datadog/browser-logs": "^6.
|
|
45
|
+
"@adyen/adyen-web": "^6.40.1",
|
|
46
|
+
"@datadog/browser-logs": "^6.33.0",
|
|
47
47
|
"@stripe/stripe-js": "^7.9.0"
|
|
48
48
|
}
|
|
49
49
|
}
|