@stripe/connect-js 3.3.30-preview-1 → 3.3.30

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/dist/pure.esm.js CHANGED
@@ -5,17 +5,6 @@ const ConnectElementCommonMethodConfig = {
5
5
  setOnLoaderStart: _listener => {}
6
6
  };
7
7
  const ConnectElementCustomMethodConfig = {
8
- payments: {
9
- setDefaultFilters: _filters => {}
10
- },
11
- "payment-details": {
12
- setPayment: _payment => {},
13
- setOnClose: _listener => {}
14
- },
15
- "payment-disputes": {
16
- setPayment: _payment => {},
17
- setOnDisputesLoaded: _listener => {}
18
- },
19
8
  "account-onboarding": {
20
9
  setFullTermsOfServiceUrl: _termOfServiceUrl => {},
21
10
  setRecipientTermsOfServiceUrl: _recipientTermsOfServiceUrl => {},
@@ -32,6 +21,10 @@ const ConnectElementCustomMethodConfig = {
32
21
  setCollectionOptions: _collectionOptions => {},
33
22
  setOnNotificationsChange: _listener => {}
34
23
  },
24
+ "instant-payouts-promotion": {
25
+ setOnInstantPayoutsPromotionLoaded: _listener => {},
26
+ setOnInstantPayoutCreated: _listener => {}
27
+ },
35
28
  "issuing-card": {
36
29
  setDefaultCard: _defaultCard => {},
37
30
  setCardSwitching: _cardSwitching => {},
@@ -49,46 +42,16 @@ const ConnectElementCustomMethodConfig = {
49
42
  "financial-account-transactions": {
50
43
  setFinancialAccount: _financialAccount => {}
51
44
  },
52
- recipients: {
53
- setDataSource: _dataSource => {}
54
- },
55
- "app-install": {
56
- setApp: _app => {},
57
- setOnAppInstallStateFetched: _listener => {},
58
- setOnAppInstallStateChanged: _listener => {}
59
- },
60
- "app-viewport": {
61
- setApp: _app => {},
62
- setAppData: _appData => {}
63
- },
64
- "payment-method-settings": {
65
- setPaymentMethodConfiguration: _paymentMethodConfiguration => {}
66
- },
67
- "capital-financing": {
68
- setDefaultFinancingOffer: _defaultFinancingOffer => {},
69
- setShowFinancingSelector: _showFinancingSelector => {},
70
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
71
- setSupportUrl: _supportUrl => {},
72
- setOnFinancingsLoaded: _listener => {}
73
- },
74
- "capital-financing-application": {
75
- setOnApplicationSubmitted: _listener => {},
76
- setPrivacyPolicyUrl: _privacyPolicyUrl => {},
77
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {}
45
+ payments: {
46
+ setDefaultFilters: _filters => {}
78
47
  },
79
- "capital-financing-promotion": {
80
- setLayout: _layout => {},
81
- setOnApplicationSubmitted: _listener => {},
82
- setOnEligibleFinancingOfferLoaded: _listener => {},
83
- setPrivacyPolicyUrl: _privacyPolicyUrl => {},
84
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
85
- setEligibilityCriteriaUrl: _eligibilityCriteriaUrl => {}
48
+ "payment-details": {
49
+ setPayment: _payment => {},
50
+ setOnClose: _listener => {}
86
51
  },
87
- "reporting-chart": {
88
- setReportName: _reportName => {},
89
- setIntervalStart: _intervalStart => {},
90
- setIntervalEnd: _intervalEnd => {},
91
- setIntervalType: _intervalType => {}
52
+ "payment-disputes": {
53
+ setPayment: _payment => {},
54
+ setOnDisputesLoaded: _listener => {}
92
55
  },
93
56
  "tax-settings": {
94
57
  setHideProductTaxCodeSelector: _hidden => {},
@@ -99,54 +62,38 @@ const ConnectElementCustomMethodConfig = {
99
62
  setOnAfterTaxRegistrationAdded: _listener => {},
100
63
  setDisplayCountries: _countries => {}
101
64
  },
102
- "tax-threshold-monitoring": {
103
- setDisplayCountries: _countries => {}
104
- },
105
- "product-tax-code-selector": {
106
- setOnTaxCodeSelect: _listener => {},
107
- setHideDescription: _hideDescription => {},
108
- setDisabled: _disabled => {},
109
- setInitialTaxCode: _initialTaxCode => {}
110
- },
111
- "export-tax-transactions": {}
65
+ "payout-details": {
66
+ setPayout: _payout => {},
67
+ setOnClose: _listener => {}
68
+ }
112
69
  };
113
70
 
114
71
  const componentNameMapping = {
72
+ "account-onboarding": "stripe-connect-account-onboarding",
73
+ "disputes-list": "stripe-connect-disputes-list",
115
74
  payments: "stripe-connect-payments",
116
- payouts: "stripe-connect-payouts",
117
75
  "payment-details": "stripe-connect-payment-details",
118
76
  "payment-disputes": "stripe-connect-payment-disputes",
119
- "account-onboarding": "stripe-connect-account-onboarding",
120
- "payment-method-settings": "stripe-connect-payment-method-settings",
77
+ payouts: "stripe-connect-payouts",
78
+ "payouts-list": "stripe-connect-payouts-list",
79
+ "payout-details": "stripe-connect-payout-details",
80
+ balances: "stripe-connect-balances",
121
81
  "account-management": "stripe-connect-account-management",
122
82
  "notification-banner": "stripe-connect-notification-banner",
123
- "instant-payouts": "stripe-connect-instant-payouts",
83
+ "instant-payouts-promotion": "stripe-connect-instant-payouts-promotion",
124
84
  "issuing-card": "stripe-connect-issuing-card",
125
85
  "issuing-cards-list": "stripe-connect-issuing-cards-list",
126
86
  "financial-account": "stripe-connect-financial-account",
127
- recipients: "stripe-connect-recipients",
128
87
  "financial-account-transactions": "stripe-connect-financial-account-transactions",
129
- "capital-financing": "stripe-connect-capital-financing",
130
- "capital-financing-application": "stripe-connect-capital-financing-application",
131
- "capital-financing-promotion": "stripe-connect-capital-financing-promotion",
132
- "capital-overview": "stripe-connect-capital-overview",
133
88
  documents: "stripe-connect-documents",
134
- "product-tax-code-selector": "stripe-connect-product-tax-code-selector",
135
- "export-tax-transactions": "stripe-connect-export-tax-transactions",
136
89
  "tax-registrations": "stripe-connect-tax-registrations",
137
- "tax-settings": "stripe-connect-tax-settings",
138
- "tax-threshold-monitoring": "stripe-connect-tax-threshold-monitoring",
139
- balances: "stripe-connect-balances",
140
- "payouts-list": "stripe-connect-payouts-list",
141
- "app-install": "stripe-connect-app-install",
142
- "app-viewport": "stripe-connect-app-viewport",
143
- "reporting-chart": "stripe-connect-reporting-chart"
90
+ "tax-settings": "stripe-connect-tax-settings"
144
91
  };
145
92
  const EXISTING_SCRIPT_MESSAGE = "loadConnect was called but an existing Connect.js script already exists in the document; existing script parameters will be used";
146
93
  const V0_URL = "https://connect-js.stripe.com/v0.1/connect.js";
147
94
  const V1_URL = "https://connect-js.stripe.com/v1.0/connect.js";
148
95
  const findScript = () => {
149
- return document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || null;
96
+ return document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || null;
150
97
  };
151
98
  const injectScript = () => {
152
99
  const script = document.createElement("script");
@@ -159,6 +106,13 @@ const injectScript = () => {
159
106
  return script;
160
107
  };
161
108
  let stripePromise = null;
109
+ const isWindowStripeConnectDefined = stripeConnect => {
110
+ // We only consider `StripeConnect` defined if `init` is a function
111
+ // Why? HTML markup like:
112
+ // <a id="StripeConnect"><a id="StripeConnect" name="init" href="stripe"></a></a> in the <head> of the page
113
+ // can end up "contaminating" the window.StripeConnect object and cause issues in connect.js initialization
114
+ return !!(stripeConnect && typeof stripeConnect === "object" && "init" in stripeConnect && typeof stripeConnect.init === "function");
115
+ };
162
116
  const loadScript = () => {
163
117
  // Ensure that we only attempt to load Connect.js at most once
164
118
  if (stripePromise !== null) {
@@ -169,10 +123,8 @@ const loadScript = () => {
169
123
  reject("ConnectJS won't load when rendering code in the server - it can only be loaded on a browser. This error is expected when loading ConnectJS in SSR environments, like NextJS. It will have no impact in the UI, however if you wish to avoid it, you can switch to the `pure` version of the connect.js loader: https://github.com/stripe/connect-js#importing-loadconnect-without-side-effects.");
170
124
  return;
171
125
  }
172
- if (window.StripeConnect) {
126
+ if (isWindowStripeConnectDefined(window.StripeConnect)) {
173
127
  console.warn(EXISTING_SCRIPT_MESSAGE);
174
- }
175
- if (window.StripeConnect) {
176
128
  const wrapper = createWrapper(window.StripeConnect);
177
129
  resolve(wrapper);
178
130
  return;
@@ -185,7 +137,7 @@ const loadScript = () => {
185
137
  script = injectScript();
186
138
  }
187
139
  script.addEventListener("load", () => {
188
- if (window.StripeConnect) {
140
+ if (isWindowStripeConnectDefined(window.StripeConnect)) {
189
141
  const wrapper = createWrapper(window.StripeConnect);
190
142
  resolve(wrapper);
191
143
  } else {
@@ -231,6 +183,9 @@ const initStripeConnect = (stripePromise, initParams) => {
231
183
  for (const method in methods) {
232
184
  element[method] = function (value) {
233
185
  stripeConnectInstance.then(() => {
186
+ if (!this[`${method}InternalOnly`]) {
187
+ throw new Error(`Method ${method} is not available in the ${tagName} HTML element. Are you using a supported version of the "@stripe/connect-js" package? Using version: 3.3.30`);
188
+ }
234
189
  this[`${method}InternalOnly`](value);
235
190
  });
236
191
  };
@@ -283,7 +238,7 @@ const createWrapper = stripeConnect => {
283
238
  sdk: true,
284
239
  sdkOptions: {
285
240
  // This will be replaced by the npm package version when bundling
286
- sdkVersion: "3.3.30-preview-1"
241
+ sdkVersion: "3.3.30"
287
242
  }
288
243
  })
289
244
  }));
package/dist/pure.js CHANGED
@@ -9,17 +9,6 @@ const ConnectElementCommonMethodConfig = {
9
9
  setOnLoaderStart: _listener => {}
10
10
  };
11
11
  const ConnectElementCustomMethodConfig = {
12
- payments: {
13
- setDefaultFilters: _filters => {}
14
- },
15
- "payment-details": {
16
- setPayment: _payment => {},
17
- setOnClose: _listener => {}
18
- },
19
- "payment-disputes": {
20
- setPayment: _payment => {},
21
- setOnDisputesLoaded: _listener => {}
22
- },
23
12
  "account-onboarding": {
24
13
  setFullTermsOfServiceUrl: _termOfServiceUrl => {},
25
14
  setRecipientTermsOfServiceUrl: _recipientTermsOfServiceUrl => {},
@@ -36,6 +25,10 @@ const ConnectElementCustomMethodConfig = {
36
25
  setCollectionOptions: _collectionOptions => {},
37
26
  setOnNotificationsChange: _listener => {}
38
27
  },
28
+ "instant-payouts-promotion": {
29
+ setOnInstantPayoutsPromotionLoaded: _listener => {},
30
+ setOnInstantPayoutCreated: _listener => {}
31
+ },
39
32
  "issuing-card": {
40
33
  setDefaultCard: _defaultCard => {},
41
34
  setCardSwitching: _cardSwitching => {},
@@ -53,46 +46,16 @@ const ConnectElementCustomMethodConfig = {
53
46
  "financial-account-transactions": {
54
47
  setFinancialAccount: _financialAccount => {}
55
48
  },
56
- recipients: {
57
- setDataSource: _dataSource => {}
58
- },
59
- "app-install": {
60
- setApp: _app => {},
61
- setOnAppInstallStateFetched: _listener => {},
62
- setOnAppInstallStateChanged: _listener => {}
63
- },
64
- "app-viewport": {
65
- setApp: _app => {},
66
- setAppData: _appData => {}
67
- },
68
- "payment-method-settings": {
69
- setPaymentMethodConfiguration: _paymentMethodConfiguration => {}
70
- },
71
- "capital-financing": {
72
- setDefaultFinancingOffer: _defaultFinancingOffer => {},
73
- setShowFinancingSelector: _showFinancingSelector => {},
74
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
75
- setSupportUrl: _supportUrl => {},
76
- setOnFinancingsLoaded: _listener => {}
77
- },
78
- "capital-financing-application": {
79
- setOnApplicationSubmitted: _listener => {},
80
- setPrivacyPolicyUrl: _privacyPolicyUrl => {},
81
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {}
49
+ payments: {
50
+ setDefaultFilters: _filters => {}
82
51
  },
83
- "capital-financing-promotion": {
84
- setLayout: _layout => {},
85
- setOnApplicationSubmitted: _listener => {},
86
- setOnEligibleFinancingOfferLoaded: _listener => {},
87
- setPrivacyPolicyUrl: _privacyPolicyUrl => {},
88
- setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
89
- setEligibilityCriteriaUrl: _eligibilityCriteriaUrl => {}
52
+ "payment-details": {
53
+ setPayment: _payment => {},
54
+ setOnClose: _listener => {}
90
55
  },
91
- "reporting-chart": {
92
- setReportName: _reportName => {},
93
- setIntervalStart: _intervalStart => {},
94
- setIntervalEnd: _intervalEnd => {},
95
- setIntervalType: _intervalType => {}
56
+ "payment-disputes": {
57
+ setPayment: _payment => {},
58
+ setOnDisputesLoaded: _listener => {}
96
59
  },
97
60
  "tax-settings": {
98
61
  setHideProductTaxCodeSelector: _hidden => {},
@@ -103,54 +66,38 @@ const ConnectElementCustomMethodConfig = {
103
66
  setOnAfterTaxRegistrationAdded: _listener => {},
104
67
  setDisplayCountries: _countries => {}
105
68
  },
106
- "tax-threshold-monitoring": {
107
- setDisplayCountries: _countries => {}
108
- },
109
- "product-tax-code-selector": {
110
- setOnTaxCodeSelect: _listener => {},
111
- setHideDescription: _hideDescription => {},
112
- setDisabled: _disabled => {},
113
- setInitialTaxCode: _initialTaxCode => {}
114
- },
115
- "export-tax-transactions": {}
69
+ "payout-details": {
70
+ setPayout: _payout => {},
71
+ setOnClose: _listener => {}
72
+ }
116
73
  };
117
74
 
118
75
  const componentNameMapping = {
76
+ "account-onboarding": "stripe-connect-account-onboarding",
77
+ "disputes-list": "stripe-connect-disputes-list",
119
78
  payments: "stripe-connect-payments",
120
- payouts: "stripe-connect-payouts",
121
79
  "payment-details": "stripe-connect-payment-details",
122
80
  "payment-disputes": "stripe-connect-payment-disputes",
123
- "account-onboarding": "stripe-connect-account-onboarding",
124
- "payment-method-settings": "stripe-connect-payment-method-settings",
81
+ payouts: "stripe-connect-payouts",
82
+ "payouts-list": "stripe-connect-payouts-list",
83
+ "payout-details": "stripe-connect-payout-details",
84
+ balances: "stripe-connect-balances",
125
85
  "account-management": "stripe-connect-account-management",
126
86
  "notification-banner": "stripe-connect-notification-banner",
127
- "instant-payouts": "stripe-connect-instant-payouts",
87
+ "instant-payouts-promotion": "stripe-connect-instant-payouts-promotion",
128
88
  "issuing-card": "stripe-connect-issuing-card",
129
89
  "issuing-cards-list": "stripe-connect-issuing-cards-list",
130
90
  "financial-account": "stripe-connect-financial-account",
131
- recipients: "stripe-connect-recipients",
132
91
  "financial-account-transactions": "stripe-connect-financial-account-transactions",
133
- "capital-financing": "stripe-connect-capital-financing",
134
- "capital-financing-application": "stripe-connect-capital-financing-application",
135
- "capital-financing-promotion": "stripe-connect-capital-financing-promotion",
136
- "capital-overview": "stripe-connect-capital-overview",
137
92
  documents: "stripe-connect-documents",
138
- "product-tax-code-selector": "stripe-connect-product-tax-code-selector",
139
- "export-tax-transactions": "stripe-connect-export-tax-transactions",
140
93
  "tax-registrations": "stripe-connect-tax-registrations",
141
- "tax-settings": "stripe-connect-tax-settings",
142
- "tax-threshold-monitoring": "stripe-connect-tax-threshold-monitoring",
143
- balances: "stripe-connect-balances",
144
- "payouts-list": "stripe-connect-payouts-list",
145
- "app-install": "stripe-connect-app-install",
146
- "app-viewport": "stripe-connect-app-viewport",
147
- "reporting-chart": "stripe-connect-reporting-chart"
94
+ "tax-settings": "stripe-connect-tax-settings"
148
95
  };
149
96
  const EXISTING_SCRIPT_MESSAGE = "loadConnect was called but an existing Connect.js script already exists in the document; existing script parameters will be used";
150
97
  const V0_URL = "https://connect-js.stripe.com/v0.1/connect.js";
151
98
  const V1_URL = "https://connect-js.stripe.com/v1.0/connect.js";
152
99
  const findScript = () => {
153
- return document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || null;
100
+ return document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || null;
154
101
  };
155
102
  const injectScript = () => {
156
103
  const script = document.createElement("script");
@@ -163,6 +110,13 @@ const injectScript = () => {
163
110
  return script;
164
111
  };
165
112
  let stripePromise = null;
113
+ const isWindowStripeConnectDefined = stripeConnect => {
114
+ // We only consider `StripeConnect` defined if `init` is a function
115
+ // Why? HTML markup like:
116
+ // <a id="StripeConnect"><a id="StripeConnect" name="init" href="stripe"></a></a> in the <head> of the page
117
+ // can end up "contaminating" the window.StripeConnect object and cause issues in connect.js initialization
118
+ return !!(stripeConnect && typeof stripeConnect === "object" && "init" in stripeConnect && typeof stripeConnect.init === "function");
119
+ };
166
120
  const loadScript = () => {
167
121
  // Ensure that we only attempt to load Connect.js at most once
168
122
  if (stripePromise !== null) {
@@ -173,10 +127,8 @@ const loadScript = () => {
173
127
  reject("ConnectJS won't load when rendering code in the server - it can only be loaded on a browser. This error is expected when loading ConnectJS in SSR environments, like NextJS. It will have no impact in the UI, however if you wish to avoid it, you can switch to the `pure` version of the connect.js loader: https://github.com/stripe/connect-js#importing-loadconnect-without-side-effects.");
174
128
  return;
175
129
  }
176
- if (window.StripeConnect) {
130
+ if (isWindowStripeConnectDefined(window.StripeConnect)) {
177
131
  console.warn(EXISTING_SCRIPT_MESSAGE);
178
- }
179
- if (window.StripeConnect) {
180
132
  const wrapper = createWrapper(window.StripeConnect);
181
133
  resolve(wrapper);
182
134
  return;
@@ -189,7 +141,7 @@ const loadScript = () => {
189
141
  script = injectScript();
190
142
  }
191
143
  script.addEventListener("load", () => {
192
- if (window.StripeConnect) {
144
+ if (isWindowStripeConnectDefined(window.StripeConnect)) {
193
145
  const wrapper = createWrapper(window.StripeConnect);
194
146
  resolve(wrapper);
195
147
  } else {
@@ -235,6 +187,9 @@ const initStripeConnect = (stripePromise, initParams) => {
235
187
  for (const method in methods) {
236
188
  element[method] = function (value) {
237
189
  stripeConnectInstance.then(() => {
190
+ if (!this[`${method}InternalOnly`]) {
191
+ throw new Error(`Method ${method} is not available in the ${tagName} HTML element. Are you using a supported version of the "@stripe/connect-js" package? Using version: 3.3.30`);
192
+ }
238
193
  this[`${method}InternalOnly`](value);
239
194
  });
240
195
  };
@@ -287,7 +242,7 @@ const createWrapper = stripeConnect => {
287
242
  sdk: true,
288
243
  sdkOptions: {
289
244
  // This will be replaced by the npm package version when bundling
290
- sdkVersion: "3.3.30-preview-1"
245
+ sdkVersion: "3.3.30"
291
246
  }
292
247
  })
293
248
  }));
@@ -1,2 +1,2 @@
1
- import { LoadConnectAndInitialize } from "./shared";
1
+ import type { LoadConnectAndInitialize } from "./shared";
2
2
  export declare const loadConnectAndInitialize: LoadConnectAndInitialize;
@@ -1,2 +1,2 @@
1
- import { LoadConnectAndInitialize } from "./shared";
1
+ import type { LoadConnectAndInitialize } from "./shared";
2
2
  export declare const loadConnectAndInitialize: LoadConnectAndInitialize;
@@ -1,6 +1,6 @@
1
- import { IStripeConnectInitParams, StripeConnectInstance, ConnectElementTagName } from "../types";
1
+ import type { IStripeConnectInitParams, StripeConnectInstance, ConnectElementTagName } from "../types";
2
2
  export type LoadConnectAndInitialize = (initParams: IStripeConnectInitParams) => StripeConnectInstance;
3
- export type ConnectElementHTMLName = "stripe-connect-payments" | "stripe-connect-payouts" | "stripe-connect-payment-details" | "stripe-connect-payment-disputes" | "stripe-connect-account-onboarding" | "stripe-connect-payment-method-settings" | "stripe-connect-account-management" | "stripe-connect-notification-banner" | "stripe-connect-instant-payouts" | "stripe-connect-issuing-card" | "stripe-connect-issuing-cards-list" | "stripe-connect-financial-account" | "stripe-connect-financial-account-transactions" | "stripe-connect-recipients" | "stripe-connect-capital-financing" | "stripe-connect-capital-financing-application" | "stripe-connect-capital-financing-promotion" | "stripe-connect-capital-overview" | "stripe-connect-documents" | "stripe-connect-product-tax-code-selector" | "stripe-connect-export-tax-transactions" | "stripe-connect-tax-registrations" | "stripe-connect-tax-settings" | "stripe-connect-tax-threshold-monitoring" | "stripe-connect-balances" | "stripe-connect-payouts-list" | "stripe-connect-app-install" | "stripe-connect-app-viewport" | "stripe-connect-reporting-chart";
3
+ type ConnectElementHTMLName = "stripe-connect-account-onboarding" | "stripe-connect-disputes-list" | "stripe-connect-payments" | "stripe-connect-payment-details" | "stripe-connect-payment-disputes" | "stripe-connect-account-management" | "stripe-connect-notification-banner" | "stripe-connect-instant-payouts-promotion" | "stripe-connect-issuing-card" | "stripe-connect-issuing-cards-list" | "stripe-connect-financial-account" | "stripe-connect-financial-account-transactions" | "stripe-connect-payouts" | "stripe-connect-payouts-list" | "stripe-connect-payout-details" | "stripe-connect-balances" | "stripe-connect-documents" | "stripe-connect-tax-registrations" | "stripe-connect-tax-settings";
4
4
  export declare const componentNameMapping: Record<ConnectElementTagName, ConnectElementHTMLName>;
5
5
  type StripeConnectInstanceExtended = StripeConnectInstance & {
6
6
  debugInstance: () => Promise<StripeConnectInstance>;
@@ -9,6 +9,7 @@ interface StripeConnectWrapper {
9
9
  initialize: (params: IStripeConnectInitParams) => StripeConnectInstance;
10
10
  }
11
11
  export declare const findScript: () => HTMLScriptElement | null;
12
+ export declare const isWindowStripeConnectDefined: (stripeConnect: unknown) => boolean;
12
13
  export declare const loadScript: () => Promise<StripeConnectWrapper>;
13
14
  export declare const initStripeConnect: (stripePromise: Promise<StripeConnectWrapper>, initParams: IStripeConnectInitParams) => StripeConnectInstanceExtended;
14
15
  export {};
@@ -9,6 +9,11 @@ export type FetchEphemeralKeyFunction = (fetchParams: {
9
9
  export type CollectionOptions = {
10
10
  fields: "currently_due" | "eventually_due";
11
11
  futureRequirements?: "omit" | "include";
12
+ requirements?: {
13
+ only: string[];
14
+ } | {
15
+ exclude: string[];
16
+ };
12
17
  };
13
18
  export type Status = "blocked" | "canceled" | "disputed" | "early_fraud_warning" | "failed" | "incomplete" | "partially_refunded" | "pending" | "refund_pending" | "refunded" | "successful" | "uncaptured";
14
19
  export type PaymentMethod = "ach_credit_transfer" | "ach_debit" | "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "alma" | "amazon_pay" | "amex_express_checkout" | "android_pay" | "apple_pay" | "au_becs_debit" | "nz_bank_account" | "bancontact" | "bacs_debit" | "bitcoin_source" | "bitcoin" | "blik" | "boleto" | "boleto_pilot" | "card_present" | "card" | "cashapp" | "crypto" | "customer_balance" | "demo_pay" | "dummy_passthrough_card" | "gbp_credit_transfer" | "google_pay" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "id_bank_transfer" | "id_credit_transfer" | "jp_credit_transfer" | "interac_present" | "kakao_pay" | "klarna" | "konbini" | "kr_card" | "kr_market" | "link" | "masterpass" | "mb_way" | "meta_pay" | "multibanco" | "mobilepay" | "naver_pay" | "netbanking" | "ng_bank" | "ng_bank_transfer" | "ng_card" | "ng_market" | "ng_ussd" | "vipps" | "oxxo" | "p24" | "payto" | "pay_by_bank" | "paper_check" | "payco" | "paynow" | "paypal" | "pix" | "promptpay" | "revolut_pay" | "samsung_pay" | "sepa_credit_transfer" | "sepa_debit" | "sofort" | "south_korea_market" | "swish" | "three_d_secure" | "three_d_secure_2" | "three_d_secure_2_eap" | "twint" | "upi" | "us_bank_account" | "visa_checkout" | "wechat" | "wechat_pay" | "zip";
@@ -42,10 +47,6 @@ export type NotificationCount = {
42
47
  total: number;
43
48
  actionRequired: number;
44
49
  };
45
- export type InstallState = {
46
- appId: string;
47
- state: "INSTALLED" | "UNINSTALLED";
48
- };
49
50
  export type LoaderStart = {
50
51
  elementTagName: string;
51
52
  };
@@ -60,14 +61,6 @@ export type EmbeddedError = {
60
61
  type: EmbeddedErrorType;
61
62
  message?: string;
62
63
  };
63
- export type FinancingProductType = {
64
- productType: "standard" | "refill" | "none";
65
- activeFinancingCount: number;
66
- };
67
- export type FinancingPromotionLayoutType = "full" | "banner";
68
- export type IntervalType = "day" | "week" | "month" | "quarter" | "year";
69
- export type ReportName = "gross_volume" | "net_volume";
70
- export type RecipientDataSource = "customers";
71
64
  export type EmbeddedErrorType =
72
65
  /**
73
66
  * Failure to connect to Stripe's API.
@@ -98,19 +91,6 @@ export declare const ConnectElementCommonMethodConfig: {
98
91
  setOnLoaderStart: (_listener: (({ elementTagName }: LoaderStart) => void) | undefined) => void;
99
92
  };
100
93
  export declare const ConnectElementCustomMethodConfig: {
101
- payments: {
102
- setDefaultFilters: (_filters: PaymentsListDefaultFilters | undefined) => void;
103
- };
104
- "payment-details": {
105
- setPayment: (_payment: string | undefined) => void;
106
- setOnClose: (_listener: (() => void) | undefined) => void;
107
- };
108
- "payment-disputes": {
109
- setPayment: (_payment: string | undefined) => void;
110
- setOnDisputesLoaded: (_listener: (({ total }: {
111
- total: number;
112
- }) => void) | undefined) => void;
113
- };
114
94
  "account-onboarding": {
115
95
  setFullTermsOfServiceUrl: (_termOfServiceUrl: string | undefined) => void;
116
96
  setRecipientTermsOfServiceUrl: (_recipientTermsOfServiceUrl: string | undefined) => void;
@@ -127,6 +107,14 @@ export declare const ConnectElementCustomMethodConfig: {
127
107
  setCollectionOptions: (_collectionOptions: CollectionOptions | undefined) => void;
128
108
  setOnNotificationsChange: (_listener: (({ total, actionRequired }: NotificationCount) => void) | undefined) => void;
129
109
  };
110
+ "instant-payouts-promotion": {
111
+ setOnInstantPayoutsPromotionLoaded: (_listener: (({ promotionShown }: {
112
+ promotionShown: boolean;
113
+ }) => void) | undefined) => void;
114
+ setOnInstantPayoutCreated: (_listener: (({ payoutId }: {
115
+ payoutId: string;
116
+ }) => void) | undefined) => void;
117
+ };
130
118
  "issuing-card": {
131
119
  setDefaultCard: (_defaultCard: string | undefined) => void;
132
120
  setCardSwitching: (_cardSwitching: boolean | undefined) => void;
@@ -144,49 +132,19 @@ export declare const ConnectElementCustomMethodConfig: {
144
132
  "financial-account-transactions": {
145
133
  setFinancialAccount: (_financialAccount: string) => void;
146
134
  };
147
- recipients: {
148
- setDataSource: (_dataSource: RecipientDataSource) => void;
149
- };
150
- "app-install": {
151
- setApp: (_app: string | undefined) => void;
152
- setOnAppInstallStateFetched: (_listener: (({ appId, state }: InstallState) => void) | undefined) => void;
153
- setOnAppInstallStateChanged: (_listener: (({ appId, state }: InstallState) => void) | undefined) => void;
154
- };
155
- "app-viewport": {
156
- setApp: (_app: string | undefined) => void;
157
- setAppData: (_appData: Record<string, string> | undefined) => void;
135
+ payments: {
136
+ setDefaultFilters: (_filters: PaymentsListDefaultFilters | undefined) => void;
158
137
  };
159
- "payment-method-settings": {
160
- setPaymentMethodConfiguration: (_paymentMethodConfiguration: string | undefined) => void;
138
+ "payment-details": {
139
+ setPayment: (_payment: string | undefined) => void;
140
+ setOnClose: (_listener: (() => void) | undefined) => void;
161
141
  };
162
- "capital-financing": {
163
- setDefaultFinancingOffer: (_defaultFinancingOffer: string | undefined) => void;
164
- setShowFinancingSelector: (_showFinancingSelector: boolean | undefined) => void;
165
- setHowCapitalWorksUrl: (_howCapitalWorksUrl: string | undefined) => void;
166
- setSupportUrl: (_supportUrl: string | undefined) => void;
167
- setOnFinancingsLoaded: (_listener: (({ total }: {
142
+ "payment-disputes": {
143
+ setPayment: (_payment: string | undefined) => void;
144
+ setOnDisputesLoaded: (_listener: (({ total }: {
168
145
  total: number;
169
146
  }) => void) | undefined) => void;
170
147
  };
171
- "capital-financing-application": {
172
- setOnApplicationSubmitted: (_listener: (() => void) | undefined) => void;
173
- setPrivacyPolicyUrl: (_privacyPolicyUrl: string | undefined) => void;
174
- setHowCapitalWorksUrl: (_howCapitalWorksUrl: string | undefined) => void;
175
- };
176
- "capital-financing-promotion": {
177
- setLayout: (_layout: FinancingPromotionLayoutType | undefined) => void;
178
- setOnApplicationSubmitted: (_listener: (() => void) | undefined) => void;
179
- setOnEligibleFinancingOfferLoaded: (_listener: (({ productType, activeFinancingCount }: FinancingProductType) => void) | undefined) => void;
180
- setPrivacyPolicyUrl: (_privacyPolicyUrl: string | undefined) => void;
181
- setHowCapitalWorksUrl: (_howCapitalWorksUrl: string | undefined) => void;
182
- setEligibilityCriteriaUrl: (_eligibilityCriteriaUrl: string | undefined) => void;
183
- };
184
- "reporting-chart": {
185
- setReportName: (_reportName: ReportName) => void;
186
- setIntervalStart: (_intervalStart: Date | undefined) => void;
187
- setIntervalEnd: (_intervalEnd: Date | undefined) => void;
188
- setIntervalType: (_intervalType: IntervalType | undefined) => void;
189
- };
190
148
  "tax-settings": {
191
149
  setHideProductTaxCodeSelector: (_hidden: boolean | undefined) => void;
192
150
  setDisplayHeadOfficeCountries: (_countries: string[] | undefined) => void;
@@ -200,16 +158,8 @@ export declare const ConnectElementCustomMethodConfig: {
200
158
  }) => void) | undefined) => void;
201
159
  setDisplayCountries: (_countries: string[] | undefined) => void;
202
160
  };
203
- "tax-threshold-monitoring": {
204
- setDisplayCountries: (_countries: string[] | undefined) => void;
205
- };
206
- "product-tax-code-selector": {
207
- setOnTaxCodeSelect: (_listener: (({ taxCode }: {
208
- taxCode: string;
209
- }) => void) | undefined) => void;
210
- setHideDescription: (_hideDescription: boolean | undefined) => void;
211
- setDisabled: (_disabled: boolean | undefined) => void;
212
- setInitialTaxCode: (_initialTaxCode: string | undefined) => void;
161
+ "payout-details": {
162
+ setPayout: (_payout: string | undefined) => void;
163
+ setOnClose: (_listener: (() => void) | undefined) => void;
213
164
  };
214
- "export-tax-transactions": {};
215
165
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stripe/connect-js",
3
- "version": "3.3.30-preview-1",
3
+ "version": "3.3.30",
4
4
  "description": "Connect.js loading utility package",
5
5
  "main": "dist/connect.js",
6
6
  "module": "dist/connect.esm.js",
@@ -11,6 +11,7 @@
11
11
  "test:unit": "jest",
12
12
  "test:types": "zx ./tests/types/scripts/test.mjs",
13
13
  "lint": "eslint '{src,types}/**/*.{ts,js}' && yarn prettier-check",
14
+ "lint-fix": "eslint '{src,types}/**/*.{ts,js}' --fix && yarn prettier-check",
14
15
  "typecheck": "tsc --noEmit",
15
16
  "build": "yarn clean && rollup -c",
16
17
  "validate-change": "yarn run test",
@@ -45,21 +46,24 @@
45
46
  "@rollup/plugin-json": "^6.0.0",
46
47
  "@rollup/plugin-replace": "^2.3.1",
47
48
  "@types/jest": "^24.0.25",
48
- "@typescript-eslint/eslint-plugin": "^4.15.2",
49
- "@typescript-eslint/parser": "^4.15.2",
49
+ "@typescript-eslint/eslint-plugin": "^7",
50
+ "@typescript-eslint/parser": "^7",
51
+ "@typescript-eslint/rule-tester": "^7",
52
+ "@typescript-eslint/scope-manager": "^7",
53
+ "@typescript-eslint/utils": "^7",
50
54
  "babel-eslint": "^10.0.3",
51
55
  "babel-jest": "^24.9.0",
52
56
  "conditional-type-checks": "^1.0.5",
53
- "eslint": "^6.8.0",
54
- "eslint-config-prettier": "^6.8.0",
55
- "eslint-plugin-import": "^2.18.2",
56
- "eslint-plugin-jest": "^22.6.3",
57
- "eslint-plugin-prettier": "^3.1.1",
57
+ "eslint": "8.56.0",
58
+ "eslint-config-prettier": "^8.3.0",
59
+ "eslint-plugin-import": "^2.20.1",
60
+ "eslint-plugin-jest": "^26.6.0",
61
+ "eslint-plugin-prettier": "^4.2.1",
58
62
  "jest": "^29.5.0",
59
63
  "jest-environment-jsdom": "^29.5.0",
60
- "prettier": "^1.19.1",
64
+ "prettier": "2.8.8",
61
65
  "rimraf": "^2.6.2",
62
- "rollup": "^1.29.0",
66
+ "rollup": "^2.79.2",
63
67
  "rollup-plugin-babel": "^4.4.0",
64
68
  "rollup-plugin-typescript2": "^0.25.3",
65
69
  "ts-jest": "^29.1.0",
package/src/index.ts CHANGED
@@ -1,9 +1,6 @@
1
- import { IStripeConnectInitParams, StripeConnectInstance } from "../types";
2
- import {
3
- loadScript,
4
- initStripeConnect,
5
- LoadConnectAndInitialize
6
- } from "./shared";
1
+ import type { IStripeConnectInitParams, StripeConnectInstance } from "../types";
2
+ import type { LoadConnectAndInitialize } from "./shared";
3
+ import { loadScript, initStripeConnect } from "./shared";
7
4
 
8
5
  // Execute our own script injection after a tick to give users time to do their
9
6
  // own script injection.