lithic 0.21.0 → 0.22.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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -10
  4. data/lib/lithic/internal/type/union.rb +21 -7
  5. data/lib/lithic/models/account_holder_create_params.rb +4 -2
  6. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +120 -66
  7. data/lib/lithic/models/account_holder_update_params.rb +6 -3
  8. data/lib/lithic/models/account_holder_update_response.rb +156 -86
  9. data/lib/lithic/models/account_holder_updated_webhook_event.rb +120 -66
  10. data/lib/lithic/models/account_holders/account_holder_entity.rb +35 -19
  11. data/lib/lithic/models/account_holders/entity_create_params.rb +39 -21
  12. data/lib/lithic/models/address.rb +33 -19
  13. data/lib/lithic/models/address_update.rb +27 -11
  14. data/lib/lithic/models/auth_rules/auth_rule.rb +55 -27
  15. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +189 -6
  16. data/lib/lithic/models/auth_rules/auth_rule_entities.rb +47 -0
  17. data/lib/lithic/models/auth_rules/auth_rule_entities_response.rb +31 -0
  18. data/lib/lithic/models/auth_rules/auth_rule_entity.rb +150 -0
  19. data/lib/lithic/models/auth_rules/auth_rule_version.rb +3 -6
  20. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +33 -6
  21. data/lib/lithic/models/auth_rules/conditional_attribute.rb +101 -5
  22. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +3 -439
  23. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +7 -0
  24. data/lib/lithic/models/auth_rules/merchant_lock_parameters.rb +11 -1
  25. data/lib/lithic/models/auth_rules/v2_create_params.rb +203 -45
  26. data/lib/lithic/models/auth_rules/v2_draft_params.rb +3 -6
  27. data/lib/lithic/models/auth_rules/v2_list_params.rb +5 -3
  28. data/lib/lithic/models/auth_rules/v2_update_entities_params.rb +39 -0
  29. data/lib/lithic/models/auth_rules/v2_update_params.rb +133 -12
  30. data/lib/lithic/models/card_authorization.rb +11 -1
  31. data/lib/lithic/models/card_create_params.rb +11 -1
  32. data/lib/lithic/models/card_update_params.rb +12 -1
  33. data/lib/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rb +279 -0
  34. data/lib/lithic/models/financial_accounts/installment_plans/statement_list_params.rb +106 -0
  35. data/lib/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rb +42 -0
  36. data/lib/lithic/models/financial_accounts/loan_tape.rb +62 -1
  37. data/lib/lithic/models/kyb.rb +4 -2
  38. data/lib/lithic/models/kyb_business_entity.rb +35 -19
  39. data/lib/lithic/models/kyc.rb +2 -1
  40. data/lib/lithic/models/non_pci_card.rb +11 -1
  41. data/lib/lithic/models/parsed_webhook_event.rb +120 -66
  42. data/lib/lithic/models/payment.rb +2 -1
  43. data/lib/lithic/models/transaction.rb +2 -1
  44. data/lib/lithic/models/transaction_simulate_authorization_params.rb +28 -4
  45. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +11 -1
  46. data/lib/lithic/models/transaction_simulate_return_params.rb +24 -1
  47. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -8
  48. data/lib/lithic/resources/auth_rules/v2.rb +44 -8
  49. data/lib/lithic/resources/cards.rb +6 -2
  50. data/lib/lithic/resources/financial_accounts/installment_plans/statements.rb +107 -0
  51. data/lib/lithic/resources/financial_accounts/installment_plans.rb +4 -0
  52. data/lib/lithic/resources/transactions.rb +17 -4
  53. data/lib/lithic/resources/webhooks.rb +18 -0
  54. data/lib/lithic/version.rb +1 -1
  55. data/lib/lithic.rb +8 -1
  56. data/rbi/lithic/models/account_holder_create_params.rbi +8 -4
  57. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +195 -90
  58. data/rbi/lithic/models/account_holder_update_params.rbi +12 -6
  59. data/rbi/lithic/models/account_holder_update_response.rbi +254 -117
  60. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +195 -90
  61. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +59 -27
  62. data/rbi/lithic/models/account_holders/entity_create_params.rbi +65 -30
  63. data/rbi/lithic/models/address.rbi +57 -29
  64. data/rbi/lithic/models/address_update.rbi +50 -24
  65. data/rbi/lithic/models/auth_rules/auth_rule.rbi +53 -19
  66. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +442 -13
  67. data/rbi/lithic/models/auth_rules/auth_rule_entities.rbi +163 -0
  68. data/rbi/lithic/models/auth_rules/auth_rule_entities_response.rbi +72 -0
  69. data/rbi/lithic/models/auth_rules/auth_rule_entity.rbi +199 -0
  70. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +0 -2
  71. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +67 -9
  72. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +193 -5
  73. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +3 -939
  74. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +14 -0
  75. data/rbi/lithic/models/auth_rules/merchant_lock_parameters.rbi +14 -3
  76. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +325 -50
  77. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +0 -4
  78. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +6 -3
  79. data/rbi/lithic/models/auth_rules/v2_update_entities_params.rbi +68 -0
  80. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +198 -5
  81. data/rbi/lithic/models/card_authorization.rbi +12 -0
  82. data/rbi/lithic/models/card_create_params.rbi +15 -0
  83. data/rbi/lithic/models/card_update_params.rbi +17 -0
  84. data/rbi/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbi +452 -0
  85. data/rbi/lithic/models/financial_accounts/installment_plans/statement_list_params.rbi +191 -0
  86. data/rbi/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbi +66 -0
  87. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +119 -0
  88. data/rbi/lithic/models/kyb.rbi +8 -4
  89. data/rbi/lithic/models/kyb_business_entity.rbi +59 -27
  90. data/rbi/lithic/models/kyc.rbi +4 -2
  91. data/rbi/lithic/models/non_pci_card.rbi +12 -0
  92. data/rbi/lithic/models/parsed_webhook_event.rbi +195 -90
  93. data/rbi/lithic/models/payment.rbi +4 -2
  94. data/rbi/lithic/models/transaction.rbi +4 -2
  95. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +42 -4
  96. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +15 -0
  97. data/rbi/lithic/models/transaction_simulate_return_params.rbi +30 -0
  98. data/rbi/lithic/resources/account_holders/entities.rbi +2 -1
  99. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -8
  100. data/rbi/lithic/resources/auth_rules/v2.rbi +43 -8
  101. data/rbi/lithic/resources/cards.rbi +11 -0
  102. data/rbi/lithic/resources/financial_accounts/installment_plans/statements.rbi +86 -0
  103. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +7 -0
  104. data/rbi/lithic/resources/transactions.rbi +31 -2
  105. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +39 -39
  106. data/sig/lithic/models/account_holder_update_response.rbs +52 -52
  107. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +39 -39
  108. data/sig/lithic/models/account_holders/account_holder_entity.rbs +13 -13
  109. data/sig/lithic/models/account_holders/entity_create_params.rbs +13 -13
  110. data/sig/lithic/models/address.rbs +13 -13
  111. data/sig/lithic/models/address_update.rbs +8 -12
  112. data/sig/lithic/models/auth_rules/auth_rule.rbs +8 -7
  113. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +89 -3
  114. data/sig/lithic/models/auth_rules/auth_rule_entities.rbs +37 -0
  115. data/sig/lithic/models/auth_rules/auth_rule_entities_response.rbs +29 -0
  116. data/sig/lithic/models/auth_rules/auth_rule_entity.rbs +80 -0
  117. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -2
  118. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -0
  119. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +46 -0
  120. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +4 -204
  121. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +2 -0
  122. data/sig/lithic/models/auth_rules/merchant_lock_parameters.rbs +10 -3
  123. data/sig/lithic/models/auth_rules/v2_create_params.rbs +86 -16
  124. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -2
  125. data/sig/lithic/models/auth_rules/v2_update_entities_params.rbs +46 -0
  126. data/sig/lithic/models/auth_rules/v2_update_params.rbs +47 -1
  127. data/sig/lithic/models/card_authorization.rbs +5 -0
  128. data/sig/lithic/models/card_create_params.rbs +7 -0
  129. data/sig/lithic/models/card_update_params.rbs +8 -1
  130. data/sig/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbs +191 -0
  131. data/sig/lithic/models/financial_accounts/installment_plans/statement_list_params.rbs +90 -0
  132. data/sig/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbs +40 -0
  133. data/sig/lithic/models/financial_accounts/loan_tape.rbs +47 -0
  134. data/sig/lithic/models/kyb_business_entity.rbs +13 -13
  135. data/sig/lithic/models/non_pci_card.rbs +5 -0
  136. data/sig/lithic/models/parsed_webhook_event.rbs +39 -39
  137. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +14 -0
  138. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +7 -0
  139. data/sig/lithic/models/transaction_simulate_return_params.rbs +19 -1
  140. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  141. data/sig/lithic/resources/cards.rbs +2 -0
  142. data/sig/lithic/resources/financial_accounts/installment_plans/statements.rbs +30 -0
  143. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +2 -0
  144. data/sig/lithic/resources/transactions.rbs +5 -0
  145. metadata +26 -5
  146. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +0 -20
  147. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +0 -37
  148. data/sig/lithic/models/auth_rules/conditional_block_parameters.rbs +0 -20
@@ -340,7 +340,8 @@ module Lithic
340
340
  end
341
341
 
342
342
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
343
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
343
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
344
+ # and KYC workflows.
344
345
  sig do
345
346
  returns(
346
347
  T.nilable(
@@ -407,7 +408,8 @@ module Lithic
407
408
  end
408
409
  def self.new(
409
410
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
410
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
411
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
412
+ # and KYC workflows.
411
413
  address: nil,
412
414
  # Individual's date of birth, as an RFC 3339 date.
413
415
  dob: nil,
@@ -457,21 +459,12 @@ module Lithic
457
459
  sig { returns(String) }
458
460
  attr_accessor :city
459
461
 
460
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
461
- # 3166-1 alpha-3 three-character format.
462
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
463
+ # format. Supported countries depend on the onboarding workflow used for the
464
+ # account holder.
462
465
  sig { returns(String) }
463
466
  attr_accessor :country
464
467
 
465
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
466
- # five-digit ZIP or nine-digit ZIP+4.
467
- sig { returns(String) }
468
- attr_accessor :postal_code
469
-
470
- # Valid state code. Only USA state codes are currently supported, entered in
471
- # uppercase ISO 3166-2 two-character format.
472
- sig { returns(String) }
473
- attr_accessor :state
474
-
475
468
  # Unit or apartment number (if applicable).
476
469
  sig { returns(T.nilable(String)) }
477
470
  attr_reader :address2
@@ -479,16 +472,42 @@ module Lithic
479
472
  sig { params(address2: String).void }
480
473
  attr_writer :address2
481
474
 
475
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
476
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
477
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
478
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
479
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
480
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
481
+ sig { returns(T.nilable(String)) }
482
+ attr_accessor :postal_code
483
+
484
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
485
+ # code for the country without the country prefix. For example, `CA` for
486
+ # California. Optional unless the address is in one of the following countries,
487
+ # where it is required:
488
+ #
489
+ # - `USA`
490
+ # - `CAN`
491
+ # - `AUS`
492
+ # - `CHN`
493
+ # - `KOR`
494
+ # - `MEX`
495
+ # - `MYS`
496
+ # - `NZL`
497
+ sig { returns(T.nilable(String)) }
498
+ attr_accessor :state
499
+
482
500
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
483
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
501
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
502
+ # and KYC workflows.
484
503
  sig do
485
504
  params(
486
505
  address1: String,
487
506
  city: String,
488
507
  country: String,
489
- postal_code: String,
490
- state: String,
491
- address2: String
508
+ address2: String,
509
+ postal_code: T.nilable(String),
510
+ state: T.nilable(String)
492
511
  ).returns(T.attached_class)
493
512
  end
494
513
  def self.new(
@@ -496,17 +515,33 @@ module Lithic
496
515
  address1:,
497
516
  # Name of city.
498
517
  city:,
499
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
500
- # 3166-1 alpha-3 three-character format.
518
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
519
+ # format. Supported countries depend on the onboarding workflow used for the
520
+ # account holder.
501
521
  country:,
502
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
503
- # five-digit ZIP or nine-digit ZIP+4.
504
- postal_code:,
505
- # Valid state code. Only USA state codes are currently supported, entered in
506
- # uppercase ISO 3166-2 two-character format.
507
- state:,
508
522
  # Unit or apartment number (if applicable).
509
- address2: nil
523
+ address2: nil,
524
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
525
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
526
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
527
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
528
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
529
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
530
+ postal_code: nil,
531
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
532
+ # code for the country without the country prefix. For example, `CA` for
533
+ # California. Optional unless the address is in one of the following countries,
534
+ # where it is required:
535
+ #
536
+ # - `USA`
537
+ # - `CAN`
538
+ # - `AUS`
539
+ # - `CHN`
540
+ # - `KOR`
541
+ # - `MEX`
542
+ # - `MYS`
543
+ # - `NZL`
544
+ state: nil
510
545
  )
511
546
  end
512
547
 
@@ -516,9 +551,9 @@ module Lithic
516
551
  address1: String,
517
552
  city: String,
518
553
  country: String,
519
- postal_code: String,
520
- state: String,
521
- address2: String
554
+ address2: String,
555
+ postal_code: T.nilable(String),
556
+ state: T.nilable(String)
522
557
  }
523
558
  )
524
559
  end
@@ -537,7 +572,8 @@ module Lithic
537
572
  end
538
573
 
539
574
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
540
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
575
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
576
+ # and KYC workflows.
541
577
  sig do
542
578
  returns(
543
579
  T.nilable(
@@ -612,7 +648,8 @@ module Lithic
612
648
  end
613
649
  def self.new(
614
650
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
615
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
651
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
652
+ # and KYC workflows.
616
653
  address: nil,
617
654
  # Individual's date of birth, as an RFC 3339 date.
618
655
  dob: nil,
@@ -662,21 +699,12 @@ module Lithic
662
699
  sig { returns(String) }
663
700
  attr_accessor :city
664
701
 
665
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
666
- # 3166-1 alpha-3 three-character format.
702
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
703
+ # format. Supported countries depend on the onboarding workflow used for the
704
+ # account holder.
667
705
  sig { returns(String) }
668
706
  attr_accessor :country
669
707
 
670
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
671
- # five-digit ZIP or nine-digit ZIP+4.
672
- sig { returns(String) }
673
- attr_accessor :postal_code
674
-
675
- # Valid state code. Only USA state codes are currently supported, entered in
676
- # uppercase ISO 3166-2 two-character format.
677
- sig { returns(String) }
678
- attr_accessor :state
679
-
680
708
  # Unit or apartment number (if applicable).
681
709
  sig { returns(T.nilable(String)) }
682
710
  attr_reader :address2
@@ -684,16 +712,42 @@ module Lithic
684
712
  sig { params(address2: String).void }
685
713
  attr_writer :address2
686
714
 
715
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
716
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
717
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
718
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
719
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
720
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
721
+ sig { returns(T.nilable(String)) }
722
+ attr_accessor :postal_code
723
+
724
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
725
+ # code for the country without the country prefix. For example, `CA` for
726
+ # California. Optional unless the address is in one of the following countries,
727
+ # where it is required:
728
+ #
729
+ # - `USA`
730
+ # - `CAN`
731
+ # - `AUS`
732
+ # - `CHN`
733
+ # - `KOR`
734
+ # - `MEX`
735
+ # - `MYS`
736
+ # - `NZL`
737
+ sig { returns(T.nilable(String)) }
738
+ attr_accessor :state
739
+
687
740
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
688
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
741
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
742
+ # and KYC workflows.
689
743
  sig do
690
744
  params(
691
745
  address1: String,
692
746
  city: String,
693
747
  country: String,
694
- postal_code: String,
695
- state: String,
696
- address2: String
748
+ address2: String,
749
+ postal_code: T.nilable(String),
750
+ state: T.nilable(String)
697
751
  ).returns(T.attached_class)
698
752
  end
699
753
  def self.new(
@@ -701,17 +755,33 @@ module Lithic
701
755
  address1:,
702
756
  # Name of city.
703
757
  city:,
704
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
705
- # 3166-1 alpha-3 three-character format.
758
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
759
+ # format. Supported countries depend on the onboarding workflow used for the
760
+ # account holder.
706
761
  country:,
707
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
708
- # five-digit ZIP or nine-digit ZIP+4.
709
- postal_code:,
710
- # Valid state code. Only USA state codes are currently supported, entered in
711
- # uppercase ISO 3166-2 two-character format.
712
- state:,
713
762
  # Unit or apartment number (if applicable).
714
- address2: nil
763
+ address2: nil,
764
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
765
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
766
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
767
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
768
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
769
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
770
+ postal_code: nil,
771
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
772
+ # code for the country without the country prefix. For example, `CA` for
773
+ # California. Optional unless the address is in one of the following countries,
774
+ # where it is required:
775
+ #
776
+ # - `USA`
777
+ # - `CAN`
778
+ # - `AUS`
779
+ # - `CHN`
780
+ # - `KOR`
781
+ # - `MEX`
782
+ # - `MYS`
783
+ # - `NZL`
784
+ state: nil
715
785
  )
716
786
  end
717
787
 
@@ -721,9 +791,9 @@ module Lithic
721
791
  address1: String,
722
792
  city: String,
723
793
  country: String,
724
- postal_code: String,
725
- state: String,
726
- address2: String
794
+ address2: String,
795
+ postal_code: T.nilable(String),
796
+ state: T.nilable(String)
727
797
  }
728
798
  )
729
799
  end
@@ -914,7 +984,8 @@ module Lithic
914
984
  end
915
985
 
916
986
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
917
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
987
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
988
+ # and KYC workflows.
918
989
  sig do
919
990
  returns(
920
991
  T.nilable(
@@ -983,7 +1054,8 @@ module Lithic
983
1054
  end
984
1055
  def self.new(
985
1056
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
986
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
1057
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
1058
+ # and KYC workflows.
987
1059
  address: nil,
988
1060
  # Individual's date of birth, as an RFC 3339 date.
989
1061
  dob: nil,
@@ -1033,21 +1105,12 @@ module Lithic
1033
1105
  sig { returns(String) }
1034
1106
  attr_accessor :city
1035
1107
 
1036
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
1037
- # 3166-1 alpha-3 three-character format.
1108
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
1109
+ # format. Supported countries depend on the onboarding workflow used for the
1110
+ # account holder.
1038
1111
  sig { returns(String) }
1039
1112
  attr_accessor :country
1040
1113
 
1041
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
1042
- # five-digit ZIP or nine-digit ZIP+4.
1043
- sig { returns(String) }
1044
- attr_accessor :postal_code
1045
-
1046
- # Valid state code. Only USA state codes are currently supported, entered in
1047
- # uppercase ISO 3166-2 two-character format.
1048
- sig { returns(String) }
1049
- attr_accessor :state
1050
-
1051
1114
  # Unit or apartment number (if applicable).
1052
1115
  sig { returns(T.nilable(String)) }
1053
1116
  attr_reader :address2
@@ -1055,16 +1118,42 @@ module Lithic
1055
1118
  sig { params(address2: String).void }
1056
1119
  attr_writer :address2
1057
1120
 
1121
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
1122
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
1123
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
1124
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
1125
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
1126
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
1127
+ sig { returns(T.nilable(String)) }
1128
+ attr_accessor :postal_code
1129
+
1130
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
1131
+ # code for the country without the country prefix. For example, `CA` for
1132
+ # California. Optional unless the address is in one of the following countries,
1133
+ # where it is required:
1134
+ #
1135
+ # - `USA`
1136
+ # - `CAN`
1137
+ # - `AUS`
1138
+ # - `CHN`
1139
+ # - `KOR`
1140
+ # - `MEX`
1141
+ # - `MYS`
1142
+ # - `NZL`
1143
+ sig { returns(T.nilable(String)) }
1144
+ attr_accessor :state
1145
+
1058
1146
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
1059
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
1147
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
1148
+ # and KYC workflows.
1060
1149
  sig do
1061
1150
  params(
1062
1151
  address1: String,
1063
1152
  city: String,
1064
1153
  country: String,
1065
- postal_code: String,
1066
- state: String,
1067
- address2: String
1154
+ address2: String,
1155
+ postal_code: T.nilable(String),
1156
+ state: T.nilable(String)
1068
1157
  ).returns(T.attached_class)
1069
1158
  end
1070
1159
  def self.new(
@@ -1072,17 +1161,33 @@ module Lithic
1072
1161
  address1:,
1073
1162
  # Name of city.
1074
1163
  city:,
1075
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
1076
- # 3166-1 alpha-3 three-character format.
1164
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
1165
+ # format. Supported countries depend on the onboarding workflow used for the
1166
+ # account holder.
1077
1167
  country:,
1078
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
1079
- # five-digit ZIP or nine-digit ZIP+4.
1080
- postal_code:,
1081
- # Valid state code. Only USA state codes are currently supported, entered in
1082
- # uppercase ISO 3166-2 two-character format.
1083
- state:,
1084
1168
  # Unit or apartment number (if applicable).
1085
- address2: nil
1169
+ address2: nil,
1170
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
1171
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
1172
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
1173
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
1174
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
1175
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
1176
+ postal_code: nil,
1177
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
1178
+ # code for the country without the country prefix. For example, `CA` for
1179
+ # California. Optional unless the address is in one of the following countries,
1180
+ # where it is required:
1181
+ #
1182
+ # - `USA`
1183
+ # - `CAN`
1184
+ # - `AUS`
1185
+ # - `CHN`
1186
+ # - `KOR`
1187
+ # - `MEX`
1188
+ # - `MYS`
1189
+ # - `NZL`
1190
+ state: nil
1086
1191
  )
1087
1192
  end
1088
1193
 
@@ -1092,9 +1197,9 @@ module Lithic
1092
1197
  address1: String,
1093
1198
  city: String,
1094
1199
  country: String,
1095
- postal_code: String,
1096
- state: String,
1097
- address2: String
1200
+ address2: String,
1201
+ postal_code: T.nilable(String),
1202
+ state: T.nilable(String)
1098
1203
  }
1099
1204
  )
1100
1205
  end
@@ -102,7 +102,8 @@ module Lithic
102
102
  attr_accessor :external_bank_account_token
103
103
 
104
104
  # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
105
- # metadata with a resource for your own purposes.
105
+ # metadata with a resource for your own purposes. A resource can have at most 50
106
+ # tags, with keys up to 40 characters and values up to 500 characters
106
107
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
107
108
  attr_reader :tags
108
109
 
@@ -196,7 +197,8 @@ module Lithic
196
197
  # External bank account token
197
198
  external_bank_account_token: nil,
198
199
  # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
199
- # metadata with a resource for your own purposes.
200
+ # metadata with a resource for your own purposes. A resource can have at most 50
201
+ # tags, with keys up to 40 characters and values up to 500 characters
200
202
  tags: nil,
201
203
  type: nil,
202
204
  # User-defined identifier
@@ -140,7 +140,8 @@ module Lithic
140
140
  attr_accessor :status
141
141
 
142
142
  # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
143
- # metadata with a resource for your own purposes.
143
+ # metadata with a resource for your own purposes. A resource can have at most 50
144
+ # tags, with keys up to 40 characters and values up to 500 characters
144
145
  sig { returns(T::Hash[Symbol, String]) }
145
146
  attr_accessor :tags
146
147
 
@@ -253,7 +254,8 @@ module Lithic
253
254
  # Status of the transaction.
254
255
  status:,
255
256
  # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
256
- # metadata with a resource for your own purposes.
257
+ # metadata with a resource for your own purposes. A resource can have at most 50
258
+ # tags, with keys up to 40 characters and values up to 500 characters
257
259
  tags:,
258
260
  token_info:,
259
261
  # Date and time when the transaction last updated. UTC time zone.
@@ -30,6 +30,15 @@ module Lithic
30
30
  sig { returns(String) }
31
31
  attr_accessor :pan
32
32
 
33
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
34
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
35
+ # a 422. Defaults to USD
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :billing_currency
38
+
39
+ sig { params(billing_currency: String).void }
40
+ attr_writer :billing_currency
41
+
33
42
  # Merchant category code for the transaction to be simulated. A four-digit number
34
43
  # listed in ISO 18245. Supported merchant category codes can be found
35
44
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -75,8 +84,10 @@ module Lithic
75
84
  sig { params(merchant_amount: Integer).void }
76
85
  attr_writer :merchant_amount
77
86
 
78
- # 3-character alphabetic ISO 4217 currency code. Note: Simulator only accepts USD,
79
- # GBP, EUR and defaults to GBP if another ISO 4217 code is provided
87
+ # 3-character alphabetic ISO 4217 currency code for the merchant amount. Only used
88
+ # when merchant_amount is set, and defaults to GBP in that case. Without
89
+ # merchant_amount, the merchant amount uses the billing currency. Permitted values
90
+ # are USD, GBP, EUR and CAD, and any other ISO 4217 code returns a 422
80
91
  sig { returns(T.nilable(String)) }
81
92
  attr_reader :merchant_currency
82
93
 
@@ -99,6 +110,17 @@ module Lithic
99
110
  sig { params(pin: String).void }
100
111
  attr_writer :pin
101
112
 
113
+ # 3-character alphabetic ISO 4217 currency code for the settlement amount.
114
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
115
+ # a 422. Defaults to the value of billing_currency. Only single message
116
+ # (financial) authorizations carry a settlement amount, and the value is ignored
117
+ # for dual message authorizations
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :settlement_currency
120
+
121
+ sig { params(settlement_currency: String).void }
122
+ attr_writer :settlement_currency
123
+
102
124
  # Type of event to simulate.
103
125
  #
104
126
  # - `AUTHORIZATION` is a dual message purchase authorization, meaning a subsequent
@@ -137,6 +159,7 @@ module Lithic
137
159
  amount: Integer,
138
160
  descriptor: String,
139
161
  pan: String,
162
+ billing_currency: String,
140
163
  mcc: String,
141
164
  merchant_acceptor_city: String,
142
165
  merchant_acceptor_country: String,
@@ -146,6 +169,7 @@ module Lithic
146
169
  merchant_currency: String,
147
170
  partial_approval_capable: T::Boolean,
148
171
  pin: String,
172
+ settlement_currency: String,
149
173
  status:
150
174
  Lithic::TransactionSimulateAuthorizationParams::Status::OrSymbol,
151
175
  request_options: Lithic::RequestOptions::OrHash
@@ -162,6 +186,10 @@ module Lithic
162
186
  descriptor:,
163
187
  # Sixteen digit card number.
164
188
  pan:,
189
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
190
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
191
+ # a 422. Defaults to USD
192
+ billing_currency: nil,
165
193
  # Merchant category code for the transaction to be simulated. A four-digit number
166
194
  # listed in ISO 18245. Supported merchant category codes can be found
167
195
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -177,8 +205,10 @@ module Lithic
177
205
  # Amount of the transaction to be simulated in currency specified in
178
206
  # merchant_currency, including any acquirer fees.
179
207
  merchant_amount: nil,
180
- # 3-character alphabetic ISO 4217 currency code. Note: Simulator only accepts USD,
181
- # GBP, EUR and defaults to GBP if another ISO 4217 code is provided
208
+ # 3-character alphabetic ISO 4217 currency code for the merchant amount. Only used
209
+ # when merchant_amount is set, and defaults to GBP in that case. Without
210
+ # merchant_amount, the merchant amount uses the billing currency. Permitted values
211
+ # are USD, GBP, EUR and CAD, and any other ISO 4217 code returns a 422
182
212
  merchant_currency: nil,
183
213
  # Set to true if the terminal is capable of partial approval otherwise false.
184
214
  # Partial approval is when part of a transaction is approved and another payment
@@ -186,6 +216,12 @@ module Lithic
186
216
  partial_approval_capable: nil,
187
217
  # Simulate entering a PIN. If omitted, PIN check will not be performed.
188
218
  pin: nil,
219
+ # 3-character alphabetic ISO 4217 currency code for the settlement amount.
220
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
221
+ # a 422. Defaults to the value of billing_currency. Only single message
222
+ # (financial) authorizations carry a settlement amount, and the value is ignored
223
+ # for dual message authorizations
224
+ settlement_currency: nil,
189
225
  # Type of event to simulate.
190
226
  #
191
227
  # - `AUTHORIZATION` is a dual message purchase authorization, meaning a subsequent
@@ -213,6 +249,7 @@ module Lithic
213
249
  amount: Integer,
214
250
  descriptor: String,
215
251
  pan: String,
252
+ billing_currency: String,
216
253
  mcc: String,
217
254
  merchant_acceptor_city: String,
218
255
  merchant_acceptor_country: String,
@@ -222,6 +259,7 @@ module Lithic
222
259
  merchant_currency: String,
223
260
  partial_approval_capable: T::Boolean,
224
261
  pin: String,
262
+ settlement_currency: String,
225
263
  status:
226
264
  Lithic::TransactionSimulateAuthorizationParams::Status::OrSymbol,
227
265
  request_options: Lithic::RequestOptions
@@ -28,6 +28,15 @@ module Lithic
28
28
  sig { returns(String) }
29
29
  attr_accessor :pan
30
30
 
31
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
32
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
33
+ # a 422. Defaults to USD
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :billing_currency
36
+
37
+ sig { params(billing_currency: String).void }
38
+ attr_writer :billing_currency
39
+
31
40
  # Merchant category code for the transaction to be simulated. A four-digit number
32
41
  # listed in ISO 18245. Supported merchant category codes can be found
33
42
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -70,6 +79,7 @@ module Lithic
70
79
  amount: Integer,
71
80
  descriptor: String,
72
81
  pan: String,
82
+ billing_currency: String,
73
83
  mcc: String,
74
84
  merchant_acceptor_city: String,
75
85
  merchant_acceptor_country: String,
@@ -87,6 +97,10 @@ module Lithic
87
97
  descriptor:,
88
98
  # Sixteen digit card number.
89
99
  pan:,
100
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
101
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
102
+ # a 422. Defaults to USD
103
+ billing_currency: nil,
90
104
  # Merchant category code for the transaction to be simulated. A four-digit number
91
105
  # listed in ISO 18245. Supported merchant category codes can be found
92
106
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -109,6 +123,7 @@ module Lithic
109
123
  amount: Integer,
110
124
  descriptor: String,
111
125
  pan: String,
126
+ billing_currency: String,
112
127
  mcc: String,
113
128
  merchant_acceptor_city: String,
114
129
  merchant_acceptor_country: String,