@stripe/connect-js 3.3.28-preview-1 → 3.3.28
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 +3 -3
- package/dist/connect.esm.js +43 -84
- package/dist/connect.js +43 -84
- package/dist/pure.esm.js +35 -76
- package/dist/pure.js +35 -76
- package/dist/src/index.d.ts +1 -1
- package/dist/src/pure.d.ts +1 -1
- package/dist/src/shared.d.ts +3 -2
- package/dist/types/config.d.ts +19 -67
- package/package.json +14 -10
- package/src/index.ts +3 -6
- package/src/pure.test.ts +2 -2
- package/src/pure.ts +3 -6
- package/src/shared.ts +53 -59
- package/types/checks.ts +2 -2
- package/types/config.ts +32 -111
- package/types/index.d.ts +1 -1
- package/types/shared.d.ts +12 -19
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ const fetchClientSecret = async () => {
|
|
|
36
36
|
|
|
37
37
|
const instance = loadConnectAndInitialize({
|
|
38
38
|
publishableKey: "{{pk test123}}",
|
|
39
|
-
fetchClientSecret: fetchClientSecret
|
|
39
|
+
fetchClientSecret: fetchClientSecret,
|
|
40
40
|
});
|
|
41
41
|
```
|
|
42
42
|
|
|
@@ -47,7 +47,7 @@ test this code through your Connect account.
|
|
|
47
47
|
If you have deployed a
|
|
48
48
|
[Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP),
|
|
49
49
|
make sure to
|
|
50
|
-
[include Connect.js in your directives](https://stripe.com/docs/
|
|
50
|
+
[include Connect.js in your directives](https://stripe.com/docs/connect/get-started-connect-embedded-components?platform=web#csp-and-http-header-requirements).
|
|
51
51
|
|
|
52
52
|
### Import as a side effect
|
|
53
53
|
|
|
@@ -71,6 +71,6 @@ import { loadConnectAndInitialize } from "@stripe/connect-js/pure";
|
|
|
71
71
|
// Connect.js will not be loaded until `loadConnect` is called
|
|
72
72
|
const instance = loadConnectAndInitialize({
|
|
73
73
|
publishableKey: "{{pk test123}}",
|
|
74
|
-
fetchClientSecret: fetchClientSecret
|
|
74
|
+
fetchClientSecret: fetchClientSecret,
|
|
75
75
|
});
|
|
76
76
|
```
|
package/dist/connect.esm.js
CHANGED
|
@@ -5,13 +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
8
|
"account-onboarding": {
|
|
16
9
|
setFullTermsOfServiceUrl: _termOfServiceUrl => {},
|
|
17
10
|
setRecipientTermsOfServiceUrl: _recipientTermsOfServiceUrl => {},
|
|
@@ -28,6 +21,10 @@ const ConnectElementCustomMethodConfig = {
|
|
|
28
21
|
setCollectionOptions: _collectionOptions => {},
|
|
29
22
|
setOnNotificationsChange: _listener => {}
|
|
30
23
|
},
|
|
24
|
+
"instant-payouts-promotion": {
|
|
25
|
+
setOnInstantPayoutsPromotionLoaded: _listener => {},
|
|
26
|
+
setOnInstantPayoutCreated: _listener => {}
|
|
27
|
+
},
|
|
31
28
|
"issuing-card": {
|
|
32
29
|
setDefaultCard: _defaultCard => {},
|
|
33
30
|
setCardSwitching: _cardSwitching => {},
|
|
@@ -45,46 +42,16 @@ const ConnectElementCustomMethodConfig = {
|
|
|
45
42
|
"financial-account-transactions": {
|
|
46
43
|
setFinancialAccount: _financialAccount => {}
|
|
47
44
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
"app-install": {
|
|
52
|
-
setApp: _app => {},
|
|
53
|
-
setOnAppInstallStateFetched: _listener => {},
|
|
54
|
-
setOnAppInstallStateChanged: _listener => {}
|
|
55
|
-
},
|
|
56
|
-
"app-viewport": {
|
|
57
|
-
setApp: _app => {},
|
|
58
|
-
setAppData: _appData => {}
|
|
59
|
-
},
|
|
60
|
-
"payment-method-settings": {
|
|
61
|
-
setPaymentMethodConfiguration: _paymentMethodConfiguration => {}
|
|
62
|
-
},
|
|
63
|
-
"capital-financing": {
|
|
64
|
-
setDefaultFinancingOffer: _defaultFinancingOffer => {},
|
|
65
|
-
setShowFinancingSelector: _showFinancingSelector => {},
|
|
66
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
|
|
67
|
-
setSupportUrl: _supportUrl => {},
|
|
68
|
-
setOnFinancingsLoaded: _listener => {}
|
|
69
|
-
},
|
|
70
|
-
"capital-financing-application": {
|
|
71
|
-
setOnApplicationSubmitted: _listener => {},
|
|
72
|
-
setPrivacyPolicyUrl: _privacyPolicyUrl => {},
|
|
73
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {}
|
|
45
|
+
payments: {
|
|
46
|
+
setDefaultFilters: _filters => {}
|
|
74
47
|
},
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
setOnEligibleFinancingOfferLoaded: _listener => {},
|
|
79
|
-
setPrivacyPolicyUrl: _privacyPolicyUrl => {},
|
|
80
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
|
|
81
|
-
setEligibilityCriteriaUrl: _eligibilityCriteriaUrl => {}
|
|
48
|
+
"payment-details": {
|
|
49
|
+
setPayment: _payment => {},
|
|
50
|
+
setOnClose: _listener => {}
|
|
82
51
|
},
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
setIntervalEnd: _intervalEnd => {},
|
|
87
|
-
setIntervalType: _intervalType => {}
|
|
52
|
+
"payment-disputes": {
|
|
53
|
+
setPayment: _payment => {},
|
|
54
|
+
setOnDisputesLoaded: _listener => {}
|
|
88
55
|
},
|
|
89
56
|
"tax-settings": {
|
|
90
57
|
setHideProductTaxCodeSelector: _hidden => {},
|
|
@@ -95,51 +62,38 @@ const ConnectElementCustomMethodConfig = {
|
|
|
95
62
|
setOnAfterTaxRegistrationAdded: _listener => {},
|
|
96
63
|
setDisplayCountries: _countries => {}
|
|
97
64
|
},
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
"product-tax-code-selector": {
|
|
102
|
-
setOnTaxCodeSelect: _listener => {},
|
|
103
|
-
setHideDescription: _hideDescription => {},
|
|
104
|
-
setDisabled: _disabled => {},
|
|
105
|
-
setInitialTaxCode: _initialTaxCode => {}
|
|
65
|
+
"payout-details": {
|
|
66
|
+
setPayout: _payout => {},
|
|
67
|
+
setOnClose: _listener => {}
|
|
106
68
|
}
|
|
107
69
|
};
|
|
108
70
|
|
|
109
71
|
const componentNameMapping = {
|
|
72
|
+
"account-onboarding": "stripe-connect-account-onboarding",
|
|
73
|
+
"disputes-list": "stripe-connect-disputes-list",
|
|
110
74
|
payments: "stripe-connect-payments",
|
|
111
|
-
payouts: "stripe-connect-payouts",
|
|
112
75
|
"payment-details": "stripe-connect-payment-details",
|
|
113
|
-
"
|
|
114
|
-
|
|
76
|
+
"payment-disputes": "stripe-connect-payment-disputes",
|
|
77
|
+
payouts: "stripe-connect-payouts",
|
|
78
|
+
"payouts-list": "stripe-connect-payouts-list",
|
|
79
|
+
"payout-details": "stripe-connect-payout-details",
|
|
80
|
+
balances: "stripe-connect-balances",
|
|
115
81
|
"account-management": "stripe-connect-account-management",
|
|
116
82
|
"notification-banner": "stripe-connect-notification-banner",
|
|
117
|
-
"instant-payouts": "stripe-connect-instant-payouts",
|
|
83
|
+
"instant-payouts-promotion": "stripe-connect-instant-payouts-promotion",
|
|
118
84
|
"issuing-card": "stripe-connect-issuing-card",
|
|
119
85
|
"issuing-cards-list": "stripe-connect-issuing-cards-list",
|
|
120
86
|
"financial-account": "stripe-connect-financial-account",
|
|
121
|
-
recipients: "stripe-connect-recipients",
|
|
122
87
|
"financial-account-transactions": "stripe-connect-financial-account-transactions",
|
|
123
|
-
"capital-financing": "stripe-connect-capital-financing",
|
|
124
|
-
"capital-financing-application": "stripe-connect-capital-financing-application",
|
|
125
|
-
"capital-financing-promotion": "stripe-connect-capital-financing-promotion",
|
|
126
|
-
"capital-overview": "stripe-connect-capital-overview",
|
|
127
88
|
documents: "stripe-connect-documents",
|
|
128
|
-
"product-tax-code-selector": "stripe-connect-product-tax-code-selector",
|
|
129
89
|
"tax-registrations": "stripe-connect-tax-registrations",
|
|
130
|
-
"tax-settings": "stripe-connect-tax-settings"
|
|
131
|
-
"tax-threshold-monitoring": "stripe-connect-tax-threshold-monitoring",
|
|
132
|
-
balances: "stripe-connect-balances",
|
|
133
|
-
"payouts-list": "stripe-connect-payouts-list",
|
|
134
|
-
"app-install": "stripe-connect-app-install",
|
|
135
|
-
"app-viewport": "stripe-connect-app-viewport",
|
|
136
|
-
"reporting-chart": "stripe-connect-reporting-chart"
|
|
90
|
+
"tax-settings": "stripe-connect-tax-settings"
|
|
137
91
|
};
|
|
138
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";
|
|
139
93
|
const V0_URL = "https://connect-js.stripe.com/v0.1/connect.js";
|
|
140
94
|
const V1_URL = "https://connect-js.stripe.com/v1.0/connect.js";
|
|
141
95
|
const findScript = () => {
|
|
142
|
-
return document.querySelectorAll(`script[src="${
|
|
96
|
+
return document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || null;
|
|
143
97
|
};
|
|
144
98
|
const injectScript = () => {
|
|
145
99
|
const script = document.createElement("script");
|
|
@@ -151,21 +105,26 @@ const injectScript = () => {
|
|
|
151
105
|
document.head.appendChild(script);
|
|
152
106
|
return script;
|
|
153
107
|
};
|
|
154
|
-
let stripePromise = null;
|
|
108
|
+
let stripePromise$1 = 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
|
+
};
|
|
155
116
|
const loadScript = () => {
|
|
156
117
|
// Ensure that we only attempt to load Connect.js at most once
|
|
157
|
-
if (stripePromise !== null) {
|
|
158
|
-
return stripePromise;
|
|
118
|
+
if (stripePromise$1 !== null) {
|
|
119
|
+
return stripePromise$1;
|
|
159
120
|
}
|
|
160
|
-
stripePromise = new Promise((resolve, reject) => {
|
|
121
|
+
stripePromise$1 = new Promise((resolve, reject) => {
|
|
161
122
|
if (typeof window === "undefined") {
|
|
162
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.");
|
|
163
124
|
return;
|
|
164
125
|
}
|
|
165
|
-
if (window.StripeConnect) {
|
|
126
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
166
127
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
167
|
-
}
|
|
168
|
-
if (window.StripeConnect) {
|
|
169
128
|
const wrapper = createWrapper(window.StripeConnect);
|
|
170
129
|
resolve(wrapper);
|
|
171
130
|
return;
|
|
@@ -178,7 +137,7 @@ const loadScript = () => {
|
|
|
178
137
|
script = injectScript();
|
|
179
138
|
}
|
|
180
139
|
script.addEventListener("load", () => {
|
|
181
|
-
if (window.StripeConnect) {
|
|
140
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
182
141
|
const wrapper = createWrapper(window.StripeConnect);
|
|
183
142
|
resolve(wrapper);
|
|
184
143
|
} else {
|
|
@@ -192,7 +151,7 @@ const loadScript = () => {
|
|
|
192
151
|
reject(error);
|
|
193
152
|
}
|
|
194
153
|
});
|
|
195
|
-
return stripePromise;
|
|
154
|
+
return stripePromise$1;
|
|
196
155
|
};
|
|
197
156
|
const hasCustomMethod = tagName => {
|
|
198
157
|
return tagName in ConnectElementCustomMethodConfig;
|
|
@@ -276,7 +235,7 @@ const createWrapper = stripeConnect => {
|
|
|
276
235
|
sdk: true,
|
|
277
236
|
sdkOptions: {
|
|
278
237
|
// This will be replaced by the npm package version when bundling
|
|
279
|
-
sdkVersion: "3.3.28
|
|
238
|
+
sdkVersion: "3.3.28"
|
|
280
239
|
}
|
|
281
240
|
})
|
|
282
241
|
}));
|
|
@@ -288,16 +247,16 @@ const createWrapper = stripeConnect => {
|
|
|
288
247
|
|
|
289
248
|
// Execute our own script injection after a tick to give users time to do their
|
|
290
249
|
// own script injection.
|
|
291
|
-
const stripePromise
|
|
250
|
+
const stripePromise = Promise.resolve().then(() => loadScript());
|
|
292
251
|
let loadCalled = false;
|
|
293
|
-
stripePromise
|
|
252
|
+
stripePromise.catch(err => {
|
|
294
253
|
if (!loadCalled) {
|
|
295
254
|
console.warn(err);
|
|
296
255
|
}
|
|
297
256
|
});
|
|
298
257
|
const loadConnectAndInitialize = initParams => {
|
|
299
258
|
loadCalled = true;
|
|
300
|
-
return initStripeConnect(stripePromise
|
|
259
|
+
return initStripeConnect(stripePromise, initParams);
|
|
301
260
|
};
|
|
302
261
|
|
|
303
262
|
export { loadConnectAndInitialize };
|
package/dist/connect.js
CHANGED
|
@@ -9,13 +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
12
|
"account-onboarding": {
|
|
20
13
|
setFullTermsOfServiceUrl: _termOfServiceUrl => {},
|
|
21
14
|
setRecipientTermsOfServiceUrl: _recipientTermsOfServiceUrl => {},
|
|
@@ -32,6 +25,10 @@ const ConnectElementCustomMethodConfig = {
|
|
|
32
25
|
setCollectionOptions: _collectionOptions => {},
|
|
33
26
|
setOnNotificationsChange: _listener => {}
|
|
34
27
|
},
|
|
28
|
+
"instant-payouts-promotion": {
|
|
29
|
+
setOnInstantPayoutsPromotionLoaded: _listener => {},
|
|
30
|
+
setOnInstantPayoutCreated: _listener => {}
|
|
31
|
+
},
|
|
35
32
|
"issuing-card": {
|
|
36
33
|
setDefaultCard: _defaultCard => {},
|
|
37
34
|
setCardSwitching: _cardSwitching => {},
|
|
@@ -49,46 +46,16 @@ const ConnectElementCustomMethodConfig = {
|
|
|
49
46
|
"financial-account-transactions": {
|
|
50
47
|
setFinancialAccount: _financialAccount => {}
|
|
51
48
|
},
|
|
52
|
-
|
|
53
|
-
|
|
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 => {}
|
|
49
|
+
payments: {
|
|
50
|
+
setDefaultFilters: _filters => {}
|
|
78
51
|
},
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
setOnEligibleFinancingOfferLoaded: _listener => {},
|
|
83
|
-
setPrivacyPolicyUrl: _privacyPolicyUrl => {},
|
|
84
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
|
|
85
|
-
setEligibilityCriteriaUrl: _eligibilityCriteriaUrl => {}
|
|
52
|
+
"payment-details": {
|
|
53
|
+
setPayment: _payment => {},
|
|
54
|
+
setOnClose: _listener => {}
|
|
86
55
|
},
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
setIntervalEnd: _intervalEnd => {},
|
|
91
|
-
setIntervalType: _intervalType => {}
|
|
56
|
+
"payment-disputes": {
|
|
57
|
+
setPayment: _payment => {},
|
|
58
|
+
setOnDisputesLoaded: _listener => {}
|
|
92
59
|
},
|
|
93
60
|
"tax-settings": {
|
|
94
61
|
setHideProductTaxCodeSelector: _hidden => {},
|
|
@@ -99,51 +66,38 @@ const ConnectElementCustomMethodConfig = {
|
|
|
99
66
|
setOnAfterTaxRegistrationAdded: _listener => {},
|
|
100
67
|
setDisplayCountries: _countries => {}
|
|
101
68
|
},
|
|
102
|
-
"
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
"product-tax-code-selector": {
|
|
106
|
-
setOnTaxCodeSelect: _listener => {},
|
|
107
|
-
setHideDescription: _hideDescription => {},
|
|
108
|
-
setDisabled: _disabled => {},
|
|
109
|
-
setInitialTaxCode: _initialTaxCode => {}
|
|
69
|
+
"payout-details": {
|
|
70
|
+
setPayout: _payout => {},
|
|
71
|
+
setOnClose: _listener => {}
|
|
110
72
|
}
|
|
111
73
|
};
|
|
112
74
|
|
|
113
75
|
const componentNameMapping = {
|
|
76
|
+
"account-onboarding": "stripe-connect-account-onboarding",
|
|
77
|
+
"disputes-list": "stripe-connect-disputes-list",
|
|
114
78
|
payments: "stripe-connect-payments",
|
|
115
|
-
payouts: "stripe-connect-payouts",
|
|
116
79
|
"payment-details": "stripe-connect-payment-details",
|
|
117
|
-
"
|
|
118
|
-
|
|
80
|
+
"payment-disputes": "stripe-connect-payment-disputes",
|
|
81
|
+
payouts: "stripe-connect-payouts",
|
|
82
|
+
"payouts-list": "stripe-connect-payouts-list",
|
|
83
|
+
"payout-details": "stripe-connect-payout-details",
|
|
84
|
+
balances: "stripe-connect-balances",
|
|
119
85
|
"account-management": "stripe-connect-account-management",
|
|
120
86
|
"notification-banner": "stripe-connect-notification-banner",
|
|
121
|
-
"instant-payouts": "stripe-connect-instant-payouts",
|
|
87
|
+
"instant-payouts-promotion": "stripe-connect-instant-payouts-promotion",
|
|
122
88
|
"issuing-card": "stripe-connect-issuing-card",
|
|
123
89
|
"issuing-cards-list": "stripe-connect-issuing-cards-list",
|
|
124
90
|
"financial-account": "stripe-connect-financial-account",
|
|
125
|
-
recipients: "stripe-connect-recipients",
|
|
126
91
|
"financial-account-transactions": "stripe-connect-financial-account-transactions",
|
|
127
|
-
"capital-financing": "stripe-connect-capital-financing",
|
|
128
|
-
"capital-financing-application": "stripe-connect-capital-financing-application",
|
|
129
|
-
"capital-financing-promotion": "stripe-connect-capital-financing-promotion",
|
|
130
|
-
"capital-overview": "stripe-connect-capital-overview",
|
|
131
92
|
documents: "stripe-connect-documents",
|
|
132
|
-
"product-tax-code-selector": "stripe-connect-product-tax-code-selector",
|
|
133
93
|
"tax-registrations": "stripe-connect-tax-registrations",
|
|
134
|
-
"tax-settings": "stripe-connect-tax-settings"
|
|
135
|
-
"tax-threshold-monitoring": "stripe-connect-tax-threshold-monitoring",
|
|
136
|
-
balances: "stripe-connect-balances",
|
|
137
|
-
"payouts-list": "stripe-connect-payouts-list",
|
|
138
|
-
"app-install": "stripe-connect-app-install",
|
|
139
|
-
"app-viewport": "stripe-connect-app-viewport",
|
|
140
|
-
"reporting-chart": "stripe-connect-reporting-chart"
|
|
94
|
+
"tax-settings": "stripe-connect-tax-settings"
|
|
141
95
|
};
|
|
142
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";
|
|
143
97
|
const V0_URL = "https://connect-js.stripe.com/v0.1/connect.js";
|
|
144
98
|
const V1_URL = "https://connect-js.stripe.com/v1.0/connect.js";
|
|
145
99
|
const findScript = () => {
|
|
146
|
-
return document.querySelectorAll(`script[src="${
|
|
100
|
+
return document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || null;
|
|
147
101
|
};
|
|
148
102
|
const injectScript = () => {
|
|
149
103
|
const script = document.createElement("script");
|
|
@@ -155,21 +109,26 @@ const injectScript = () => {
|
|
|
155
109
|
document.head.appendChild(script);
|
|
156
110
|
return script;
|
|
157
111
|
};
|
|
158
|
-
let stripePromise = null;
|
|
112
|
+
let stripePromise$1 = 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
|
+
};
|
|
159
120
|
const loadScript = () => {
|
|
160
121
|
// Ensure that we only attempt to load Connect.js at most once
|
|
161
|
-
if (stripePromise !== null) {
|
|
162
|
-
return stripePromise;
|
|
122
|
+
if (stripePromise$1 !== null) {
|
|
123
|
+
return stripePromise$1;
|
|
163
124
|
}
|
|
164
|
-
stripePromise = new Promise((resolve, reject) => {
|
|
125
|
+
stripePromise$1 = new Promise((resolve, reject) => {
|
|
165
126
|
if (typeof window === "undefined") {
|
|
166
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.");
|
|
167
128
|
return;
|
|
168
129
|
}
|
|
169
|
-
if (window.StripeConnect) {
|
|
130
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
170
131
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
171
|
-
}
|
|
172
|
-
if (window.StripeConnect) {
|
|
173
132
|
const wrapper = createWrapper(window.StripeConnect);
|
|
174
133
|
resolve(wrapper);
|
|
175
134
|
return;
|
|
@@ -182,7 +141,7 @@ const loadScript = () => {
|
|
|
182
141
|
script = injectScript();
|
|
183
142
|
}
|
|
184
143
|
script.addEventListener("load", () => {
|
|
185
|
-
if (window.StripeConnect) {
|
|
144
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
186
145
|
const wrapper = createWrapper(window.StripeConnect);
|
|
187
146
|
resolve(wrapper);
|
|
188
147
|
} else {
|
|
@@ -196,7 +155,7 @@ const loadScript = () => {
|
|
|
196
155
|
reject(error);
|
|
197
156
|
}
|
|
198
157
|
});
|
|
199
|
-
return stripePromise;
|
|
158
|
+
return stripePromise$1;
|
|
200
159
|
};
|
|
201
160
|
const hasCustomMethod = tagName => {
|
|
202
161
|
return tagName in ConnectElementCustomMethodConfig;
|
|
@@ -280,7 +239,7 @@ const createWrapper = stripeConnect => {
|
|
|
280
239
|
sdk: true,
|
|
281
240
|
sdkOptions: {
|
|
282
241
|
// This will be replaced by the npm package version when bundling
|
|
283
|
-
sdkVersion: "3.3.28
|
|
242
|
+
sdkVersion: "3.3.28"
|
|
284
243
|
}
|
|
285
244
|
})
|
|
286
245
|
}));
|
|
@@ -292,16 +251,16 @@ const createWrapper = stripeConnect => {
|
|
|
292
251
|
|
|
293
252
|
// Execute our own script injection after a tick to give users time to do their
|
|
294
253
|
// own script injection.
|
|
295
|
-
const stripePromise
|
|
254
|
+
const stripePromise = Promise.resolve().then(() => loadScript());
|
|
296
255
|
let loadCalled = false;
|
|
297
|
-
stripePromise
|
|
256
|
+
stripePromise.catch(err => {
|
|
298
257
|
if (!loadCalled) {
|
|
299
258
|
console.warn(err);
|
|
300
259
|
}
|
|
301
260
|
});
|
|
302
261
|
const loadConnectAndInitialize = initParams => {
|
|
303
262
|
loadCalled = true;
|
|
304
|
-
return initStripeConnect(stripePromise
|
|
263
|
+
return initStripeConnect(stripePromise, initParams);
|
|
305
264
|
};
|
|
306
265
|
|
|
307
266
|
exports.loadConnectAndInitialize = loadConnectAndInitialize;
|
package/dist/pure.esm.js
CHANGED
|
@@ -5,13 +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
8
|
"account-onboarding": {
|
|
16
9
|
setFullTermsOfServiceUrl: _termOfServiceUrl => {},
|
|
17
10
|
setRecipientTermsOfServiceUrl: _recipientTermsOfServiceUrl => {},
|
|
@@ -28,6 +21,10 @@ const ConnectElementCustomMethodConfig = {
|
|
|
28
21
|
setCollectionOptions: _collectionOptions => {},
|
|
29
22
|
setOnNotificationsChange: _listener => {}
|
|
30
23
|
},
|
|
24
|
+
"instant-payouts-promotion": {
|
|
25
|
+
setOnInstantPayoutsPromotionLoaded: _listener => {},
|
|
26
|
+
setOnInstantPayoutCreated: _listener => {}
|
|
27
|
+
},
|
|
31
28
|
"issuing-card": {
|
|
32
29
|
setDefaultCard: _defaultCard => {},
|
|
33
30
|
setCardSwitching: _cardSwitching => {},
|
|
@@ -45,46 +42,16 @@ const ConnectElementCustomMethodConfig = {
|
|
|
45
42
|
"financial-account-transactions": {
|
|
46
43
|
setFinancialAccount: _financialAccount => {}
|
|
47
44
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
"app-install": {
|
|
52
|
-
setApp: _app => {},
|
|
53
|
-
setOnAppInstallStateFetched: _listener => {},
|
|
54
|
-
setOnAppInstallStateChanged: _listener => {}
|
|
55
|
-
},
|
|
56
|
-
"app-viewport": {
|
|
57
|
-
setApp: _app => {},
|
|
58
|
-
setAppData: _appData => {}
|
|
59
|
-
},
|
|
60
|
-
"payment-method-settings": {
|
|
61
|
-
setPaymentMethodConfiguration: _paymentMethodConfiguration => {}
|
|
62
|
-
},
|
|
63
|
-
"capital-financing": {
|
|
64
|
-
setDefaultFinancingOffer: _defaultFinancingOffer => {},
|
|
65
|
-
setShowFinancingSelector: _showFinancingSelector => {},
|
|
66
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
|
|
67
|
-
setSupportUrl: _supportUrl => {},
|
|
68
|
-
setOnFinancingsLoaded: _listener => {}
|
|
69
|
-
},
|
|
70
|
-
"capital-financing-application": {
|
|
71
|
-
setOnApplicationSubmitted: _listener => {},
|
|
72
|
-
setPrivacyPolicyUrl: _privacyPolicyUrl => {},
|
|
73
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {}
|
|
45
|
+
payments: {
|
|
46
|
+
setDefaultFilters: _filters => {}
|
|
74
47
|
},
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
setOnEligibleFinancingOfferLoaded: _listener => {},
|
|
79
|
-
setPrivacyPolicyUrl: _privacyPolicyUrl => {},
|
|
80
|
-
setHowCapitalWorksUrl: _howCapitalWorksUrl => {},
|
|
81
|
-
setEligibilityCriteriaUrl: _eligibilityCriteriaUrl => {}
|
|
48
|
+
"payment-details": {
|
|
49
|
+
setPayment: _payment => {},
|
|
50
|
+
setOnClose: _listener => {}
|
|
82
51
|
},
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
setIntervalEnd: _intervalEnd => {},
|
|
87
|
-
setIntervalType: _intervalType => {}
|
|
52
|
+
"payment-disputes": {
|
|
53
|
+
setPayment: _payment => {},
|
|
54
|
+
setOnDisputesLoaded: _listener => {}
|
|
88
55
|
},
|
|
89
56
|
"tax-settings": {
|
|
90
57
|
setHideProductTaxCodeSelector: _hidden => {},
|
|
@@ -95,51 +62,38 @@ const ConnectElementCustomMethodConfig = {
|
|
|
95
62
|
setOnAfterTaxRegistrationAdded: _listener => {},
|
|
96
63
|
setDisplayCountries: _countries => {}
|
|
97
64
|
},
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
"product-tax-code-selector": {
|
|
102
|
-
setOnTaxCodeSelect: _listener => {},
|
|
103
|
-
setHideDescription: _hideDescription => {},
|
|
104
|
-
setDisabled: _disabled => {},
|
|
105
|
-
setInitialTaxCode: _initialTaxCode => {}
|
|
65
|
+
"payout-details": {
|
|
66
|
+
setPayout: _payout => {},
|
|
67
|
+
setOnClose: _listener => {}
|
|
106
68
|
}
|
|
107
69
|
};
|
|
108
70
|
|
|
109
71
|
const componentNameMapping = {
|
|
72
|
+
"account-onboarding": "stripe-connect-account-onboarding",
|
|
73
|
+
"disputes-list": "stripe-connect-disputes-list",
|
|
110
74
|
payments: "stripe-connect-payments",
|
|
111
|
-
payouts: "stripe-connect-payouts",
|
|
112
75
|
"payment-details": "stripe-connect-payment-details",
|
|
113
|
-
"
|
|
114
|
-
|
|
76
|
+
"payment-disputes": "stripe-connect-payment-disputes",
|
|
77
|
+
payouts: "stripe-connect-payouts",
|
|
78
|
+
"payouts-list": "stripe-connect-payouts-list",
|
|
79
|
+
"payout-details": "stripe-connect-payout-details",
|
|
80
|
+
balances: "stripe-connect-balances",
|
|
115
81
|
"account-management": "stripe-connect-account-management",
|
|
116
82
|
"notification-banner": "stripe-connect-notification-banner",
|
|
117
|
-
"instant-payouts": "stripe-connect-instant-payouts",
|
|
83
|
+
"instant-payouts-promotion": "stripe-connect-instant-payouts-promotion",
|
|
118
84
|
"issuing-card": "stripe-connect-issuing-card",
|
|
119
85
|
"issuing-cards-list": "stripe-connect-issuing-cards-list",
|
|
120
86
|
"financial-account": "stripe-connect-financial-account",
|
|
121
|
-
recipients: "stripe-connect-recipients",
|
|
122
87
|
"financial-account-transactions": "stripe-connect-financial-account-transactions",
|
|
123
|
-
"capital-financing": "stripe-connect-capital-financing",
|
|
124
|
-
"capital-financing-application": "stripe-connect-capital-financing-application",
|
|
125
|
-
"capital-financing-promotion": "stripe-connect-capital-financing-promotion",
|
|
126
|
-
"capital-overview": "stripe-connect-capital-overview",
|
|
127
88
|
documents: "stripe-connect-documents",
|
|
128
|
-
"product-tax-code-selector": "stripe-connect-product-tax-code-selector",
|
|
129
89
|
"tax-registrations": "stripe-connect-tax-registrations",
|
|
130
|
-
"tax-settings": "stripe-connect-tax-settings"
|
|
131
|
-
"tax-threshold-monitoring": "stripe-connect-tax-threshold-monitoring",
|
|
132
|
-
balances: "stripe-connect-balances",
|
|
133
|
-
"payouts-list": "stripe-connect-payouts-list",
|
|
134
|
-
"app-install": "stripe-connect-app-install",
|
|
135
|
-
"app-viewport": "stripe-connect-app-viewport",
|
|
136
|
-
"reporting-chart": "stripe-connect-reporting-chart"
|
|
90
|
+
"tax-settings": "stripe-connect-tax-settings"
|
|
137
91
|
};
|
|
138
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";
|
|
139
93
|
const V0_URL = "https://connect-js.stripe.com/v0.1/connect.js";
|
|
140
94
|
const V1_URL = "https://connect-js.stripe.com/v1.0/connect.js";
|
|
141
95
|
const findScript = () => {
|
|
142
|
-
return document.querySelectorAll(`script[src="${
|
|
96
|
+
return document.querySelectorAll(`script[src="${V1_URL}"]`)[0] || document.querySelectorAll(`script[src="${V0_URL}"]`)[0] || null;
|
|
143
97
|
};
|
|
144
98
|
const injectScript = () => {
|
|
145
99
|
const script = document.createElement("script");
|
|
@@ -152,6 +106,13 @@ const injectScript = () => {
|
|
|
152
106
|
return script;
|
|
153
107
|
};
|
|
154
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
|
+
};
|
|
155
116
|
const loadScript = () => {
|
|
156
117
|
// Ensure that we only attempt to load Connect.js at most once
|
|
157
118
|
if (stripePromise !== null) {
|
|
@@ -162,10 +123,8 @@ const loadScript = () => {
|
|
|
162
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.");
|
|
163
124
|
return;
|
|
164
125
|
}
|
|
165
|
-
if (window.StripeConnect) {
|
|
126
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
166
127
|
console.warn(EXISTING_SCRIPT_MESSAGE);
|
|
167
|
-
}
|
|
168
|
-
if (window.StripeConnect) {
|
|
169
128
|
const wrapper = createWrapper(window.StripeConnect);
|
|
170
129
|
resolve(wrapper);
|
|
171
130
|
return;
|
|
@@ -178,7 +137,7 @@ const loadScript = () => {
|
|
|
178
137
|
script = injectScript();
|
|
179
138
|
}
|
|
180
139
|
script.addEventListener("load", () => {
|
|
181
|
-
if (window.StripeConnect) {
|
|
140
|
+
if (isWindowStripeConnectDefined(window.StripeConnect)) {
|
|
182
141
|
const wrapper = createWrapper(window.StripeConnect);
|
|
183
142
|
resolve(wrapper);
|
|
184
143
|
} else {
|
|
@@ -276,7 +235,7 @@ const createWrapper = stripeConnect => {
|
|
|
276
235
|
sdk: true,
|
|
277
236
|
sdkOptions: {
|
|
278
237
|
// This will be replaced by the npm package version when bundling
|
|
279
|
-
sdkVersion: "3.3.28
|
|
238
|
+
sdkVersion: "3.3.28"
|
|
280
239
|
}
|
|
281
240
|
})
|
|
282
241
|
}));
|