@metamask-previews/kyc-controller 0.0.0-preview-7cfd8be → 0.0.0-preview-a3cea003b
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/CHANGELOG.md +29 -3
- package/dist/KycController-method-action-types.cjs.map +1 -1
- package/dist/KycController-method-action-types.d.cts +48 -2
- package/dist/KycController-method-action-types.d.cts.map +1 -1
- package/dist/KycController-method-action-types.d.mts +48 -2
- package/dist/KycController-method-action-types.d.mts.map +1 -1
- package/dist/KycController-method-action-types.mjs.map +1 -1
- package/dist/KycController.cjs +469 -12
- package/dist/KycController.cjs.map +1 -1
- package/dist/KycController.d.cts +109 -5
- package/dist/KycController.d.cts.map +1 -1
- package/dist/KycController.d.mts +109 -5
- package/dist/KycController.d.mts.map +1 -1
- package/dist/KycController.mjs +469 -12
- package/dist/KycController.mjs.map +1 -1
- package/dist/KycService-method-action-types.cjs.map +1 -1
- package/dist/KycService-method-action-types.d.cts +38 -2
- package/dist/KycService-method-action-types.d.cts.map +1 -1
- package/dist/KycService-method-action-types.d.mts +38 -2
- package/dist/KycService-method-action-types.d.mts.map +1 -1
- package/dist/KycService-method-action-types.mjs.map +1 -1
- package/dist/KycService.cjs +177 -22
- package/dist/KycService.cjs.map +1 -1
- package/dist/KycService.d.cts +97 -12
- package/dist/KycService.d.cts.map +1 -1
- package/dist/KycService.d.mts +97 -12
- package/dist/KycService.d.mts.map +1 -1
- package/dist/KycService.mjs +178 -23
- package/dist/KycService.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +49 -10
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +49 -10
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
package/dist/KycController.d.cts
CHANGED
|
@@ -5,7 +5,7 @@ import type { UserStorageControllerPerformGetStorageAction, UserStorageControlle
|
|
|
5
5
|
import type { Json } from "@metamask/utils";
|
|
6
6
|
import type { KycControllerMethodActions } from "./KycController-method-action-types.cjs";
|
|
7
7
|
import type { KycServiceMethodActions } from "./KycService-method-action-types.cjs";
|
|
8
|
-
import type { KycDisclaimer, KycPhase, KycProduct, KycSessionStatus, KycSumSubLauncher, KycSumSubStatus } from "./types.cjs";
|
|
8
|
+
import type { KycCustomerIdentity, KycDisclaimer, KycPhase, KycProduct, KycSessionStatus, KycSumSubLauncher, KycSumSubStatus, KycUserStatus, KycVendor } from "./types.cjs";
|
|
9
9
|
export declare const controllerName = "KycController";
|
|
10
10
|
/**
|
|
11
11
|
* Describes the shape of the state object for {@link KycController}.
|
|
@@ -23,6 +23,26 @@ export type KycControllerState = {
|
|
|
23
23
|
termsAcceptedAt: string | null;
|
|
24
24
|
/** IDs of the disclaimers the customer accepted (persisted). */
|
|
25
25
|
acceptedDisclaimerIds: string[];
|
|
26
|
+
/**
|
|
27
|
+
* The vendor whose disclaimers `acceptedDisclaimerIds` belong to (persisted).
|
|
28
|
+
* Each vendor serves its own disclaimer set, so acceptance recorded for one
|
|
29
|
+
* vendor must not be reused for another. `null` when nothing is accepted.
|
|
30
|
+
*/
|
|
31
|
+
termsAcceptedVendor: KycVendor | null;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the customer accepted the SumSub T&C (T&C2) during the last
|
|
34
|
+
* terms acceptance (persisted). Consents-path vendors require this flag
|
|
35
|
+
* when resuming a session. `null` for acceptance recorded before this
|
|
36
|
+
* field existed (treated as requiring reacceptance).
|
|
37
|
+
*/
|
|
38
|
+
sumsubTncAccepted: boolean | null;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the customer accepted the idOS T&C (T&C2) during the last
|
|
41
|
+
* terms acceptance (persisted). Consents-path vendors require this flag
|
|
42
|
+
* when resuming a session. `null` for acceptance recorded before this
|
|
43
|
+
* field existed (treated as requiring reacceptance).
|
|
44
|
+
*/
|
|
45
|
+
idosTncAccepted: boolean | null;
|
|
26
46
|
/** Disclaimers fetched for the current country. */
|
|
27
47
|
disclaimers: KycDisclaimer[];
|
|
28
48
|
/** Error encountered while loading disclaimers, or `null`. */
|
|
@@ -35,6 +55,12 @@ export type KycControllerState = {
|
|
|
35
55
|
accessToken: string | null;
|
|
36
56
|
/** Vendor customer id, used for the SumSub hand-off. */
|
|
37
57
|
moonpayCustomerId: string | null;
|
|
58
|
+
/**
|
|
59
|
+
* The identity vendor driving the current flow. Captured at `initialize`.
|
|
60
|
+
* Defaults to `moonpay` when omitted so existing ramps/card callers keep
|
|
61
|
+
* the Check/Auth frame path. Non-MoonPay vendors skip those frames.
|
|
62
|
+
*/
|
|
63
|
+
activeVendor: KycVendor;
|
|
38
64
|
/**
|
|
39
65
|
* The product the current flow is running for. Captured at `initialize`
|
|
40
66
|
* (or `acceptTermsAndStartSession`) and used to automatically run the
|
|
@@ -47,6 +73,16 @@ export type KycControllerState = {
|
|
|
47
73
|
kycRequiredByProduct: Partial<Record<KycProduct, boolean>>;
|
|
48
74
|
/** ISO-8601 timestamp of the last KYC-required check (persisted). */
|
|
49
75
|
lastCheckedAt: string | null;
|
|
76
|
+
/**
|
|
77
|
+
* User-keyed simplified KYC status from `GET /kyc/status` (persisted so the
|
|
78
|
+
* Money toast can render across cold starts). `null` until the first
|
|
79
|
+
* successful `refreshKycStatus`.
|
|
80
|
+
*/
|
|
81
|
+
userStatus: KycUserStatus | null;
|
|
82
|
+
/** Optional SumSub session id for the retryable error path. */
|
|
83
|
+
userStatusSumsubSessionId: string | null;
|
|
84
|
+
/** Optional machine-readable error code for terminal / EDD UX. */
|
|
85
|
+
userStatusErrorCode: string | null;
|
|
50
86
|
/** SumSub document-verification sub-flow state. */
|
|
51
87
|
sumsub: {
|
|
52
88
|
status: KycSumSubStatus;
|
|
@@ -70,7 +106,20 @@ export type KycControllerGetStateAction = ControllerGetStateAction<typeof contro
|
|
|
70
106
|
export type KycControllerActions = KycControllerGetStateAction | KycControllerMethodActions;
|
|
71
107
|
type AllowedActions = KycServiceMethodActions | UserStorageControllerPerformGetStorageAction | UserStorageControllerPerformSetStorageAction;
|
|
72
108
|
export type KycControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, KycControllerState>;
|
|
73
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Published when the user-keyed simplified KYC status changes (Money toast).
|
|
111
|
+
*/
|
|
112
|
+
export type KycControllerStatusChangedEvent = {
|
|
113
|
+
type: `${typeof controllerName}:statusChanged`;
|
|
114
|
+
payload: [
|
|
115
|
+
{
|
|
116
|
+
status: KycUserStatus;
|
|
117
|
+
sumsubSessionId: string | null;
|
|
118
|
+
errorCode: string | null;
|
|
119
|
+
}
|
|
120
|
+
];
|
|
121
|
+
};
|
|
122
|
+
export type KycControllerEvents = KycControllerStateChangeEvent | KycControllerStatusChangedEvent;
|
|
74
123
|
type AllowedEvents = never;
|
|
75
124
|
export type KycControllerMessenger = Messenger<typeof controllerName, KycControllerActions | AllowedActions, KycControllerEvents | AllowedEvents>;
|
|
76
125
|
/**
|
|
@@ -90,6 +139,12 @@ export type KycControllerOptions = {
|
|
|
90
139
|
* {@link DEFAULT_SESSION_STATUS_POLL_INTERVAL_MS}.
|
|
91
140
|
*/
|
|
92
141
|
sessionStatusPollIntervalMs?: number;
|
|
142
|
+
/**
|
|
143
|
+
* How often, in milliseconds, to refresh `GET /kyc/status` while the
|
|
144
|
+
* simplified user status is `pending`. Defaults to
|
|
145
|
+
* {@link DEFAULT_USER_STATUS_POLL_INTERVAL_MS}.
|
|
146
|
+
*/
|
|
147
|
+
userStatusPollIntervalMs?: number;
|
|
93
148
|
};
|
|
94
149
|
/**
|
|
95
150
|
* `KycController` orchestrates the vendor-backed KYC / identity-verification
|
|
@@ -109,8 +164,10 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
109
164
|
* @param options.sumsubLauncher - The platform SumSub launcher adapter.
|
|
110
165
|
* @param options.sessionStatusPollIntervalMs - How often to poll the UKYC
|
|
111
166
|
* session status after the SumSub SDK completes.
|
|
167
|
+
* @param options.userStatusPollIntervalMs - How often to refresh the
|
|
168
|
+
* user-keyed KYC status while it is still `pending`.
|
|
112
169
|
*/
|
|
113
|
-
constructor({ messenger, state, sumsubLauncher, sessionStatusPollIntervalMs, }: KycControllerOptions);
|
|
170
|
+
constructor({ messenger, state, sumsubLauncher, sessionStatusPollIntervalMs, userStatusPollIntervalMs, }: KycControllerOptions);
|
|
114
171
|
/**
|
|
115
172
|
* Resolves persisted terms + geolocation, and auto-creates a session when
|
|
116
173
|
* terms are already accepted and an email is available.
|
|
@@ -122,10 +179,26 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
122
179
|
* authentication completes (and chains into document verification when KYC
|
|
123
180
|
* is required). When omitted, the flow stops at `form` and the consumer must
|
|
124
181
|
* call `checkKycRequired` manually.
|
|
182
|
+
* @param params.vendor - Identity vendor for this flow. Non-MoonPay vendors
|
|
183
|
+
* skip Check/Auth frames and use the consents path. Defaults to `moonpay`.
|
|
125
184
|
*/
|
|
126
185
|
initialize(params?: {
|
|
127
186
|
email?: string;
|
|
128
187
|
product?: KycProduct;
|
|
188
|
+
vendor?: KycVendor;
|
|
189
|
+
}): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Creates (or resumes) an empty-shell customer for the given identity
|
|
192
|
+
* vendor. Exposed so a consumer can ensure the customer exists before
|
|
193
|
+
* showing T&C screens independently of {@link initialize}.
|
|
194
|
+
*
|
|
195
|
+
* @param params - The parameters.
|
|
196
|
+
* @param params.vendor - Identity vendor for the customer.
|
|
197
|
+
* @param params.email - Email for the vendor customer.
|
|
198
|
+
*/
|
|
199
|
+
createVendorCustomer(params: {
|
|
200
|
+
vendor: KycVendor;
|
|
201
|
+
email: string;
|
|
129
202
|
}): Promise<void>;
|
|
130
203
|
/**
|
|
131
204
|
* Loads the disclaimers for the resolved (or provided) country.
|
|
@@ -140,15 +213,21 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
140
213
|
* Captures terms acceptance for the currently loaded disclaimers and creates
|
|
141
214
|
* a session.
|
|
142
215
|
*
|
|
143
|
-
* @param params -
|
|
216
|
+
* @param params - The parameters.
|
|
144
217
|
* @param params.email - The account email to associate with the session.
|
|
145
218
|
* @param params.product - The consuming feature the flow runs for. See
|
|
146
219
|
* {@link initialize} for how the product drives the automatic post
|
|
147
220
|
* authentication continuation.
|
|
221
|
+
* @param params.sumsubTncSigned - Whether Sumsub T&C were accepted (T&C2).
|
|
222
|
+
* Required for every vendor so callers explicitly declare acceptance.
|
|
223
|
+
* @param params.idosTncSigned - Whether idOS T&C were accepted (T&C2).
|
|
224
|
+
* Required for every vendor so callers explicitly declare acceptance.
|
|
148
225
|
*/
|
|
149
|
-
acceptTermsAndStartSession(params
|
|
226
|
+
acceptTermsAndStartSession(params: {
|
|
150
227
|
email?: string;
|
|
151
228
|
product?: KycProduct;
|
|
229
|
+
sumsubTncSigned: boolean;
|
|
230
|
+
idosTncSigned: boolean;
|
|
152
231
|
}): Promise<void>;
|
|
153
232
|
/**
|
|
154
233
|
* Clears the persisted terms acceptance.
|
|
@@ -209,6 +288,19 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
209
288
|
getKycStatus(params: {
|
|
210
289
|
product: KycProduct;
|
|
211
290
|
}): boolean | undefined;
|
|
291
|
+
/**
|
|
292
|
+
* Returns the vendor-scoped identity for the currently authenticated
|
|
293
|
+
* customer, or `null` when the flow has not yet captured a vendor customer
|
|
294
|
+
* id (before authentication or after {@link reset}).
|
|
295
|
+
*
|
|
296
|
+
* Exposed so consumers (e.g. ramps autoramp creation) can attach the vendor
|
|
297
|
+
* customer id to downstream calls without reading the full KYC state, which
|
|
298
|
+
* also holds session/access tokens. The id is session-scoped and never
|
|
299
|
+
* persisted.
|
|
300
|
+
*
|
|
301
|
+
* @returns The current {@link KycCustomerIdentity}, or `null`.
|
|
302
|
+
*/
|
|
303
|
+
getCustomerIdentity(): KycCustomerIdentity | null;
|
|
212
304
|
/**
|
|
213
305
|
* Runs the SumSub document-verification sub-flow end to end:
|
|
214
306
|
*
|
|
@@ -236,6 +328,18 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
236
328
|
locale?: string;
|
|
237
329
|
debug?: boolean;
|
|
238
330
|
}): Promise<Record<string, unknown>>;
|
|
331
|
+
/**
|
|
332
|
+
* Refreshes the user-keyed simplified KYC status from `GET /kyc/status`,
|
|
333
|
+
* stores it on state, publishes {@link KycControllerStatusChangedEvent}, and
|
|
334
|
+
* schedules short-interval polling while the status is `pending`.
|
|
335
|
+
*
|
|
336
|
+
* @returns The latest status payload.
|
|
337
|
+
*/
|
|
338
|
+
refreshKycStatus(): Promise<{
|
|
339
|
+
status: KycUserStatus;
|
|
340
|
+
sumsubSessionId: string | null;
|
|
341
|
+
errorCode: string | null;
|
|
342
|
+
}>;
|
|
239
343
|
/**
|
|
240
344
|
* Fetches the current UKYC session status for the active sub-flow and records
|
|
241
345
|
* it on state. Useful for a one-off refresh outside the automatic polling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KycController.d.cts","sourceRoot":"","sources":["../src/KycController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EACV,4CAA4C,EAC5C,4CAA4C,EAC7C,uDAAuD;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,gDAA+C;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,6CAA4C;
|
|
1
|
+
{"version":3,"file":"KycController.d.cts","sourceRoot":"","sources":["../src/KycController.ts"],"names":[],"mappings":"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"}
|
package/dist/KycController.d.mts
CHANGED
|
@@ -5,7 +5,7 @@ import type { UserStorageControllerPerformGetStorageAction, UserStorageControlle
|
|
|
5
5
|
import type { Json } from "@metamask/utils";
|
|
6
6
|
import type { KycControllerMethodActions } from "./KycController-method-action-types.mjs";
|
|
7
7
|
import type { KycServiceMethodActions } from "./KycService-method-action-types.mjs";
|
|
8
|
-
import type { KycDisclaimer, KycPhase, KycProduct, KycSessionStatus, KycSumSubLauncher, KycSumSubStatus } from "./types.mjs";
|
|
8
|
+
import type { KycCustomerIdentity, KycDisclaimer, KycPhase, KycProduct, KycSessionStatus, KycSumSubLauncher, KycSumSubStatus, KycUserStatus, KycVendor } from "./types.mjs";
|
|
9
9
|
export declare const controllerName = "KycController";
|
|
10
10
|
/**
|
|
11
11
|
* Describes the shape of the state object for {@link KycController}.
|
|
@@ -23,6 +23,26 @@ export type KycControllerState = {
|
|
|
23
23
|
termsAcceptedAt: string | null;
|
|
24
24
|
/** IDs of the disclaimers the customer accepted (persisted). */
|
|
25
25
|
acceptedDisclaimerIds: string[];
|
|
26
|
+
/**
|
|
27
|
+
* The vendor whose disclaimers `acceptedDisclaimerIds` belong to (persisted).
|
|
28
|
+
* Each vendor serves its own disclaimer set, so acceptance recorded for one
|
|
29
|
+
* vendor must not be reused for another. `null` when nothing is accepted.
|
|
30
|
+
*/
|
|
31
|
+
termsAcceptedVendor: KycVendor | null;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the customer accepted the SumSub T&C (T&C2) during the last
|
|
34
|
+
* terms acceptance (persisted). Consents-path vendors require this flag
|
|
35
|
+
* when resuming a session. `null` for acceptance recorded before this
|
|
36
|
+
* field existed (treated as requiring reacceptance).
|
|
37
|
+
*/
|
|
38
|
+
sumsubTncAccepted: boolean | null;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the customer accepted the idOS T&C (T&C2) during the last
|
|
41
|
+
* terms acceptance (persisted). Consents-path vendors require this flag
|
|
42
|
+
* when resuming a session. `null` for acceptance recorded before this
|
|
43
|
+
* field existed (treated as requiring reacceptance).
|
|
44
|
+
*/
|
|
45
|
+
idosTncAccepted: boolean | null;
|
|
26
46
|
/** Disclaimers fetched for the current country. */
|
|
27
47
|
disclaimers: KycDisclaimer[];
|
|
28
48
|
/** Error encountered while loading disclaimers, or `null`. */
|
|
@@ -35,6 +55,12 @@ export type KycControllerState = {
|
|
|
35
55
|
accessToken: string | null;
|
|
36
56
|
/** Vendor customer id, used for the SumSub hand-off. */
|
|
37
57
|
moonpayCustomerId: string | null;
|
|
58
|
+
/**
|
|
59
|
+
* The identity vendor driving the current flow. Captured at `initialize`.
|
|
60
|
+
* Defaults to `moonpay` when omitted so existing ramps/card callers keep
|
|
61
|
+
* the Check/Auth frame path. Non-MoonPay vendors skip those frames.
|
|
62
|
+
*/
|
|
63
|
+
activeVendor: KycVendor;
|
|
38
64
|
/**
|
|
39
65
|
* The product the current flow is running for. Captured at `initialize`
|
|
40
66
|
* (or `acceptTermsAndStartSession`) and used to automatically run the
|
|
@@ -47,6 +73,16 @@ export type KycControllerState = {
|
|
|
47
73
|
kycRequiredByProduct: Partial<Record<KycProduct, boolean>>;
|
|
48
74
|
/** ISO-8601 timestamp of the last KYC-required check (persisted). */
|
|
49
75
|
lastCheckedAt: string | null;
|
|
76
|
+
/**
|
|
77
|
+
* User-keyed simplified KYC status from `GET /kyc/status` (persisted so the
|
|
78
|
+
* Money toast can render across cold starts). `null` until the first
|
|
79
|
+
* successful `refreshKycStatus`.
|
|
80
|
+
*/
|
|
81
|
+
userStatus: KycUserStatus | null;
|
|
82
|
+
/** Optional SumSub session id for the retryable error path. */
|
|
83
|
+
userStatusSumsubSessionId: string | null;
|
|
84
|
+
/** Optional machine-readable error code for terminal / EDD UX. */
|
|
85
|
+
userStatusErrorCode: string | null;
|
|
50
86
|
/** SumSub document-verification sub-flow state. */
|
|
51
87
|
sumsub: {
|
|
52
88
|
status: KycSumSubStatus;
|
|
@@ -70,7 +106,20 @@ export type KycControllerGetStateAction = ControllerGetStateAction<typeof contro
|
|
|
70
106
|
export type KycControllerActions = KycControllerGetStateAction | KycControllerMethodActions;
|
|
71
107
|
type AllowedActions = KycServiceMethodActions | UserStorageControllerPerformGetStorageAction | UserStorageControllerPerformSetStorageAction;
|
|
72
108
|
export type KycControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, KycControllerState>;
|
|
73
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Published when the user-keyed simplified KYC status changes (Money toast).
|
|
111
|
+
*/
|
|
112
|
+
export type KycControllerStatusChangedEvent = {
|
|
113
|
+
type: `${typeof controllerName}:statusChanged`;
|
|
114
|
+
payload: [
|
|
115
|
+
{
|
|
116
|
+
status: KycUserStatus;
|
|
117
|
+
sumsubSessionId: string | null;
|
|
118
|
+
errorCode: string | null;
|
|
119
|
+
}
|
|
120
|
+
];
|
|
121
|
+
};
|
|
122
|
+
export type KycControllerEvents = KycControllerStateChangeEvent | KycControllerStatusChangedEvent;
|
|
74
123
|
type AllowedEvents = never;
|
|
75
124
|
export type KycControllerMessenger = Messenger<typeof controllerName, KycControllerActions | AllowedActions, KycControllerEvents | AllowedEvents>;
|
|
76
125
|
/**
|
|
@@ -90,6 +139,12 @@ export type KycControllerOptions = {
|
|
|
90
139
|
* {@link DEFAULT_SESSION_STATUS_POLL_INTERVAL_MS}.
|
|
91
140
|
*/
|
|
92
141
|
sessionStatusPollIntervalMs?: number;
|
|
142
|
+
/**
|
|
143
|
+
* How often, in milliseconds, to refresh `GET /kyc/status` while the
|
|
144
|
+
* simplified user status is `pending`. Defaults to
|
|
145
|
+
* {@link DEFAULT_USER_STATUS_POLL_INTERVAL_MS}.
|
|
146
|
+
*/
|
|
147
|
+
userStatusPollIntervalMs?: number;
|
|
93
148
|
};
|
|
94
149
|
/**
|
|
95
150
|
* `KycController` orchestrates the vendor-backed KYC / identity-verification
|
|
@@ -109,8 +164,10 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
109
164
|
* @param options.sumsubLauncher - The platform SumSub launcher adapter.
|
|
110
165
|
* @param options.sessionStatusPollIntervalMs - How often to poll the UKYC
|
|
111
166
|
* session status after the SumSub SDK completes.
|
|
167
|
+
* @param options.userStatusPollIntervalMs - How often to refresh the
|
|
168
|
+
* user-keyed KYC status while it is still `pending`.
|
|
112
169
|
*/
|
|
113
|
-
constructor({ messenger, state, sumsubLauncher, sessionStatusPollIntervalMs, }: KycControllerOptions);
|
|
170
|
+
constructor({ messenger, state, sumsubLauncher, sessionStatusPollIntervalMs, userStatusPollIntervalMs, }: KycControllerOptions);
|
|
114
171
|
/**
|
|
115
172
|
* Resolves persisted terms + geolocation, and auto-creates a session when
|
|
116
173
|
* terms are already accepted and an email is available.
|
|
@@ -122,10 +179,26 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
122
179
|
* authentication completes (and chains into document verification when KYC
|
|
123
180
|
* is required). When omitted, the flow stops at `form` and the consumer must
|
|
124
181
|
* call `checkKycRequired` manually.
|
|
182
|
+
* @param params.vendor - Identity vendor for this flow. Non-MoonPay vendors
|
|
183
|
+
* skip Check/Auth frames and use the consents path. Defaults to `moonpay`.
|
|
125
184
|
*/
|
|
126
185
|
initialize(params?: {
|
|
127
186
|
email?: string;
|
|
128
187
|
product?: KycProduct;
|
|
188
|
+
vendor?: KycVendor;
|
|
189
|
+
}): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Creates (or resumes) an empty-shell customer for the given identity
|
|
192
|
+
* vendor. Exposed so a consumer can ensure the customer exists before
|
|
193
|
+
* showing T&C screens independently of {@link initialize}.
|
|
194
|
+
*
|
|
195
|
+
* @param params - The parameters.
|
|
196
|
+
* @param params.vendor - Identity vendor for the customer.
|
|
197
|
+
* @param params.email - Email for the vendor customer.
|
|
198
|
+
*/
|
|
199
|
+
createVendorCustomer(params: {
|
|
200
|
+
vendor: KycVendor;
|
|
201
|
+
email: string;
|
|
129
202
|
}): Promise<void>;
|
|
130
203
|
/**
|
|
131
204
|
* Loads the disclaimers for the resolved (or provided) country.
|
|
@@ -140,15 +213,21 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
140
213
|
* Captures terms acceptance for the currently loaded disclaimers and creates
|
|
141
214
|
* a session.
|
|
142
215
|
*
|
|
143
|
-
* @param params -
|
|
216
|
+
* @param params - The parameters.
|
|
144
217
|
* @param params.email - The account email to associate with the session.
|
|
145
218
|
* @param params.product - The consuming feature the flow runs for. See
|
|
146
219
|
* {@link initialize} for how the product drives the automatic post
|
|
147
220
|
* authentication continuation.
|
|
221
|
+
* @param params.sumsubTncSigned - Whether Sumsub T&C were accepted (T&C2).
|
|
222
|
+
* Required for every vendor so callers explicitly declare acceptance.
|
|
223
|
+
* @param params.idosTncSigned - Whether idOS T&C were accepted (T&C2).
|
|
224
|
+
* Required for every vendor so callers explicitly declare acceptance.
|
|
148
225
|
*/
|
|
149
|
-
acceptTermsAndStartSession(params
|
|
226
|
+
acceptTermsAndStartSession(params: {
|
|
150
227
|
email?: string;
|
|
151
228
|
product?: KycProduct;
|
|
229
|
+
sumsubTncSigned: boolean;
|
|
230
|
+
idosTncSigned: boolean;
|
|
152
231
|
}): Promise<void>;
|
|
153
232
|
/**
|
|
154
233
|
* Clears the persisted terms acceptance.
|
|
@@ -209,6 +288,19 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
209
288
|
getKycStatus(params: {
|
|
210
289
|
product: KycProduct;
|
|
211
290
|
}): boolean | undefined;
|
|
291
|
+
/**
|
|
292
|
+
* Returns the vendor-scoped identity for the currently authenticated
|
|
293
|
+
* customer, or `null` when the flow has not yet captured a vendor customer
|
|
294
|
+
* id (before authentication or after {@link reset}).
|
|
295
|
+
*
|
|
296
|
+
* Exposed so consumers (e.g. ramps autoramp creation) can attach the vendor
|
|
297
|
+
* customer id to downstream calls without reading the full KYC state, which
|
|
298
|
+
* also holds session/access tokens. The id is session-scoped and never
|
|
299
|
+
* persisted.
|
|
300
|
+
*
|
|
301
|
+
* @returns The current {@link KycCustomerIdentity}, or `null`.
|
|
302
|
+
*/
|
|
303
|
+
getCustomerIdentity(): KycCustomerIdentity | null;
|
|
212
304
|
/**
|
|
213
305
|
* Runs the SumSub document-verification sub-flow end to end:
|
|
214
306
|
*
|
|
@@ -236,6 +328,18 @@ export declare class KycController extends BaseController<typeof controllerName,
|
|
|
236
328
|
locale?: string;
|
|
237
329
|
debug?: boolean;
|
|
238
330
|
}): Promise<Record<string, unknown>>;
|
|
331
|
+
/**
|
|
332
|
+
* Refreshes the user-keyed simplified KYC status from `GET /kyc/status`,
|
|
333
|
+
* stores it on state, publishes {@link KycControllerStatusChangedEvent}, and
|
|
334
|
+
* schedules short-interval polling while the status is `pending`.
|
|
335
|
+
*
|
|
336
|
+
* @returns The latest status payload.
|
|
337
|
+
*/
|
|
338
|
+
refreshKycStatus(): Promise<{
|
|
339
|
+
status: KycUserStatus;
|
|
340
|
+
sumsubSessionId: string | null;
|
|
341
|
+
errorCode: string | null;
|
|
342
|
+
}>;
|
|
239
343
|
/**
|
|
240
344
|
* Fetches the current UKYC session status for the active sub-flow and records
|
|
241
345
|
* it on state. Useful for a one-off refresh outside the automatic polling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KycController.d.mts","sourceRoot":"","sources":["../src/KycController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EACV,4CAA4C,EAC5C,4CAA4C,EAC7C,uDAAuD;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAM5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,gDAA+C;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,6CAA4C;
|
|
1
|
+
{"version":3,"file":"KycController.d.mts","sourceRoot":"","sources":["../src/KycController.ts"],"names":[],"mappings":"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"}
|