@atomicfi/transact-capacitor 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ require 'json'
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = 'AtomicfiTransactCapacitor'
7
+ s.version = package['version']
8
+ s.summary = package['description']
9
+ s.license = package['license']
10
+ s.homepage = package['repository']['url']
11
+ s.author = package['author']
12
+ s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
13
+ s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
14
+ s.ios.deployment_target = '15.0'
15
+ s.dependency 'Capacitor'
16
+ s.dependency 'AtomicSDK', '~> 3.26'
17
+ s.swift_version = '5.1'
18
+ end
package/Package.swift ADDED
@@ -0,0 +1,30 @@
1
+ // swift-tools-version: 5.9
2
+ import PackageDescription
3
+
4
+ let package = Package(
5
+ name: "AtomicfiTransactCapacitor",
6
+ platforms: [.iOS(.v15)],
7
+ products: [
8
+ .library(
9
+ name: "AtomicfiTransactCapacitor",
10
+ targets: ["TransactPluginPlugin"])
11
+ ],
12
+ dependencies: [
13
+ .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0"),
14
+ .package(url: "https://github.com/atomicfi/atomic-transact-ios.git", from: "3.27.0")
15
+ ],
16
+ targets: [
17
+ .target(
18
+ name: "TransactPluginPlugin",
19
+ dependencies: [
20
+ .product(name: "Capacitor", package: "capacitor-swift-pm"),
21
+ .product(name: "Cordova", package: "capacitor-swift-pm"),
22
+ .product(name: "AtomicTransact", package: "atomic-transact-ios")
23
+ ],
24
+ path: "ios/Sources/TransactPluginPlugin"),
25
+ .testTarget(
26
+ name: "TransactPluginPluginTests",
27
+ dependencies: ["TransactPluginPlugin"],
28
+ path: "ios/Tests/TransactPluginPluginTests")
29
+ ]
30
+ )
package/README.md ADDED
@@ -0,0 +1,602 @@
1
+ # @atomicfi/transact-capacitor
2
+
3
+ Capactior plugin to use native sdks from Atomic
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @atomicfi/transact-capacitor
9
+ npx cap sync
10
+ ```
11
+
12
+ ## API
13
+
14
+ <docgen-index>
15
+
16
+ * [`presentTransact(...)`](#presenttransact)
17
+ * [`presentAction(...)`](#presentaction)
18
+ * [`hideTransact()`](#hidetransact)
19
+ * [`resolveDataRequest(...)`](#resolvedatarequest)
20
+ * [`addListener('onInteraction', ...)`](#addlisteneroninteraction-)
21
+ * [`addListener('onDataRequest', ...)`](#addlistenerondatarequest-)
22
+ * [`addListener('onAuthStatusUpdate', ...)`](#addlisteneronauthstatusupdate-)
23
+ * [`addListener('onTaskStatusUpdate', ...)`](#addlistenerontaskstatusupdate-)
24
+ * [`addListener('onFinish', ...)`](#addlisteneronfinish-)
25
+ * [`addListener('onClose', ...)`](#addlisteneronclose-)
26
+ * [`addListener('onLaunch', ...)`](#addlisteneronlaunch-)
27
+ * [`removeAllListeners()`](#removealllisteners)
28
+ * [Interfaces](#interfaces)
29
+ * [Type Aliases](#type-aliases)
30
+
31
+ </docgen-index>
32
+
33
+ <docgen-api>
34
+ <!--Update the source file JSDoc comments and rerun docgen to update the docs below-->
35
+
36
+ The Transact Capacitor plugin interface.
37
+
38
+ ### presentTransact(...)
39
+
40
+ ```typescript
41
+ presentTransact(options: PresentTransactOptions) => Promise<TransactResult>
42
+ ```
43
+
44
+ Launch a Transact flow. Resolves when the flow finishes or is closed.
45
+
46
+ | Param | Type |
47
+ | ------------- | ------------------------------------------------------------------------- |
48
+ | **`options`** | <code><a href="#presenttransactoptions">PresentTransactOptions</a></code> |
49
+
50
+ **Returns:** <code>Promise&lt;<a href="#transactresult">TransactResult</a>&gt;</code>
51
+
52
+ --------------------
53
+
54
+
55
+ ### presentAction(...)
56
+
57
+ ```typescript
58
+ presentAction(options: PresentActionOptions) => Promise<TransactResult>
59
+ ```
60
+
61
+ Present a specific action by ID. Resolves when the action completes or is closed.
62
+
63
+ | Param | Type |
64
+ | ------------- | --------------------------------------------------------------------- |
65
+ | **`options`** | <code><a href="#presentactionoptions">PresentActionOptions</a></code> |
66
+
67
+ **Returns:** <code>Promise&lt;<a href="#transactresult">TransactResult</a>&gt;</code>
68
+
69
+ --------------------
70
+
71
+
72
+ ### hideTransact()
73
+
74
+ ```typescript
75
+ hideTransact() => Promise<void>
76
+ ```
77
+
78
+ Programmatically hide the Transact overlay.
79
+
80
+ --------------------
81
+
82
+
83
+ ### resolveDataRequest(...)
84
+
85
+ ```typescript
86
+ resolveDataRequest(options: DataRequestResponse) => Promise<void>
87
+ ```
88
+
89
+ Respond to an `onDataRequest` event with card or identity data.
90
+
91
+ | Param | Type |
92
+ | ------------- | ------------------------------------------------------------------- |
93
+ | **`options`** | <code><a href="#datarequestresponse">DataRequestResponse</a></code> |
94
+
95
+ --------------------
96
+
97
+
98
+ ### addListener('onInteraction', ...)
99
+
100
+ ```typescript
101
+ addListener(eventName: 'onInteraction', listenerFunc: (event: InteractionEvent) => void) => Promise<PluginListenerHandle>
102
+ ```
103
+
104
+ | Param | Type |
105
+ | ------------------ | --------------------------------------------------------------------------------- |
106
+ | **`eventName`** | <code>'onInteraction'</code> |
107
+ | **`listenerFunc`** | <code>(event: <a href="#interactionevent">InteractionEvent</a>) =&gt; void</code> |
108
+
109
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
110
+
111
+ --------------------
112
+
113
+
114
+ ### addListener('onDataRequest', ...)
115
+
116
+ ```typescript
117
+ addListener(eventName: 'onDataRequest', listenerFunc: (event: DataRequestEvent) => void) => Promise<PluginListenerHandle>
118
+ ```
119
+
120
+ | Param | Type |
121
+ | ------------------ | --------------------------------------------------------------------------------- |
122
+ | **`eventName`** | <code>'onDataRequest'</code> |
123
+ | **`listenerFunc`** | <code>(event: <a href="#datarequestevent">DataRequestEvent</a>) =&gt; void</code> |
124
+
125
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
126
+
127
+ --------------------
128
+
129
+
130
+ ### addListener('onAuthStatusUpdate', ...)
131
+
132
+ ```typescript
133
+ addListener(eventName: 'onAuthStatusUpdate', listenerFunc: (event: AuthStatusUpdateEvent) => void) => Promise<PluginListenerHandle>
134
+ ```
135
+
136
+ | Param | Type |
137
+ | ------------------ | ------------------------------------------------------------------------------------------- |
138
+ | **`eventName`** | <code>'onAuthStatusUpdate'</code> |
139
+ | **`listenerFunc`** | <code>(event: <a href="#authstatusupdateevent">AuthStatusUpdateEvent</a>) =&gt; void</code> |
140
+
141
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
142
+
143
+ --------------------
144
+
145
+
146
+ ### addListener('onTaskStatusUpdate', ...)
147
+
148
+ ```typescript
149
+ addListener(eventName: 'onTaskStatusUpdate', listenerFunc: (event: TaskStatusUpdateEvent) => void) => Promise<PluginListenerHandle>
150
+ ```
151
+
152
+ | Param | Type |
153
+ | ------------------ | ------------------------------------------------------------------------------------------- |
154
+ | **`eventName`** | <code>'onTaskStatusUpdate'</code> |
155
+ | **`listenerFunc`** | <code>(event: <a href="#taskstatusupdateevent">TaskStatusUpdateEvent</a>) =&gt; void</code> |
156
+
157
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
158
+
159
+ --------------------
160
+
161
+
162
+ ### addListener('onFinish', ...)
163
+
164
+ ```typescript
165
+ addListener(eventName: 'onFinish', listenerFunc: (event: FinishEvent) => void) => Promise<PluginListenerHandle>
166
+ ```
167
+
168
+ | Param | Type |
169
+ | ------------------ | ----------------------------------------------------------------------- |
170
+ | **`eventName`** | <code>'onFinish'</code> |
171
+ | **`listenerFunc`** | <code>(event: <a href="#finishevent">FinishEvent</a>) =&gt; void</code> |
172
+
173
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
174
+
175
+ --------------------
176
+
177
+
178
+ ### addListener('onClose', ...)
179
+
180
+ ```typescript
181
+ addListener(eventName: 'onClose', listenerFunc: (event: CloseEvent) => void) => Promise<PluginListenerHandle>
182
+ ```
183
+
184
+ | Param | Type |
185
+ | ------------------ | --------------------------------------------------------------------- |
186
+ | **`eventName`** | <code>'onClose'</code> |
187
+ | **`listenerFunc`** | <code>(event: <a href="#closeevent">CloseEvent</a>) =&gt; void</code> |
188
+
189
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
190
+
191
+ --------------------
192
+
193
+
194
+ ### addListener('onLaunch', ...)
195
+
196
+ ```typescript
197
+ addListener(eventName: 'onLaunch', listenerFunc: () => void) => Promise<PluginListenerHandle>
198
+ ```
199
+
200
+ | Param | Type |
201
+ | ------------------ | -------------------------- |
202
+ | **`eventName`** | <code>'onLaunch'</code> |
203
+ | **`listenerFunc`** | <code>() =&gt; void</code> |
204
+
205
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
206
+
207
+ --------------------
208
+
209
+
210
+ ### removeAllListeners()
211
+
212
+ ```typescript
213
+ removeAllListeners() => Promise<void>
214
+ ```
215
+
216
+ --------------------
217
+
218
+
219
+ ### Interfaces
220
+
221
+
222
+ #### TransactResult
223
+
224
+ Result returned when a Transact flow finishes or is closed.
225
+
226
+ | Prop | Type | Description |
227
+ | -------------- | ------------------------------------------------------------ | --------------------------------------------- |
228
+ | **`finished`** | <code><a href="#record">Record</a>&lt;string, any&gt;</code> | Present when the flow completed successfully. |
229
+ | **`closed`** | <code><a href="#record">Record</a>&lt;string, any&gt;</code> | Present when the flow was closed by the user. |
230
+ | **`error`** | <code>string</code> | Error message if the flow failed to launch. |
231
+
232
+
233
+ #### PresentTransactOptions
234
+
235
+ Options for {@link TransactPluginPlugin.presentTransact}.
236
+
237
+ | Prop | Type | Description |
238
+ | ----------------------- | ------------------------------------------------------------------- | -------------------------------------------------- |
239
+ | **`config`** | <code><a href="#transactconfig">TransactConfig</a></code> | The Transact configuration. |
240
+ | **`environment`** | <code><a href="#transactenvironment">TransactEnvironment</a></code> | Environment to connect to. Defaults to production. |
241
+ | **`presentationStyle`** | <code>'formSheet' \| 'fullScreen'</code> | iOS only. Modal presentation style. |
242
+
243
+
244
+ #### TransactConfig
245
+
246
+ Top-level configuration object for a Transact session.
247
+
248
+ Properties are grouped by scope compatibility:
249
+ - **Shared** — `publicToken`, `scope`, `tasks`, `theme`, `language`, `deeplink`, `metadata`
250
+ - **UserLink-only** — `linkedAccount`, `search`, `handoff`, `experiments`, `customer`,
251
+ `features`, `sessionContext`, `conversionToken`, `inSdk`
252
+ - **PayLink-only** — `deferredPaymentMethodStrategy`
253
+
254
+ | Prop | Type | Description |
255
+ | ----------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
256
+ | **`publicToken`** | <code>string</code> | Required. Public token returned from AccessToken creation. |
257
+ | **`scope`** | <code><a href="#scopetype">ScopeType</a></code> | Required. Product scope — `'user-link'` or `'pay-link'`. |
258
+ | **`tasks`** | <code>TransactTask[]</code> | Required. Task operations to execute. Operations differ per scope. |
259
+ | **`theme`** | <code><a href="#transacttheme">TransactTheme</a></code> | Shared. Visual theme customization. |
260
+ | **`language`** | <code><a href="#languagetype">LanguageType</a></code> | Shared. Display language — `'en'` or `'es'`. Defaults to `'en'`. |
261
+ | **`deeplink`** | <code><a href="#transactdeeplink">TransactDeeplink</a></code> | Shared. Deeplink into a specific step in the Transact flow. |
262
+ | **`metadata`** | <code><a href="#record">Record</a>&lt;string, string&gt;</code> | Shared. Custom key-value pairs returned in webhook events. |
263
+ | **`linkedAccount`** | <code>string</code> | UserLink-only. Linked account ID for immediate authentication. |
264
+ | **`search`** | <code><a href="#transactsearch">TransactSearch</a></code> | UserLink-only. Search filtering by company tags. |
265
+ | **`handoff`** | <code>HandoffType[]</code> | UserLink-only. Views to hand off to the host app via SDK events. |
266
+ | **`experiments`** | <code><a href="#transactexperiments">TransactExperiments</a></code> | UserLink-only. Override feature flags from the Atomic Console. |
267
+ | **`customer`** | <code><a href="#transactcustomer">TransactCustomer</a></code> | UserLink-only. Override the customer name displayed in the UI. |
268
+ | **`features`** | <code><a href="#transactfeatures">TransactFeatures</a></code> | UserLink-only. Feature toggles. |
269
+ | **`sessionContext`** | <code>string</code> | UserLink-only. Optional session context string. |
270
+ | **`conversionToken`** | <code>string</code> | UserLink-only. Token for conversion tracking. |
271
+ | **`inSdk`** | <code>boolean</code> | UserLink-only. When `false`, removes SDK-dependent UI elements. Defaults to `true`. |
272
+ | **`deferredPaymentMethodStrategy`** | <code><a href="#deferredpaymentmethodstrategytype">DeferredPaymentMethodStrategyType</a></code> | PayLink-only. Strategy for providing deferred payment method data. - `'sdk'` — Respond via the native `resolveDataRequest` method. - `'api'` — Send data via the Update User API endpoint. |
273
+
274
+
275
+ #### TransactTask
276
+
277
+ A single task in the Transact workflow.
278
+
279
+ - `operation` — Shared (required). Operations differ by scope.
280
+ - `distribution`, `onComplete`, `onFail` — **UserLink-only.**
281
+
282
+ | Prop | Type | Description |
283
+ | ------------------ | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
284
+ | **`operation`** | <code><a href="#operationtype">OperationType</a></code> | Required. The task operation — see {@link Operation} for scope-specific values. |
285
+ | **`distribution`** | <code><a href="#transactdistribution">TransactDistribution</a></code> | UserLink-only. Deposit distribution settings. Only meaningful with `deposit` operation. |
286
+ | **`onComplete`** | <code>'continue' \| 'finish'</code> | UserLink-only. Action on task success: `'continue'` or `'finish'`. Defaults to `'continue'`. |
287
+ | **`onFail`** | <code>'continue' \| 'finish'</code> | UserLink-only. Action on task failure: `'continue'` or `'finish'`. Defaults to `'continue'`. |
288
+
289
+
290
+ #### TransactDistribution
291
+
292
+ UserLink-only. Deposit distribution settings for the `deposit` operation.
293
+ Enforces deposit configuration and eliminates incompatible search results.
294
+
295
+ | Prop | Type | Description |
296
+ | --------------- | -------------------------------------------- | -------------------------------------------------------------------------- |
297
+ | **`type`** | <code>'total' \| 'fixed' \| 'percent'</code> | Distribution type: `'total'`, `'fixed'`, or `'percent'`. |
298
+ | **`amount`** | <code>number</code> | Dollar amount (for `'fixed'`) or percentage of paycheck (for `'percent'`). |
299
+ | **`canUpdate`** | <code>boolean</code> | If `true`, the user can override the default amount. Defaults to `false`. |
300
+
301
+
302
+ #### TransactTheme
303
+
304
+ Visual theme customization for the Transact UI.
305
+
306
+ | Prop | Type | Description |
307
+ | ----------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
308
+ | **`brandColor`** | <code>string</code> | Any valid CSS color value for buttons and accent elements. |
309
+ | **`overlayColor`** | <code>string</code> | Any valid CSS background-color value for the modal overlay. |
310
+ | **`dark`** | <code>boolean</code> | Enable dark mode. |
311
+ | **`display`** | <code>string</code> | Set to `'inline'` to render inside a container element instead of as a modal. |
312
+ | **`navigationOptions`** | <code><a href="#transactnavigationoptions">TransactNavigationOptions</a></code> | Navigation bar element visibility. |
313
+
314
+
315
+ #### TransactNavigationOptions
316
+
317
+ Controls for navigation bar element visibility.
318
+
319
+ | Prop | Type | Description |
320
+ | ------------------------ | -------------------- | -------------------------------------------------------------------------- |
321
+ | **`showBackButton`** | <code>boolean</code> | Whether the back button is visible. Defaults to `true`. |
322
+ | **`showBackButtonText`** | <code>boolean</code> | Whether a text label appears next to the back button. Defaults to `false`. |
323
+ | **`showCloseButton`** | <code>boolean</code> | Whether the close/exit button is displayed. Defaults to `true`. |
324
+
325
+
326
+ #### TransactDeeplink
327
+
328
+ Deeplink configuration to navigate directly to a specific step.
329
+
330
+ Both `login-company` and `search-company` are supported by UserLink and PayLink.
331
+
332
+ | Prop | Type | Description |
333
+ | --------------- | --------------------------------------------- | ------------------------------------------------------------------ |
334
+ | **`step`** | <code><a href="#steptype">StepType</a></code> | The step to navigate to — `'login-company'` or `'search-company'`. |
335
+ | **`companyId`** | <code>string</code> | Company ID to deeplink into. |
336
+
337
+
338
+ #### TransactSearch
339
+
340
+ UserLink-only. Search filtering by company tags.
341
+
342
+ | Prop | Type | Description |
343
+ | ------------------ | ---------------------- | ----------------------------------------------------------------- |
344
+ | **`tags`** | <code>TagType[]</code> | Filter companies by tags. |
345
+ | **`excludedTags`** | <code>TagType[]</code> | Exclude companies matching these tags. |
346
+ | **`ruleId`** | <code>string</code> | Identifier for a search experience defined in the Atomic Console. |
347
+
348
+
349
+ #### TransactExperiments
350
+
351
+ UserLink-only. Override feature flags from the Atomic Console.
352
+
353
+ | Prop | Type | Description |
354
+ | ------------------------ | -------------------- | --------------------------------------------------- |
355
+ | **`fractionalDeposits`** | <code>boolean</code> | Override the Fractional Deposit feature flag value. |
356
+
357
+
358
+ #### TransactCustomer
359
+
360
+ UserLink-only. Override the customer name displayed in the Transact UI.
361
+
362
+ | Prop | Type | Description |
363
+ | ---------- | ------------------- | ------------------------------ |
364
+ | **`name`** | <code>string</code> | Customer name shown in the UI. |
365
+
366
+
367
+ #### TransactFeatures
368
+
369
+ UserLink-only. Feature toggles for the Transact session.
370
+
371
+ | Prop | Type | Description |
372
+ | ------------------------ | -------------------- | ------------------------------------------------------- |
373
+ | **`fractionalDeposits`** | <code>boolean</code> | Enable or disable fractional (decimal) deposit amounts. |
374
+ | **`customSearch`** | <code>boolean</code> | Enable or disable custom search functionality. |
375
+
376
+
377
+ #### TransactEnvironment
378
+
379
+ Environment configuration for connecting to Atomic services.
380
+
381
+ | Prop | Type | Description |
382
+ | ------------------ | -------------------------------------------------- | --------------------------------------------------------------- |
383
+ | **`environment`** | <code>'production' \| 'sandbox' \| 'custom'</code> | Environment target: `'production'`, `'sandbox'`, or `'custom'`. |
384
+ | **`transactPath`** | <code>string</code> | Custom Transact URL. Required when `environment` is `'custom'`. |
385
+ | **`apiPath`** | <code>string</code> | Custom API URL. Required when `environment` is `'custom'`. |
386
+
387
+
388
+ #### PresentActionOptions
389
+
390
+ Options for {@link TransactPluginPlugin.presentAction}.
391
+
392
+ | Prop | Type | Description |
393
+ | ----------------------- | ------------------------------------------------------------------- | -------------------------------------------------- |
394
+ | **`id`** | <code>string</code> | Required. The action ID to present. |
395
+ | **`environment`** | <code><a href="#transactenvironment">TransactEnvironment</a></code> | Environment to connect to. Defaults to production. |
396
+ | **`theme`** | <code><a href="#transacttheme">TransactTheme</a></code> | Visual theme customization. |
397
+ | **`metadata`** | <code><a href="#record">Record</a>&lt;string, string&gt;</code> | Custom key-value pairs returned in webhook events. |
398
+ | **`presentationStyle`** | <code>'formSheet' \| 'fullScreen'</code> | iOS only. Modal presentation style. |
399
+
400
+
401
+ #### DataRequestResponse
402
+
403
+ Response payload for resolving an `onDataRequest` event.
404
+
405
+ | Prop | Type | Description |
406
+ | -------------- | ----------------------------------------------------- | ------------------ |
407
+ | **`card`** | <code><a href="#carddata">CardData</a></code> | Payment card data. |
408
+ | **`identity`** | <code><a href="#identitydata">IdentityData</a></code> | Identity data. |
409
+
410
+
411
+ #### CardData
412
+
413
+ Payment card information for resolving data requests.
414
+
415
+ | Prop | Type | Description |
416
+ | ------------ | ------------------- | ------------------------ |
417
+ | **`number`** | <code>string</code> | Full card number. |
418
+ | **`expiry`** | <code>string</code> | Card expiration date. |
419
+ | **`cvv`** | <code>string</code> | Card verification value. |
420
+
421
+
422
+ #### IdentityData
423
+
424
+ Identity information for resolving data requests.
425
+
426
+ | Prop | Type |
427
+ | ---------------- | ------------------- |
428
+ | **`firstName`** | <code>string</code> |
429
+ | **`lastName`** | <code>string</code> |
430
+ | **`postalCode`** | <code>string</code> |
431
+ | **`address`** | <code>string</code> |
432
+ | **`address2`** | <code>string</code> |
433
+ | **`city`** | <code>string</code> |
434
+ | **`state`** | <code>string</code> |
435
+ | **`phone`** | <code>string</code> |
436
+ | **`email`** | <code>string</code> |
437
+
438
+
439
+ #### PluginListenerHandle
440
+
441
+ | Prop | Type |
442
+ | ------------ | ----------------------------------------- |
443
+ | **`remove`** | <code>() =&gt; Promise&lt;void&gt;</code> |
444
+
445
+
446
+ #### InteractionEvent
447
+
448
+ Payload for the `onInteraction` event.
449
+
450
+ | Prop | Type | Description |
451
+ | ----------- | ------------------- | ------------------------ |
452
+ | **`name`** | <code>string</code> | Name of the interaction. |
453
+ | **`value`** | <code>any</code> | Interaction value. |
454
+
455
+
456
+ #### DataRequestEvent
457
+
458
+ Payload for the `onDataRequest` event.
459
+
460
+ | Prop | Type | Description |
461
+ | -------------------- | --------------------- | ---------------------- |
462
+ | **`fields`** | <code>string[]</code> | Requested data fields. |
463
+ | **`taskId`** | <code>string</code> | |
464
+ | **`userId`** | <code>string</code> | |
465
+ | **`identifier`** | <code>string</code> | |
466
+ | **`taskWorkflowId`** | <code>string</code> | |
467
+ | **`externalId`** | <code>string</code> | |
468
+
469
+
470
+ #### AuthStatusUpdateEvent
471
+
472
+ Payload for the `onAuthStatusUpdate` event.
473
+
474
+ | Prop | Type | Description |
475
+ | ------------- | --------------------------------------------------------------------- | ------------------------------------------- |
476
+ | **`status`** | <code>string</code> | Authentication status. |
477
+ | **`company`** | <code><a href="#transactcompanyevent">TransactCompanyEvent</a></code> | Company associated with the authentication. |
478
+
479
+
480
+ #### TransactCompanyEvent
481
+
482
+ Company information included in event payloads.
483
+
484
+ | Prop | Type |
485
+ | -------------- | --------------------------------------------------------------------------------- |
486
+ | **`_id`** | <code>string</code> |
487
+ | **`name`** | <code>string</code> |
488
+ | **`branding`** | <code>{ color: string; logo: { url: string; backgroundColor?: string; }; }</code> |
489
+
490
+
491
+ #### TaskStatusUpdateEvent
492
+
493
+ Payload for the `onTaskStatusUpdate` event.
494
+
495
+ | Prop | Type | Description |
496
+ | ----------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
497
+ | **`taskId`** | <code>string</code> | |
498
+ | **`product`** | <code>string</code> | |
499
+ | **`status`** | <code><a href="#taskstatustype">TaskStatusType</a></code> | Current task status. |
500
+ | **`failReason`** | <code><a href="#failreasontype">FailReasonType</a></code> | Reason for failure. Only present when `status` is `'failed'`. |
501
+ | **`company`** | <code><a href="#transactcompanyevent">TransactCompanyEvent</a></code> | Company associated with the task. |
502
+ | **`depositData`** | <code><a href="#depositdataevent">DepositDataEvent</a></code> | UserLink — Deposit data returned on successful deposit operations. |
503
+ | **`switchData`** | <code><a href="#switchdataevent">SwitchDataEvent</a></code> | PayLink — Payment method data returned on successful switch operations. |
504
+ | **`managedBy`** | <code>{ company: <a href="#transactcompanyevent">TransactCompanyEvent</a>; }</code> | Present when a task is managed by another company. |
505
+
506
+
507
+ #### DepositDataEvent
508
+
509
+ UserLink — Deposit data from a successful deposit operation.
510
+
511
+ | Prop | Type |
512
+ | ------------------------ | ------------------- |
513
+ | **`accountType`** | <code>string</code> |
514
+ | **`distributionAmount`** | <code>number</code> |
515
+ | **`distributionType`** | <code>string</code> |
516
+ | **`lastFour`** | <code>string</code> |
517
+ | **`routingNumber`** | <code>string</code> |
518
+ | **`title`** | <code>string</code> |
519
+
520
+
521
+ #### SwitchDataEvent
522
+
523
+ PayLink — Payment method data from a successful switch operation.
524
+
525
+ | Prop | Type |
526
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
527
+ | **`paymentMethod`** | <code>{ type: string; brand?: string; expiry?: string; lastFour?: string; accountType?: string; routingNumber?: string; accountNumberLastFour?: string; }</code> |
528
+
529
+
530
+ #### FinishEvent
531
+
532
+ Payload for the `onFinish` event.
533
+
534
+ | Prop | Type |
535
+ | ------------ | ------------------- |
536
+ | **`taskId`** | <code>string</code> |
537
+
538
+
539
+ #### CloseEvent
540
+
541
+ Payload for the `onClose` event.
542
+
543
+ | Prop | Type |
544
+ | ------------ | ------------------- |
545
+ | **`reason`** | <code>string</code> |
546
+
547
+
548
+ ### Type Aliases
549
+
550
+
551
+ #### Record
552
+
553
+ Construct a type with a set of properties K of type T
554
+
555
+ <code>{
556
  [P in K]: T;
1
557
  }</code>
558
+
559
+
560
+ #### ScopeType
561
+
562
+ <code>(typeof Scope)[keyof typeof Scope]</code>
563
+
564
+
565
+ #### OperationType
566
+
567
+ <code>(typeof Operation)[keyof typeof Operation]</code>
568
+
569
+
570
+ #### LanguageType
571
+
572
+ <code>(typeof Language)[keyof typeof Language]</code>
573
+
574
+
575
+ #### StepType
576
+
577
+ <code>(typeof Step)[keyof typeof Step]</code>
578
+
579
+
580
+ #### TagType
581
+
582
+ <code>(typeof Tag)[keyof typeof Tag]</code>
583
+
584
+
585
+ #### HandoffType
586
+
587
+ <code>(typeof Handoff)[keyof typeof Handoff]</code>
588
+
589
+
590
+ #### DeferredPaymentMethodStrategyType
591
+
592
+ <code>(typeof DeferredPaymentMethodStrategy)[keyof typeof DeferredPaymentMethodStrategy]</code>
593
+
594
+
595
+ #### TaskStatusType
596
+
597
+ <code>(typeof TaskStatus)[keyof typeof TaskStatus]</code>
598
+
599
+
600
+ #### FailReasonType
601
+
602
+ <code>(typeof FailReason)[keyof typeof FailReason]</code>
603
+
604
+ </docgen-api>