increase 0.261.0 → 0.263.0

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/index.d.mts +9 -0
  3. package/index.d.ts +9 -0
  4. package/index.d.ts.map +1 -1
  5. package/index.js +12 -0
  6. package/index.js.map +1 -1
  7. package/index.mjs +12 -0
  8. package/index.mjs.map +1 -1
  9. package/package.json +1 -1
  10. package/resources/card-push-transfers.d.ts +633 -0
  11. package/resources/card-push-transfers.d.ts.map +1 -0
  12. package/resources/card-push-transfers.js +94 -0
  13. package/resources/card-push-transfers.js.map +1 -0
  14. package/resources/card-push-transfers.mjs +89 -0
  15. package/resources/card-push-transfers.mjs.map +1 -0
  16. package/resources/card-tokens.d.ts +154 -0
  17. package/resources/card-tokens.d.ts.map +1 -0
  18. package/resources/card-tokens.js +50 -0
  19. package/resources/card-tokens.js.map +1 -0
  20. package/resources/card-tokens.mjs +45 -0
  21. package/resources/card-tokens.mjs.map +1 -0
  22. package/resources/card-validations.d.ts +508 -0
  23. package/resources/card-validations.d.ts.map +1 -0
  24. package/resources/card-validations.js +54 -0
  25. package/resources/card-validations.js.map +1 -0
  26. package/resources/card-validations.mjs +49 -0
  27. package/resources/card-validations.mjs.map +1 -0
  28. package/resources/external-accounts.d.ts +6 -3
  29. package/resources/external-accounts.d.ts.map +1 -1
  30. package/resources/external-accounts.js.map +1 -1
  31. package/resources/external-accounts.mjs.map +1 -1
  32. package/resources/index.d.ts +3 -0
  33. package/resources/index.d.ts.map +1 -1
  34. package/resources/index.js +12 -2
  35. package/resources/index.js.map +1 -1
  36. package/resources/index.mjs +3 -0
  37. package/resources/index.mjs.map +1 -1
  38. package/resources/simulations/card-tokens.d.ts +66 -0
  39. package/resources/simulations/card-tokens.d.ts.map +1 -0
  40. package/resources/simulations/card-tokens.js +21 -0
  41. package/resources/simulations/card-tokens.js.map +1 -0
  42. package/resources/simulations/card-tokens.mjs +17 -0
  43. package/resources/simulations/card-tokens.mjs.map +1 -0
  44. package/resources/simulations/index.d.ts +1 -0
  45. package/resources/simulations/index.d.ts.map +1 -1
  46. package/resources/simulations/index.js +3 -1
  47. package/resources/simulations/index.js.map +1 -1
  48. package/resources/simulations/index.mjs +1 -0
  49. package/resources/simulations/index.mjs.map +1 -1
  50. package/resources/simulations/simulations.d.ts +4 -0
  51. package/resources/simulations/simulations.d.ts.map +1 -1
  52. package/resources/simulations/simulations.js +4 -0
  53. package/resources/simulations/simulations.js.map +1 -1
  54. package/resources/simulations/simulations.mjs +4 -0
  55. package/resources/simulations/simulations.mjs.map +1 -1
  56. package/src/index.ts +54 -0
  57. package/src/resources/card-push-transfers.ts +834 -0
  58. package/src/resources/card-tokens.ts +200 -0
  59. package/src/resources/card-validations.ts +643 -0
  60. package/src/resources/external-accounts.ts +6 -3
  61. package/src/resources/index.ts +21 -0
  62. package/src/resources/simulations/card-tokens.ts +82 -0
  63. package/src/resources/simulations/index.ts +1 -0
  64. package/src/resources/simulations/simulations.ts +6 -0
  65. package/src/version.ts +1 -1
  66. package/version.d.ts +1 -1
  67. package/version.js +1 -1
  68. package/version.mjs +1 -1
@@ -0,0 +1,834 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../resource';
4
+ import { isRequestOptions } from '../core';
5
+ import * as Core from '../core';
6
+ import { Page, type PageParams } from '../pagination';
7
+
8
+ export class CardPushTransfers extends APIResource {
9
+ /**
10
+ * Create a Card Push Transfer
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const cardPushTransfer =
15
+ * await client.cardPushTransfers.create({
16
+ * amount: 100,
17
+ * business_application_identifier: 'funds_disbursement',
18
+ * card_token_id:
19
+ * 'outbound_card_token_zlt0ml6youq3q7vcdlg0',
20
+ * merchant_category_code: '1234',
21
+ * merchant_city_name: 'New York',
22
+ * merchant_name: 'Acme Corp',
23
+ * merchant_name_prefix: 'Acme',
24
+ * merchant_postal_code: '10045',
25
+ * merchant_state: 'NY',
26
+ * recipient_name: 'Ian Crease',
27
+ * sender_address_city: 'New York',
28
+ * sender_address_line1: '33 Liberty Street',
29
+ * sender_address_postal_code: '10045',
30
+ * sender_address_state: 'NY',
31
+ * sender_name: 'Ian Crease',
32
+ * source_account_number_id:
33
+ * 'account_number_v18nkfqm6afpsrvy82b2',
34
+ * });
35
+ * ```
36
+ */
37
+ create(
38
+ body: CardPushTransferCreateParams,
39
+ options?: Core.RequestOptions,
40
+ ): Core.APIPromise<CardPushTransfer> {
41
+ return this._client.post('/card_push_transfers', { body, ...options });
42
+ }
43
+
44
+ /**
45
+ * Retrieve a Card Push Transfer
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const cardPushTransfer =
50
+ * await client.cardPushTransfers.retrieve(
51
+ * 'outbound_card_push_transfer_e0z9rdpamraczh4tvwye',
52
+ * );
53
+ * ```
54
+ */
55
+ retrieve(cardPushTransferId: string, options?: Core.RequestOptions): Core.APIPromise<CardPushTransfer> {
56
+ return this._client.get(`/card_push_transfers/${cardPushTransferId}`, options);
57
+ }
58
+
59
+ /**
60
+ * List Card Push Transfers
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * // Automatically fetches more pages as needed.
65
+ * for await (const cardPushTransfer of client.cardPushTransfers.list()) {
66
+ * // ...
67
+ * }
68
+ * ```
69
+ */
70
+ list(
71
+ query?: CardPushTransferListParams,
72
+ options?: Core.RequestOptions,
73
+ ): Core.PagePromise<CardPushTransfersPage, CardPushTransfer>;
74
+ list(options?: Core.RequestOptions): Core.PagePromise<CardPushTransfersPage, CardPushTransfer>;
75
+ list(
76
+ query: CardPushTransferListParams | Core.RequestOptions = {},
77
+ options?: Core.RequestOptions,
78
+ ): Core.PagePromise<CardPushTransfersPage, CardPushTransfer> {
79
+ if (isRequestOptions(query)) {
80
+ return this.list({}, query);
81
+ }
82
+ return this._client.getAPIList('/card_push_transfers', CardPushTransfersPage, { query, ...options });
83
+ }
84
+
85
+ /**
86
+ * Approves a Card Push Transfer in a pending_approval state.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * const cardPushTransfer =
91
+ * await client.cardPushTransfers.approve(
92
+ * 'outbound_card_push_transfer_e0z9rdpamraczh4tvwye',
93
+ * );
94
+ * ```
95
+ */
96
+ approve(cardPushTransferId: string, options?: Core.RequestOptions): Core.APIPromise<CardPushTransfer> {
97
+ return this._client.post(`/card_push_transfers/${cardPushTransferId}/approve`, options);
98
+ }
99
+
100
+ /**
101
+ * Cancels a Card Push Transfer in a pending_approval state.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const cardPushTransfer =
106
+ * await client.cardPushTransfers.cancel(
107
+ * 'outbound_card_push_transfer_e0z9rdpamraczh4tvwye',
108
+ * );
109
+ * ```
110
+ */
111
+ cancel(cardPushTransferId: string, options?: Core.RequestOptions): Core.APIPromise<CardPushTransfer> {
112
+ return this._client.post(`/card_push_transfers/${cardPushTransferId}/cancel`, options);
113
+ }
114
+ }
115
+
116
+ export class CardPushTransfersPage extends Page<CardPushTransfer> {}
117
+
118
+ /**
119
+ * Card Push Transfers send funds to a recipient's payment card in real-time.
120
+ */
121
+ export interface CardPushTransfer {
122
+ /**
123
+ * The Card Push Transfer's identifier.
124
+ */
125
+ id: string;
126
+
127
+ /**
128
+ * If the transfer is accepted by the recipient bank, this will contain
129
+ * supplemental details.
130
+ */
131
+ acceptance: CardPushTransfer.Acceptance | null;
132
+
133
+ /**
134
+ * The Account from which the transfer was sent.
135
+ */
136
+ account_id: string;
137
+
138
+ /**
139
+ * The transfer amount in USD cents.
140
+ */
141
+ amount: number;
142
+
143
+ /**
144
+ * If your account requires approvals for transfers and the transfer was approved,
145
+ * this will contain details of the approval.
146
+ */
147
+ approval: CardPushTransfer.Approval | null;
148
+
149
+ /**
150
+ * The Business Application Identifier describes the type of transaction being
151
+ * performed. Your program must be approved for the specified Business Application
152
+ * Identifier in order to use it.
153
+ *
154
+ * - `account_to_account` - Account to Account
155
+ * - `business_to_business` - Business to Business
156
+ * - `money_transfer_bank_initiated` - Money Transfer Bank Initiated
157
+ * - `non_card_bill_payment` - Non-Card Bill Payment
158
+ * - `consumer_bill_payment` - Consumer Bill Payment
159
+ * - `card_bill_payment` - Card Bill Payment
160
+ * - `funds_disbursement` - Funds Disbursement
161
+ * - `funds_transfer` - Funds Transfer
162
+ * - `loyalty_and_offers` - Loyalty and Offers
163
+ * - `merchant_disbursement` - Merchant Disbursement
164
+ * - `merchant_payment` - Merchant Payment
165
+ * - `person_to_person` - Person to Person
166
+ * - `top_up` - Top Up
167
+ * - `wallet_transfer` - Wallet Transfer
168
+ */
169
+ business_application_identifier:
170
+ | 'account_to_account'
171
+ | 'business_to_business'
172
+ | 'money_transfer_bank_initiated'
173
+ | 'non_card_bill_payment'
174
+ | 'consumer_bill_payment'
175
+ | 'card_bill_payment'
176
+ | 'funds_disbursement'
177
+ | 'funds_transfer'
178
+ | 'loyalty_and_offers'
179
+ | 'merchant_disbursement'
180
+ | 'merchant_payment'
181
+ | 'person_to_person'
182
+ | 'top_up'
183
+ | 'wallet_transfer';
184
+
185
+ /**
186
+ * If your account requires approvals for transfers and the transfer was not
187
+ * approved, this will contain details of the cancellation.
188
+ */
189
+ cancellation: CardPushTransfer.Cancellation | null;
190
+
191
+ /**
192
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
193
+ * the transfer was created.
194
+ */
195
+ created_at: string;
196
+
197
+ /**
198
+ * What object created the transfer, either via the API or the dashboard.
199
+ */
200
+ created_by: CardPushTransfer.CreatedBy | null;
201
+
202
+ /**
203
+ * The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
204
+ * currency.
205
+ *
206
+ * - `CAD` - Canadian Dollar (CAD)
207
+ * - `CHF` - Swiss Franc (CHF)
208
+ * - `EUR` - Euro (EUR)
209
+ * - `GBP` - British Pound (GBP)
210
+ * - `JPY` - Japanese Yen (JPY)
211
+ * - `USD` - US Dollar (USD)
212
+ */
213
+ currency: 'CAD' | 'CHF' | 'EUR' | 'GBP' | 'JPY' | 'USD';
214
+
215
+ /**
216
+ * If the transfer is rejected by the card network or the destination financial
217
+ * institution, this will contain supplemental details.
218
+ */
219
+ decline: CardPushTransfer.Decline | null;
220
+
221
+ /**
222
+ * The idempotency key you chose for this object. This value is unique across
223
+ * Increase and is used to ensure that a request is only processed once. Learn more
224
+ * about [idempotency](https://increase.com/documentation/idempotency-keys).
225
+ */
226
+ idempotency_key: string | null;
227
+
228
+ /**
229
+ * The merchant category code (MCC) of the merchant (generally your business)
230
+ * sending the transfer. This is a four-digit code that describes the type of
231
+ * business or service provided by the merchant. Your program must be approved for
232
+ * the specified MCC in order to use it.
233
+ */
234
+ merchant_category_code: string;
235
+
236
+ /**
237
+ * The city name of the merchant (generally your business) sending the transfer.
238
+ */
239
+ merchant_city_name: string;
240
+
241
+ /**
242
+ * The merchant name shows up as the statement descriptor for the transfer. This is
243
+ * typically the name of your business or organization.
244
+ */
245
+ merchant_name: string;
246
+
247
+ /**
248
+ * For certain Business Application Identifiers, the statement descriptor is
249
+ * `merchant_name_prefix*sender_name`, where the `merchant_name_prefix` is a one to
250
+ * four character prefix that identifies the merchant.
251
+ */
252
+ merchant_name_prefix: string;
253
+
254
+ /**
255
+ * The postal code of the merchant (generally your business) sending the transfer.
256
+ */
257
+ merchant_postal_code: string;
258
+
259
+ /**
260
+ * The state of the merchant (generally your business) sending the transfer.
261
+ */
262
+ merchant_state: string;
263
+
264
+ /**
265
+ * The name of the funds recipient.
266
+ */
267
+ recipient_name: string;
268
+
269
+ /**
270
+ * The city of the sender.
271
+ */
272
+ sender_address_city: string;
273
+
274
+ /**
275
+ * The address line 1 of the sender.
276
+ */
277
+ sender_address_line1: string;
278
+
279
+ /**
280
+ * The postal code of the sender.
281
+ */
282
+ sender_address_postal_code: string;
283
+
284
+ /**
285
+ * The state of the sender.
286
+ */
287
+ sender_address_state: string;
288
+
289
+ /**
290
+ * The name of the funds originator.
291
+ */
292
+ sender_name: string;
293
+
294
+ /**
295
+ * The Account Number the recipient will see as having sent the transfer.
296
+ */
297
+ source_account_number_id: string;
298
+
299
+ /**
300
+ * The lifecycle status of the transfer.
301
+ *
302
+ * - `pending_approval` - The transfer is pending approval.
303
+ * - `canceled` - The transfer has been canceled.
304
+ * - `pending_reviewing` - The transfer is pending review by Increase.
305
+ * - `requires_attention` - The transfer requires attention from an Increase
306
+ * operator.
307
+ * - `pending_submission` - The transfer is queued to be submitted to the card
308
+ * network.
309
+ * - `submitted` - The transfer has been submitted and is pending a response from
310
+ * the card network.
311
+ * - `complete` - The transfer has been sent successfully and is complete.
312
+ * - `declined` - The transfer was declined by the network or the recipient's bank.
313
+ */
314
+ status:
315
+ | 'pending_approval'
316
+ | 'canceled'
317
+ | 'pending_reviewing'
318
+ | 'requires_attention'
319
+ | 'pending_submission'
320
+ | 'submitted'
321
+ | 'complete'
322
+ | 'declined';
323
+
324
+ /**
325
+ * After the transfer is submitted to the card network, this will contain
326
+ * supplemental details.
327
+ */
328
+ submission: CardPushTransfer.Submission | null;
329
+
330
+ /**
331
+ * A constant representing the object's type. For this resource it will always be
332
+ * `card_push_transfer`.
333
+ */
334
+ type: 'card_push_transfer';
335
+ }
336
+
337
+ export namespace CardPushTransfer {
338
+ /**
339
+ * If the transfer is accepted by the recipient bank, this will contain
340
+ * supplemental details.
341
+ */
342
+ export interface Acceptance {
343
+ /**
344
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
345
+ * the transfer was accepted by the issuing bank.
346
+ */
347
+ accepted_at: string;
348
+
349
+ /**
350
+ * The authorization identification response from the issuing bank.
351
+ */
352
+ authorization_identification_response: string;
353
+
354
+ /**
355
+ * The result of the Card Verification Value 2 match.
356
+ *
357
+ * - `match` - The Card Verification Value 2 (CVV2) matches the expected value.
358
+ * - `no_match` - The Card Verification Value 2 (CVV2) does not match the expected
359
+ * value.
360
+ */
361
+ card_verification_value2_result: 'match' | 'no_match' | null;
362
+
363
+ /**
364
+ * A unique identifier for the transaction on the card network.
365
+ */
366
+ network_transaction_identifier: string | null;
367
+ }
368
+
369
+ /**
370
+ * If your account requires approvals for transfers and the transfer was approved,
371
+ * this will contain details of the approval.
372
+ */
373
+ export interface Approval {
374
+ /**
375
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
376
+ * the transfer was approved.
377
+ */
378
+ approved_at: string;
379
+
380
+ /**
381
+ * If the Transfer was approved by a user in the dashboard, the email address of
382
+ * that user.
383
+ */
384
+ approved_by: string | null;
385
+ }
386
+
387
+ /**
388
+ * If your account requires approvals for transfers and the transfer was not
389
+ * approved, this will contain details of the cancellation.
390
+ */
391
+ export interface Cancellation {
392
+ /**
393
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
394
+ * the Transfer was canceled.
395
+ */
396
+ canceled_at: string;
397
+
398
+ /**
399
+ * If the Transfer was canceled by a user in the dashboard, the email address of
400
+ * that user.
401
+ */
402
+ canceled_by: string | null;
403
+ }
404
+
405
+ /**
406
+ * What object created the transfer, either via the API or the dashboard.
407
+ */
408
+ export interface CreatedBy {
409
+ /**
410
+ * If present, details about the API key that created the transfer.
411
+ */
412
+ api_key: CreatedBy.APIKey | null;
413
+
414
+ /**
415
+ * The type of object that created this transfer.
416
+ *
417
+ * - `api_key` - An API key. Details will be under the `api_key` object.
418
+ * - `oauth_application` - An OAuth application you connected to Increase. Details
419
+ * will be under the `oauth_application` object.
420
+ * - `user` - A User in the Increase dashboard. Details will be under the `user`
421
+ * object.
422
+ */
423
+ category: 'api_key' | 'oauth_application' | 'user';
424
+
425
+ /**
426
+ * If present, details about the OAuth Application that created the transfer.
427
+ */
428
+ oauth_application: CreatedBy.OAuthApplication | null;
429
+
430
+ /**
431
+ * If present, details about the User that created the transfer.
432
+ */
433
+ user: CreatedBy.User | null;
434
+ }
435
+
436
+ export namespace CreatedBy {
437
+ /**
438
+ * If present, details about the API key that created the transfer.
439
+ */
440
+ export interface APIKey {
441
+ /**
442
+ * The description set for the API key when it was created.
443
+ */
444
+ description: string | null;
445
+ }
446
+
447
+ /**
448
+ * If present, details about the OAuth Application that created the transfer.
449
+ */
450
+ export interface OAuthApplication {
451
+ /**
452
+ * The name of the OAuth Application.
453
+ */
454
+ name: string;
455
+ }
456
+
457
+ /**
458
+ * If present, details about the User that created the transfer.
459
+ */
460
+ export interface User {
461
+ /**
462
+ * The email address of the User.
463
+ */
464
+ email: string;
465
+ }
466
+ }
467
+
468
+ /**
469
+ * If the transfer is rejected by the card network or the destination financial
470
+ * institution, this will contain supplemental details.
471
+ */
472
+ export interface Decline {
473
+ /**
474
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
475
+ * the transfer declined.
476
+ */
477
+ declined_at: string;
478
+
479
+ /**
480
+ * A unique identifier for the transaction on the card network.
481
+ */
482
+ network_transaction_identifier: string | null;
483
+
484
+ /**
485
+ * The reason why the transfer was declined.
486
+ *
487
+ * - `do_not_honor` - The card issuer has declined the transaction without
488
+ * providing a specific reason.
489
+ * - `activity_count_limit_exceeded` - The number of transactions for the card has
490
+ * exceeded the limit set by the issuer.
491
+ * - `refer_to_card_issuer` - The card issuer requires the cardholder to contact
492
+ * them for further information regarding the transaction.
493
+ * - `refer_to_card_issuer_special_condition` - The card issuer requires the
494
+ * cardholder to contact them due to a special condition related to the
495
+ * transaction.
496
+ * - `invalid_merchant` - The merchant is not valid for this transaction.
497
+ * - `pick_up_card` - The card should be retained by the terminal.
498
+ * - `error` - An error occurred during processing of the transaction.
499
+ * - `pick_up_card_special` - The card should be retained by the terminal due to a
500
+ * special condition.
501
+ * - `invalid_transaction` - The transaction is invalid and cannot be processed.
502
+ * - `invalid_amount` - The amount of the transaction is invalid.
503
+ * - `invalid_account_number` - The account number provided is invalid.
504
+ * - `no_such_issuer` - The issuer of the card could not be found.
505
+ * - `re_enter_transaction` - The transaction should be re-entered for processing.
506
+ * - `no_credit_account` - There is no credit account associated with the card.
507
+ * - `pick_up_card_lost` - The card should be retained by the terminal because it
508
+ * has been reported lost.
509
+ * - `pick_up_card_stolen` - The card should be retained by the terminal because it
510
+ * has been reported stolen.
511
+ * - `closed_account` - The account associated with the card has been closed.
512
+ * - `insufficient_funds` - There are insufficient funds in the account to complete
513
+ * the transaction.
514
+ * - `no_checking_account` - There is no checking account associated with the card.
515
+ * - `no_savings_account` - There is no savings account associated with the card.
516
+ * - `expired_card` - The card has expired and cannot be used for transactions.
517
+ * - `transaction_not_permitted_to_cardholder` - The transaction is not permitted
518
+ * for this cardholder.
519
+ * - `transaction_not_allowed_at_terminal` - The transaction is not allowed at this
520
+ * terminal.
521
+ * - `suspected_fraud` - The transaction has been flagged as suspected fraud and
522
+ * cannot be processed.
523
+ * - `activity_amount_limit_exceeded` - The amount of activity on the card has
524
+ * exceeded the limit set by the issuer.
525
+ * - `restricted_card` - The card has restrictions that prevent it from being used
526
+ * for this transaction.
527
+ * - `security_violation` - A security violation has occurred, preventing the
528
+ * transaction from being processed.
529
+ * - `transaction_does_not_fulfill_anti_money_laundering_requirement` - The
530
+ * transaction does not meet the anti-money laundering requirements set by the
531
+ * issuer.
532
+ * - `blocked_first_use` - The first use of the card has been blocked by the
533
+ * issuer.
534
+ * - `credit_issuer_unavailable` - The credit issuer is currently unavailable to
535
+ * process the transaction.
536
+ * - `negative_card_verification_value_results` - The card verification value (CVV)
537
+ * results were negative, indicating a potential issue with the card.
538
+ * - `issuer_unavailable` - The issuer of the card is currently unavailable to
539
+ * process the transaction.
540
+ * - `financial_institution_cannot_be_found` - The financial institution associated
541
+ * with the card could not be found.
542
+ * - `transaction_cannot_be_completed` - The transaction cannot be completed due to
543
+ * an unspecified reason.
544
+ * - `duplicate_transaction` - The transaction is a duplicate of a previous
545
+ * transaction and cannot be processed again.
546
+ * - `system_malfunction` - A system malfunction occurred, preventing the
547
+ * transaction from being processed.
548
+ * - `additional_customer_authentication_required` - Additional customer
549
+ * authentication is required to complete the transaction.
550
+ * - `surcharge_amount_not_permitted` - The surcharge amount applied to the
551
+ * transaction is not permitted by the issuer.
552
+ * - `decline_for_cvv2_failure` - The transaction was declined due to a failure in
553
+ * verifying the CVV2 code.
554
+ * - `stop_payment_order` - A stop payment order has been placed on this
555
+ * transaction.
556
+ * - `revocation_of_authorization_order` - An order has been placed to revoke
557
+ * authorization for this transaction.
558
+ * - `revocation_of_all_authorizations_order` - An order has been placed to revoke
559
+ * all authorizations for this cardholder.
560
+ */
561
+ reason:
562
+ | 'do_not_honor'
563
+ | 'activity_count_limit_exceeded'
564
+ | 'refer_to_card_issuer'
565
+ | 'refer_to_card_issuer_special_condition'
566
+ | 'invalid_merchant'
567
+ | 'pick_up_card'
568
+ | 'error'
569
+ | 'pick_up_card_special'
570
+ | 'invalid_transaction'
571
+ | 'invalid_amount'
572
+ | 'invalid_account_number'
573
+ | 'no_such_issuer'
574
+ | 're_enter_transaction'
575
+ | 'no_credit_account'
576
+ | 'pick_up_card_lost'
577
+ | 'pick_up_card_stolen'
578
+ | 'closed_account'
579
+ | 'insufficient_funds'
580
+ | 'no_checking_account'
581
+ | 'no_savings_account'
582
+ | 'expired_card'
583
+ | 'transaction_not_permitted_to_cardholder'
584
+ | 'transaction_not_allowed_at_terminal'
585
+ | 'suspected_fraud'
586
+ | 'activity_amount_limit_exceeded'
587
+ | 'restricted_card'
588
+ | 'security_violation'
589
+ | 'transaction_does_not_fulfill_anti_money_laundering_requirement'
590
+ | 'blocked_first_use'
591
+ | 'credit_issuer_unavailable'
592
+ | 'negative_card_verification_value_results'
593
+ | 'issuer_unavailable'
594
+ | 'financial_institution_cannot_be_found'
595
+ | 'transaction_cannot_be_completed'
596
+ | 'duplicate_transaction'
597
+ | 'system_malfunction'
598
+ | 'additional_customer_authentication_required'
599
+ | 'surcharge_amount_not_permitted'
600
+ | 'decline_for_cvv2_failure'
601
+ | 'stop_payment_order'
602
+ | 'revocation_of_authorization_order'
603
+ | 'revocation_of_all_authorizations_order';
604
+ }
605
+
606
+ /**
607
+ * After the transfer is submitted to the card network, this will contain
608
+ * supplemental details.
609
+ */
610
+ export interface Submission {
611
+ /**
612
+ * A 12-digit retrieval reference number that identifies the transfer. Usually a
613
+ * combination of a timestamp and the trace number.
614
+ */
615
+ retrieval_reference_number: string;
616
+
617
+ /**
618
+ * A unique reference for the transfer.
619
+ */
620
+ sender_reference: string;
621
+
622
+ /**
623
+ * The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
624
+ * the transfer was submitted to card network.
625
+ */
626
+ submitted_at: string;
627
+
628
+ /**
629
+ * A 6-digit trace number that identifies the transfer within a small window of
630
+ * time.
631
+ */
632
+ trace_number: string;
633
+ }
634
+ }
635
+
636
+ export interface CardPushTransferCreateParams {
637
+ /**
638
+ * The transfer amount in USD cents. For Card Push transfers, must be positive.
639
+ */
640
+ amount: number;
641
+
642
+ /**
643
+ * The Business Application Identifier describes the type of transaction being
644
+ * performed. Your program must be approved for the specified Business Application
645
+ * Identifier in order to use it.
646
+ *
647
+ * - `account_to_account` - Account to Account
648
+ * - `business_to_business` - Business to Business
649
+ * - `money_transfer_bank_initiated` - Money Transfer Bank Initiated
650
+ * - `non_card_bill_payment` - Non-Card Bill Payment
651
+ * - `consumer_bill_payment` - Consumer Bill Payment
652
+ * - `card_bill_payment` - Card Bill Payment
653
+ * - `funds_disbursement` - Funds Disbursement
654
+ * - `funds_transfer` - Funds Transfer
655
+ * - `loyalty_and_offers` - Loyalty and Offers
656
+ * - `merchant_disbursement` - Merchant Disbursement
657
+ * - `merchant_payment` - Merchant Payment
658
+ * - `person_to_person` - Person to Person
659
+ * - `top_up` - Top Up
660
+ * - `wallet_transfer` - Wallet Transfer
661
+ */
662
+ business_application_identifier:
663
+ | 'account_to_account'
664
+ | 'business_to_business'
665
+ | 'money_transfer_bank_initiated'
666
+ | 'non_card_bill_payment'
667
+ | 'consumer_bill_payment'
668
+ | 'card_bill_payment'
669
+ | 'funds_disbursement'
670
+ | 'funds_transfer'
671
+ | 'loyalty_and_offers'
672
+ | 'merchant_disbursement'
673
+ | 'merchant_payment'
674
+ | 'person_to_person'
675
+ | 'top_up'
676
+ | 'wallet_transfer';
677
+
678
+ /**
679
+ * The Increase identifier for the Card Token that represents the card number
680
+ * you're pushing funds to.
681
+ */
682
+ card_token_id: string;
683
+
684
+ /**
685
+ * The merchant category code (MCC) of the merchant (generally your business)
686
+ * sending the transfer. This is a four-digit code that describes the type of
687
+ * business or service provided by the merchant. Your program must be approved for
688
+ * the specified MCC in order to use it.
689
+ */
690
+ merchant_category_code: string;
691
+
692
+ /**
693
+ * The city name of the merchant (generally your business) sending the transfer.
694
+ */
695
+ merchant_city_name: string;
696
+
697
+ /**
698
+ * The merchant name shows up as the statement descriptor for the transfer. This is
699
+ * typically the name of your business or organization.
700
+ */
701
+ merchant_name: string;
702
+
703
+ /**
704
+ * For certain Business Application Identifiers, the statement descriptor is
705
+ * `merchant_name_prefix*sender_name`, where the `merchant_name_prefix` is a one to
706
+ * four character prefix that identifies the merchant.
707
+ */
708
+ merchant_name_prefix: string;
709
+
710
+ /**
711
+ * The postal code of the merchant (generally your business) sending the transfer.
712
+ */
713
+ merchant_postal_code: string;
714
+
715
+ /**
716
+ * The state of the merchant (generally your business) sending the transfer.
717
+ */
718
+ merchant_state: string;
719
+
720
+ /**
721
+ * The name of the funds recipient.
722
+ */
723
+ recipient_name: string;
724
+
725
+ /**
726
+ * The city of the sender.
727
+ */
728
+ sender_address_city: string;
729
+
730
+ /**
731
+ * The address line 1 of the sender.
732
+ */
733
+ sender_address_line1: string;
734
+
735
+ /**
736
+ * The postal code of the sender.
737
+ */
738
+ sender_address_postal_code: string;
739
+
740
+ /**
741
+ * The state of the sender.
742
+ */
743
+ sender_address_state: string;
744
+
745
+ /**
746
+ * The name of the funds originator.
747
+ */
748
+ sender_name: string;
749
+
750
+ /**
751
+ * The identifier of the Account Number from which to send the transfer.
752
+ */
753
+ source_account_number_id: string;
754
+
755
+ /**
756
+ * Whether the transfer requires explicit approval via the dashboard or API.
757
+ */
758
+ require_approval?: boolean;
759
+ }
760
+
761
+ export interface CardPushTransferListParams extends PageParams {
762
+ /**
763
+ * Filter Card Push Transfers to ones belonging to the specified Account.
764
+ */
765
+ account_id?: string;
766
+
767
+ created_at?: CardPushTransferListParams.CreatedAt;
768
+
769
+ /**
770
+ * Filter records to the one with the specified `idempotency_key` you chose for
771
+ * that object. This value is unique across Increase and is used to ensure that a
772
+ * request is only processed once. Learn more about
773
+ * [idempotency](https://increase.com/documentation/idempotency-keys).
774
+ */
775
+ idempotency_key?: string;
776
+
777
+ status?: CardPushTransferListParams.Status;
778
+ }
779
+
780
+ export namespace CardPushTransferListParams {
781
+ export interface CreatedAt {
782
+ /**
783
+ * Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
784
+ * timestamp.
785
+ */
786
+ after?: string;
787
+
788
+ /**
789
+ * Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
790
+ * timestamp.
791
+ */
792
+ before?: string;
793
+
794
+ /**
795
+ * Return results on or after this
796
+ * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
797
+ */
798
+ on_or_after?: string;
799
+
800
+ /**
801
+ * Return results on or before this
802
+ * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
803
+ */
804
+ on_or_before?: string;
805
+ }
806
+
807
+ export interface Status {
808
+ /**
809
+ * Filter Card Push Transfers by status. For GET requests, this should be encoded
810
+ * as a comma-delimited string, such as `?in=one,two,three`.
811
+ */
812
+ in?: Array<
813
+ | 'pending_approval'
814
+ | 'canceled'
815
+ | 'pending_reviewing'
816
+ | 'requires_attention'
817
+ | 'pending_submission'
818
+ | 'submitted'
819
+ | 'complete'
820
+ | 'declined'
821
+ >;
822
+ }
823
+ }
824
+
825
+ CardPushTransfers.CardPushTransfersPage = CardPushTransfersPage;
826
+
827
+ export declare namespace CardPushTransfers {
828
+ export {
829
+ type CardPushTransfer as CardPushTransfer,
830
+ CardPushTransfersPage as CardPushTransfersPage,
831
+ type CardPushTransferCreateParams as CardPushTransferCreateParams,
832
+ type CardPushTransferListParams as CardPushTransferListParams,
833
+ };
834
+ }