increase 1.156.0 → 1.157.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.
@@ -54,6 +54,18 @@ module Increase
54
54
  end
55
55
  attr_writer :card_authorization
56
56
 
57
+ # Fields related to a card balance inquiry.
58
+ sig { returns(T.nilable(Increase::RealTimeDecision::CardBalanceInquiry)) }
59
+ attr_reader :card_balance_inquiry
60
+
61
+ sig do
62
+ params(
63
+ card_balance_inquiry:
64
+ T.nilable(Increase::RealTimeDecision::CardBalanceInquiry::OrHash)
65
+ ).void
66
+ end
67
+ attr_writer :card_balance_inquiry
68
+
57
69
  # The category of the Real-Time Decision.
58
70
  sig { returns(Increase::RealTimeDecision::Category::TaggedSymbol) }
59
71
  attr_accessor :category
@@ -122,6 +134,8 @@ module Increase
122
134
  ),
123
135
  card_authorization:
124
136
  T.nilable(Increase::RealTimeDecision::CardAuthorization::OrHash),
137
+ card_balance_inquiry:
138
+ T.nilable(Increase::RealTimeDecision::CardBalanceInquiry::OrHash),
125
139
  category: Increase::RealTimeDecision::Category::OrSymbol,
126
140
  created_at: Time,
127
141
  digital_wallet_authentication:
@@ -144,6 +158,8 @@ module Increase
144
158
  card_authentication_challenge:,
145
159
  # Fields related to a card authorization.
146
160
  card_authorization:,
161
+ # Fields related to a card balance inquiry.
162
+ card_balance_inquiry:,
147
163
  # The category of the Real-Time Decision.
148
164
  category:,
149
165
  # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
@@ -176,6 +192,8 @@ module Increase
176
192
  ),
177
193
  card_authorization:
178
194
  T.nilable(Increase::RealTimeDecision::CardAuthorization),
195
+ card_balance_inquiry:
196
+ T.nilable(Increase::RealTimeDecision::CardBalanceInquiry),
179
197
  category: Increase::RealTimeDecision::Category::TaggedSymbol,
180
198
  created_at: Time,
181
199
  digital_wallet_authentication:
@@ -3057,18 +3075,2023 @@ module Increase
3057
3075
  end
3058
3076
  end
3059
3077
 
3060
- # The category of the Real-Time Decision.
3061
- module Category
3062
- extend Increase::Internal::Type::Enum
3078
+ class CardBalanceInquiry < Increase::Internal::Type::BaseModel
3079
+ OrHash =
3080
+ T.type_alias do
3081
+ T.any(
3082
+ Increase::RealTimeDecision::CardBalanceInquiry,
3083
+ Increase::Internal::AnyHash
3084
+ )
3085
+ end
3063
3086
 
3064
- TaggedSymbol =
3065
- T.type_alias { T.all(Symbol, Increase::RealTimeDecision::Category) }
3066
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3087
+ # The identifier of the Account the authorization will debit.
3088
+ sig { returns(String) }
3089
+ attr_accessor :account_id
3067
3090
 
3068
- # A card is being authorized.
3069
- CARD_AUTHORIZATION_REQUESTED =
3070
- T.let(
3071
- :card_authorization_requested,
3091
+ # Additional amounts associated with the card authorization, such as ATM
3092
+ # surcharges fees. These are usually a subset of the `amount` field and are used
3093
+ # to provide more detailed information about the transaction.
3094
+ sig do
3095
+ returns(
3096
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts
3097
+ )
3098
+ end
3099
+ attr_reader :additional_amounts
3100
+
3101
+ sig do
3102
+ params(
3103
+ additional_amounts:
3104
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::OrHash
3105
+ ).void
3106
+ end
3107
+ attr_writer :additional_amounts
3108
+
3109
+ # Present if and only if `decision` is `approve`. Contains information related to
3110
+ # the approval of the balance inquiry.
3111
+ sig do
3112
+ returns(
3113
+ T.nilable(Increase::RealTimeDecision::CardBalanceInquiry::Approval)
3114
+ )
3115
+ end
3116
+ attr_reader :approval
3117
+
3118
+ sig do
3119
+ params(
3120
+ approval:
3121
+ T.nilable(
3122
+ Increase::RealTimeDecision::CardBalanceInquiry::Approval::OrHash
3123
+ )
3124
+ ).void
3125
+ end
3126
+ attr_writer :approval
3127
+
3128
+ # The identifier of the Card that is being authorized.
3129
+ sig { returns(String) }
3130
+ attr_accessor :card_id
3131
+
3132
+ # Whether or not the authorization was approved.
3133
+ sig do
3134
+ returns(
3135
+ T.nilable(
3136
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::TaggedSymbol
3137
+ )
3138
+ )
3139
+ end
3140
+ attr_accessor :decision
3141
+
3142
+ # If the authorization was made via a Digital Wallet Token (such as an Apple Pay
3143
+ # purchase), the identifier of the token that was used.
3144
+ sig { returns(T.nilable(String)) }
3145
+ attr_accessor :digital_wallet_token_id
3146
+
3147
+ # The merchant identifier (commonly abbreviated as MID) of the merchant the card
3148
+ # is transacting with.
3149
+ sig { returns(String) }
3150
+ attr_accessor :merchant_acceptor_id
3151
+
3152
+ # The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
3153
+ # card is transacting with.
3154
+ sig { returns(String) }
3155
+ attr_accessor :merchant_category_code
3156
+
3157
+ # The city the merchant resides in.
3158
+ sig { returns(T.nilable(String)) }
3159
+ attr_accessor :merchant_city
3160
+
3161
+ # The country the merchant resides in.
3162
+ sig { returns(String) }
3163
+ attr_accessor :merchant_country
3164
+
3165
+ # The merchant descriptor of the merchant the card is transacting with.
3166
+ sig { returns(String) }
3167
+ attr_accessor :merchant_descriptor
3168
+
3169
+ # The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
3170
+ # ZIP code, where the first 5 and last 4 are separated by a dash.
3171
+ sig { returns(T.nilable(String)) }
3172
+ attr_accessor :merchant_postal_code
3173
+
3174
+ # The state the merchant resides in.
3175
+ sig { returns(T.nilable(String)) }
3176
+ attr_accessor :merchant_state
3177
+
3178
+ # Fields specific to the `network`.
3179
+ sig do
3180
+ returns(
3181
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails
3182
+ )
3183
+ end
3184
+ attr_reader :network_details
3185
+
3186
+ sig do
3187
+ params(
3188
+ network_details:
3189
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::OrHash
3190
+ ).void
3191
+ end
3192
+ attr_writer :network_details
3193
+
3194
+ # Network-specific identifiers for a specific request or transaction.
3195
+ sig do
3196
+ returns(
3197
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkIdentifiers
3198
+ )
3199
+ end
3200
+ attr_reader :network_identifiers
3201
+
3202
+ sig do
3203
+ params(
3204
+ network_identifiers:
3205
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkIdentifiers::OrHash
3206
+ ).void
3207
+ end
3208
+ attr_writer :network_identifiers
3209
+
3210
+ # The risk score generated by the card network. For Visa this is the Visa Advanced
3211
+ # Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the
3212
+ # score is from 0 to 999, where 999 is the riskiest.
3213
+ sig { returns(T.nilable(Integer)) }
3214
+ attr_accessor :network_risk_score
3215
+
3216
+ # If the authorization was made in-person with a physical card, the Physical Card
3217
+ # that was used.
3218
+ sig { returns(T.nilable(String)) }
3219
+ attr_accessor :physical_card_id
3220
+
3221
+ # The terminal identifier (commonly abbreviated as TID) of the terminal the card
3222
+ # is transacting with.
3223
+ sig { returns(T.nilable(String)) }
3224
+ attr_accessor :terminal_id
3225
+
3226
+ # The identifier of the Card Payment this authorization will belong to. Available
3227
+ # in the API once the card authorization has completed.
3228
+ sig { returns(String) }
3229
+ attr_accessor :upcoming_card_payment_id
3230
+
3231
+ # Fields related to verification of cardholder-provided values.
3232
+ sig do
3233
+ returns(Increase::RealTimeDecision::CardBalanceInquiry::Verification)
3234
+ end
3235
+ attr_reader :verification
3236
+
3237
+ sig do
3238
+ params(
3239
+ verification:
3240
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::OrHash
3241
+ ).void
3242
+ end
3243
+ attr_writer :verification
3244
+
3245
+ # Fields related to a card balance inquiry.
3246
+ sig do
3247
+ params(
3248
+ account_id: String,
3249
+ additional_amounts:
3250
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::OrHash,
3251
+ approval:
3252
+ T.nilable(
3253
+ Increase::RealTimeDecision::CardBalanceInquiry::Approval::OrHash
3254
+ ),
3255
+ card_id: String,
3256
+ decision:
3257
+ T.nilable(
3258
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::OrSymbol
3259
+ ),
3260
+ digital_wallet_token_id: T.nilable(String),
3261
+ merchant_acceptor_id: String,
3262
+ merchant_category_code: String,
3263
+ merchant_city: T.nilable(String),
3264
+ merchant_country: String,
3265
+ merchant_descriptor: String,
3266
+ merchant_postal_code: T.nilable(String),
3267
+ merchant_state: T.nilable(String),
3268
+ network_details:
3269
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::OrHash,
3270
+ network_identifiers:
3271
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkIdentifiers::OrHash,
3272
+ network_risk_score: T.nilable(Integer),
3273
+ physical_card_id: T.nilable(String),
3274
+ terminal_id: T.nilable(String),
3275
+ upcoming_card_payment_id: String,
3276
+ verification:
3277
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::OrHash
3278
+ ).returns(T.attached_class)
3279
+ end
3280
+ def self.new(
3281
+ # The identifier of the Account the authorization will debit.
3282
+ account_id:,
3283
+ # Additional amounts associated with the card authorization, such as ATM
3284
+ # surcharges fees. These are usually a subset of the `amount` field and are used
3285
+ # to provide more detailed information about the transaction.
3286
+ additional_amounts:,
3287
+ # Present if and only if `decision` is `approve`. Contains information related to
3288
+ # the approval of the balance inquiry.
3289
+ approval:,
3290
+ # The identifier of the Card that is being authorized.
3291
+ card_id:,
3292
+ # Whether or not the authorization was approved.
3293
+ decision:,
3294
+ # If the authorization was made via a Digital Wallet Token (such as an Apple Pay
3295
+ # purchase), the identifier of the token that was used.
3296
+ digital_wallet_token_id:,
3297
+ # The merchant identifier (commonly abbreviated as MID) of the merchant the card
3298
+ # is transacting with.
3299
+ merchant_acceptor_id:,
3300
+ # The Merchant Category Code (commonly abbreviated as MCC) of the merchant the
3301
+ # card is transacting with.
3302
+ merchant_category_code:,
3303
+ # The city the merchant resides in.
3304
+ merchant_city:,
3305
+ # The country the merchant resides in.
3306
+ merchant_country:,
3307
+ # The merchant descriptor of the merchant the card is transacting with.
3308
+ merchant_descriptor:,
3309
+ # The merchant's postal code. For US merchants this is either a 5-digit or 9-digit
3310
+ # ZIP code, where the first 5 and last 4 are separated by a dash.
3311
+ merchant_postal_code:,
3312
+ # The state the merchant resides in.
3313
+ merchant_state:,
3314
+ # Fields specific to the `network`.
3315
+ network_details:,
3316
+ # Network-specific identifiers for a specific request or transaction.
3317
+ network_identifiers:,
3318
+ # The risk score generated by the card network. For Visa this is the Visa Advanced
3319
+ # Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the
3320
+ # score is from 0 to 999, where 999 is the riskiest.
3321
+ network_risk_score:,
3322
+ # If the authorization was made in-person with a physical card, the Physical Card
3323
+ # that was used.
3324
+ physical_card_id:,
3325
+ # The terminal identifier (commonly abbreviated as TID) of the terminal the card
3326
+ # is transacting with.
3327
+ terminal_id:,
3328
+ # The identifier of the Card Payment this authorization will belong to. Available
3329
+ # in the API once the card authorization has completed.
3330
+ upcoming_card_payment_id:,
3331
+ # Fields related to verification of cardholder-provided values.
3332
+ verification:
3333
+ )
3334
+ end
3335
+
3336
+ sig do
3337
+ override.returns(
3338
+ {
3339
+ account_id: String,
3340
+ additional_amounts:
3341
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts,
3342
+ approval:
3343
+ T.nilable(
3344
+ Increase::RealTimeDecision::CardBalanceInquiry::Approval
3345
+ ),
3346
+ card_id: String,
3347
+ decision:
3348
+ T.nilable(
3349
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::TaggedSymbol
3350
+ ),
3351
+ digital_wallet_token_id: T.nilable(String),
3352
+ merchant_acceptor_id: String,
3353
+ merchant_category_code: String,
3354
+ merchant_city: T.nilable(String),
3355
+ merchant_country: String,
3356
+ merchant_descriptor: String,
3357
+ merchant_postal_code: T.nilable(String),
3358
+ merchant_state: T.nilable(String),
3359
+ network_details:
3360
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails,
3361
+ network_identifiers:
3362
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkIdentifiers,
3363
+ network_risk_score: T.nilable(Integer),
3364
+ physical_card_id: T.nilable(String),
3365
+ terminal_id: T.nilable(String),
3366
+ upcoming_card_payment_id: String,
3367
+ verification:
3368
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification
3369
+ }
3370
+ )
3371
+ end
3372
+ def to_hash
3373
+ end
3374
+
3375
+ class AdditionalAmounts < Increase::Internal::Type::BaseModel
3376
+ OrHash =
3377
+ T.type_alias do
3378
+ T.any(
3379
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts,
3380
+ Increase::Internal::AnyHash
3381
+ )
3382
+ end
3383
+
3384
+ # The part of this transaction amount that was for clinic-related services.
3385
+ sig do
3386
+ returns(
3387
+ T.nilable(
3388
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Clinic
3389
+ )
3390
+ )
3391
+ end
3392
+ attr_reader :clinic
3393
+
3394
+ sig do
3395
+ params(
3396
+ clinic:
3397
+ T.nilable(
3398
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Clinic::OrHash
3399
+ )
3400
+ ).void
3401
+ end
3402
+ attr_writer :clinic
3403
+
3404
+ # The part of this transaction amount that was for dental-related services.
3405
+ sig do
3406
+ returns(
3407
+ T.nilable(
3408
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Dental
3409
+ )
3410
+ )
3411
+ end
3412
+ attr_reader :dental
3413
+
3414
+ sig do
3415
+ params(
3416
+ dental:
3417
+ T.nilable(
3418
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Dental::OrHash
3419
+ )
3420
+ ).void
3421
+ end
3422
+ attr_writer :dental
3423
+
3424
+ # The original pre-authorized amount.
3425
+ sig do
3426
+ returns(
3427
+ T.nilable(
3428
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Original
3429
+ )
3430
+ )
3431
+ end
3432
+ attr_reader :original
3433
+
3434
+ sig do
3435
+ params(
3436
+ original:
3437
+ T.nilable(
3438
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Original::OrHash
3439
+ )
3440
+ ).void
3441
+ end
3442
+ attr_writer :original
3443
+
3444
+ # The part of this transaction amount that was for healthcare prescriptions.
3445
+ sig do
3446
+ returns(
3447
+ T.nilable(
3448
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Prescription
3449
+ )
3450
+ )
3451
+ end
3452
+ attr_reader :prescription
3453
+
3454
+ sig do
3455
+ params(
3456
+ prescription:
3457
+ T.nilable(
3458
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Prescription::OrHash
3459
+ )
3460
+ ).void
3461
+ end
3462
+ attr_writer :prescription
3463
+
3464
+ # The surcharge amount charged for this transaction by the merchant.
3465
+ sig do
3466
+ returns(
3467
+ T.nilable(
3468
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Surcharge
3469
+ )
3470
+ )
3471
+ end
3472
+ attr_reader :surcharge
3473
+
3474
+ sig do
3475
+ params(
3476
+ surcharge:
3477
+ T.nilable(
3478
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Surcharge::OrHash
3479
+ )
3480
+ ).void
3481
+ end
3482
+ attr_writer :surcharge
3483
+
3484
+ # The total amount of a series of incremental authorizations, optionally provided.
3485
+ sig do
3486
+ returns(
3487
+ T.nilable(
3488
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalCumulative
3489
+ )
3490
+ )
3491
+ end
3492
+ attr_reader :total_cumulative
3493
+
3494
+ sig do
3495
+ params(
3496
+ total_cumulative:
3497
+ T.nilable(
3498
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalCumulative::OrHash
3499
+ )
3500
+ ).void
3501
+ end
3502
+ attr_writer :total_cumulative
3503
+
3504
+ # The total amount of healthcare-related additional amounts.
3505
+ sig do
3506
+ returns(
3507
+ T.nilable(
3508
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalHealthcare
3509
+ )
3510
+ )
3511
+ end
3512
+ attr_reader :total_healthcare
3513
+
3514
+ sig do
3515
+ params(
3516
+ total_healthcare:
3517
+ T.nilable(
3518
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalHealthcare::OrHash
3519
+ )
3520
+ ).void
3521
+ end
3522
+ attr_writer :total_healthcare
3523
+
3524
+ # The part of this transaction amount that was for transit-related services.
3525
+ sig do
3526
+ returns(
3527
+ T.nilable(
3528
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Transit
3529
+ )
3530
+ )
3531
+ end
3532
+ attr_reader :transit
3533
+
3534
+ sig do
3535
+ params(
3536
+ transit:
3537
+ T.nilable(
3538
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Transit::OrHash
3539
+ )
3540
+ ).void
3541
+ end
3542
+ attr_writer :transit
3543
+
3544
+ # An unknown additional amount.
3545
+ sig do
3546
+ returns(
3547
+ T.nilable(
3548
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Unknown
3549
+ )
3550
+ )
3551
+ end
3552
+ attr_reader :unknown
3553
+
3554
+ sig do
3555
+ params(
3556
+ unknown:
3557
+ T.nilable(
3558
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Unknown::OrHash
3559
+ )
3560
+ ).void
3561
+ end
3562
+ attr_writer :unknown
3563
+
3564
+ # The part of this transaction amount that was for vision-related services.
3565
+ sig do
3566
+ returns(
3567
+ T.nilable(
3568
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Vision
3569
+ )
3570
+ )
3571
+ end
3572
+ attr_reader :vision
3573
+
3574
+ sig do
3575
+ params(
3576
+ vision:
3577
+ T.nilable(
3578
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Vision::OrHash
3579
+ )
3580
+ ).void
3581
+ end
3582
+ attr_writer :vision
3583
+
3584
+ # Additional amounts associated with the card authorization, such as ATM
3585
+ # surcharges fees. These are usually a subset of the `amount` field and are used
3586
+ # to provide more detailed information about the transaction.
3587
+ sig do
3588
+ params(
3589
+ clinic:
3590
+ T.nilable(
3591
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Clinic::OrHash
3592
+ ),
3593
+ dental:
3594
+ T.nilable(
3595
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Dental::OrHash
3596
+ ),
3597
+ original:
3598
+ T.nilable(
3599
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Original::OrHash
3600
+ ),
3601
+ prescription:
3602
+ T.nilable(
3603
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Prescription::OrHash
3604
+ ),
3605
+ surcharge:
3606
+ T.nilable(
3607
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Surcharge::OrHash
3608
+ ),
3609
+ total_cumulative:
3610
+ T.nilable(
3611
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalCumulative::OrHash
3612
+ ),
3613
+ total_healthcare:
3614
+ T.nilable(
3615
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalHealthcare::OrHash
3616
+ ),
3617
+ transit:
3618
+ T.nilable(
3619
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Transit::OrHash
3620
+ ),
3621
+ unknown:
3622
+ T.nilable(
3623
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Unknown::OrHash
3624
+ ),
3625
+ vision:
3626
+ T.nilable(
3627
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Vision::OrHash
3628
+ )
3629
+ ).returns(T.attached_class)
3630
+ end
3631
+ def self.new(
3632
+ # The part of this transaction amount that was for clinic-related services.
3633
+ clinic:,
3634
+ # The part of this transaction amount that was for dental-related services.
3635
+ dental:,
3636
+ # The original pre-authorized amount.
3637
+ original:,
3638
+ # The part of this transaction amount that was for healthcare prescriptions.
3639
+ prescription:,
3640
+ # The surcharge amount charged for this transaction by the merchant.
3641
+ surcharge:,
3642
+ # The total amount of a series of incremental authorizations, optionally provided.
3643
+ total_cumulative:,
3644
+ # The total amount of healthcare-related additional amounts.
3645
+ total_healthcare:,
3646
+ # The part of this transaction amount that was for transit-related services.
3647
+ transit:,
3648
+ # An unknown additional amount.
3649
+ unknown:,
3650
+ # The part of this transaction amount that was for vision-related services.
3651
+ vision:
3652
+ )
3653
+ end
3654
+
3655
+ sig do
3656
+ override.returns(
3657
+ {
3658
+ clinic:
3659
+ T.nilable(
3660
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Clinic
3661
+ ),
3662
+ dental:
3663
+ T.nilable(
3664
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Dental
3665
+ ),
3666
+ original:
3667
+ T.nilable(
3668
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Original
3669
+ ),
3670
+ prescription:
3671
+ T.nilable(
3672
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Prescription
3673
+ ),
3674
+ surcharge:
3675
+ T.nilable(
3676
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Surcharge
3677
+ ),
3678
+ total_cumulative:
3679
+ T.nilable(
3680
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalCumulative
3681
+ ),
3682
+ total_healthcare:
3683
+ T.nilable(
3684
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalHealthcare
3685
+ ),
3686
+ transit:
3687
+ T.nilable(
3688
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Transit
3689
+ ),
3690
+ unknown:
3691
+ T.nilable(
3692
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Unknown
3693
+ ),
3694
+ vision:
3695
+ T.nilable(
3696
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Vision
3697
+ )
3698
+ }
3699
+ )
3700
+ end
3701
+ def to_hash
3702
+ end
3703
+
3704
+ class Clinic < Increase::Internal::Type::BaseModel
3705
+ OrHash =
3706
+ T.type_alias do
3707
+ T.any(
3708
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Clinic,
3709
+ Increase::Internal::AnyHash
3710
+ )
3711
+ end
3712
+
3713
+ # The amount in minor units of the `currency` field. The amount is positive if it
3714
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3715
+ # subtracted from the amount (such as a discount).
3716
+ sig { returns(Integer) }
3717
+ attr_accessor :amount
3718
+
3719
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3720
+ # amount's currency.
3721
+ sig { returns(String) }
3722
+ attr_accessor :currency
3723
+
3724
+ # The part of this transaction amount that was for clinic-related services.
3725
+ sig do
3726
+ params(amount: Integer, currency: String).returns(
3727
+ T.attached_class
3728
+ )
3729
+ end
3730
+ def self.new(
3731
+ # The amount in minor units of the `currency` field. The amount is positive if it
3732
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3733
+ # subtracted from the amount (such as a discount).
3734
+ amount:,
3735
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3736
+ # amount's currency.
3737
+ currency:
3738
+ )
3739
+ end
3740
+
3741
+ sig { override.returns({ amount: Integer, currency: String }) }
3742
+ def to_hash
3743
+ end
3744
+ end
3745
+
3746
+ class Dental < Increase::Internal::Type::BaseModel
3747
+ OrHash =
3748
+ T.type_alias do
3749
+ T.any(
3750
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Dental,
3751
+ Increase::Internal::AnyHash
3752
+ )
3753
+ end
3754
+
3755
+ # The amount in minor units of the `currency` field. The amount is positive if it
3756
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3757
+ # subtracted from the amount (such as a discount).
3758
+ sig { returns(Integer) }
3759
+ attr_accessor :amount
3760
+
3761
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3762
+ # amount's currency.
3763
+ sig { returns(String) }
3764
+ attr_accessor :currency
3765
+
3766
+ # The part of this transaction amount that was for dental-related services.
3767
+ sig do
3768
+ params(amount: Integer, currency: String).returns(
3769
+ T.attached_class
3770
+ )
3771
+ end
3772
+ def self.new(
3773
+ # The amount in minor units of the `currency` field. The amount is positive if it
3774
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3775
+ # subtracted from the amount (such as a discount).
3776
+ amount:,
3777
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3778
+ # amount's currency.
3779
+ currency:
3780
+ )
3781
+ end
3782
+
3783
+ sig { override.returns({ amount: Integer, currency: String }) }
3784
+ def to_hash
3785
+ end
3786
+ end
3787
+
3788
+ class Original < Increase::Internal::Type::BaseModel
3789
+ OrHash =
3790
+ T.type_alias do
3791
+ T.any(
3792
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Original,
3793
+ Increase::Internal::AnyHash
3794
+ )
3795
+ end
3796
+
3797
+ # The amount in minor units of the `currency` field. The amount is positive if it
3798
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3799
+ # subtracted from the amount (such as a discount).
3800
+ sig { returns(Integer) }
3801
+ attr_accessor :amount
3802
+
3803
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3804
+ # amount's currency.
3805
+ sig { returns(String) }
3806
+ attr_accessor :currency
3807
+
3808
+ # The original pre-authorized amount.
3809
+ sig do
3810
+ params(amount: Integer, currency: String).returns(
3811
+ T.attached_class
3812
+ )
3813
+ end
3814
+ def self.new(
3815
+ # The amount in minor units of the `currency` field. The amount is positive if it
3816
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3817
+ # subtracted from the amount (such as a discount).
3818
+ amount:,
3819
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3820
+ # amount's currency.
3821
+ currency:
3822
+ )
3823
+ end
3824
+
3825
+ sig { override.returns({ amount: Integer, currency: String }) }
3826
+ def to_hash
3827
+ end
3828
+ end
3829
+
3830
+ class Prescription < Increase::Internal::Type::BaseModel
3831
+ OrHash =
3832
+ T.type_alias do
3833
+ T.any(
3834
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Prescription,
3835
+ Increase::Internal::AnyHash
3836
+ )
3837
+ end
3838
+
3839
+ # The amount in minor units of the `currency` field. The amount is positive if it
3840
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3841
+ # subtracted from the amount (such as a discount).
3842
+ sig { returns(Integer) }
3843
+ attr_accessor :amount
3844
+
3845
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3846
+ # amount's currency.
3847
+ sig { returns(String) }
3848
+ attr_accessor :currency
3849
+
3850
+ # The part of this transaction amount that was for healthcare prescriptions.
3851
+ sig do
3852
+ params(amount: Integer, currency: String).returns(
3853
+ T.attached_class
3854
+ )
3855
+ end
3856
+ def self.new(
3857
+ # The amount in minor units of the `currency` field. The amount is positive if it
3858
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3859
+ # subtracted from the amount (such as a discount).
3860
+ amount:,
3861
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3862
+ # amount's currency.
3863
+ currency:
3864
+ )
3865
+ end
3866
+
3867
+ sig { override.returns({ amount: Integer, currency: String }) }
3868
+ def to_hash
3869
+ end
3870
+ end
3871
+
3872
+ class Surcharge < Increase::Internal::Type::BaseModel
3873
+ OrHash =
3874
+ T.type_alias do
3875
+ T.any(
3876
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Surcharge,
3877
+ Increase::Internal::AnyHash
3878
+ )
3879
+ end
3880
+
3881
+ # The amount in minor units of the `currency` field. The amount is positive if it
3882
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3883
+ # subtracted from the amount (such as a discount).
3884
+ sig { returns(Integer) }
3885
+ attr_accessor :amount
3886
+
3887
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3888
+ # amount's currency.
3889
+ sig { returns(String) }
3890
+ attr_accessor :currency
3891
+
3892
+ # The surcharge amount charged for this transaction by the merchant.
3893
+ sig do
3894
+ params(amount: Integer, currency: String).returns(
3895
+ T.attached_class
3896
+ )
3897
+ end
3898
+ def self.new(
3899
+ # The amount in minor units of the `currency` field. The amount is positive if it
3900
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3901
+ # subtracted from the amount (such as a discount).
3902
+ amount:,
3903
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3904
+ # amount's currency.
3905
+ currency:
3906
+ )
3907
+ end
3908
+
3909
+ sig { override.returns({ amount: Integer, currency: String }) }
3910
+ def to_hash
3911
+ end
3912
+ end
3913
+
3914
+ class TotalCumulative < Increase::Internal::Type::BaseModel
3915
+ OrHash =
3916
+ T.type_alias do
3917
+ T.any(
3918
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalCumulative,
3919
+ Increase::Internal::AnyHash
3920
+ )
3921
+ end
3922
+
3923
+ # The amount in minor units of the `currency` field. The amount is positive if it
3924
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3925
+ # subtracted from the amount (such as a discount).
3926
+ sig { returns(Integer) }
3927
+ attr_accessor :amount
3928
+
3929
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3930
+ # amount's currency.
3931
+ sig { returns(String) }
3932
+ attr_accessor :currency
3933
+
3934
+ # The total amount of a series of incremental authorizations, optionally provided.
3935
+ sig do
3936
+ params(amount: Integer, currency: String).returns(
3937
+ T.attached_class
3938
+ )
3939
+ end
3940
+ def self.new(
3941
+ # The amount in minor units of the `currency` field. The amount is positive if it
3942
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3943
+ # subtracted from the amount (such as a discount).
3944
+ amount:,
3945
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3946
+ # amount's currency.
3947
+ currency:
3948
+ )
3949
+ end
3950
+
3951
+ sig { override.returns({ amount: Integer, currency: String }) }
3952
+ def to_hash
3953
+ end
3954
+ end
3955
+
3956
+ class TotalHealthcare < Increase::Internal::Type::BaseModel
3957
+ OrHash =
3958
+ T.type_alias do
3959
+ T.any(
3960
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::TotalHealthcare,
3961
+ Increase::Internal::AnyHash
3962
+ )
3963
+ end
3964
+
3965
+ # The amount in minor units of the `currency` field. The amount is positive if it
3966
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3967
+ # subtracted from the amount (such as a discount).
3968
+ sig { returns(Integer) }
3969
+ attr_accessor :amount
3970
+
3971
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3972
+ # amount's currency.
3973
+ sig { returns(String) }
3974
+ attr_accessor :currency
3975
+
3976
+ # The total amount of healthcare-related additional amounts.
3977
+ sig do
3978
+ params(amount: Integer, currency: String).returns(
3979
+ T.attached_class
3980
+ )
3981
+ end
3982
+ def self.new(
3983
+ # The amount in minor units of the `currency` field. The amount is positive if it
3984
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
3985
+ # subtracted from the amount (such as a discount).
3986
+ amount:,
3987
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
3988
+ # amount's currency.
3989
+ currency:
3990
+ )
3991
+ end
3992
+
3993
+ sig { override.returns({ amount: Integer, currency: String }) }
3994
+ def to_hash
3995
+ end
3996
+ end
3997
+
3998
+ class Transit < Increase::Internal::Type::BaseModel
3999
+ OrHash =
4000
+ T.type_alias do
4001
+ T.any(
4002
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Transit,
4003
+ Increase::Internal::AnyHash
4004
+ )
4005
+ end
4006
+
4007
+ # The amount in minor units of the `currency` field. The amount is positive if it
4008
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4009
+ # subtracted from the amount (such as a discount).
4010
+ sig { returns(Integer) }
4011
+ attr_accessor :amount
4012
+
4013
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4014
+ # amount's currency.
4015
+ sig { returns(String) }
4016
+ attr_accessor :currency
4017
+
4018
+ # The part of this transaction amount that was for transit-related services.
4019
+ sig do
4020
+ params(amount: Integer, currency: String).returns(
4021
+ T.attached_class
4022
+ )
4023
+ end
4024
+ def self.new(
4025
+ # The amount in minor units of the `currency` field. The amount is positive if it
4026
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4027
+ # subtracted from the amount (such as a discount).
4028
+ amount:,
4029
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4030
+ # amount's currency.
4031
+ currency:
4032
+ )
4033
+ end
4034
+
4035
+ sig { override.returns({ amount: Integer, currency: String }) }
4036
+ def to_hash
4037
+ end
4038
+ end
4039
+
4040
+ class Unknown < Increase::Internal::Type::BaseModel
4041
+ OrHash =
4042
+ T.type_alias do
4043
+ T.any(
4044
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Unknown,
4045
+ Increase::Internal::AnyHash
4046
+ )
4047
+ end
4048
+
4049
+ # The amount in minor units of the `currency` field. The amount is positive if it
4050
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4051
+ # subtracted from the amount (such as a discount).
4052
+ sig { returns(Integer) }
4053
+ attr_accessor :amount
4054
+
4055
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4056
+ # amount's currency.
4057
+ sig { returns(String) }
4058
+ attr_accessor :currency
4059
+
4060
+ # An unknown additional amount.
4061
+ sig do
4062
+ params(amount: Integer, currency: String).returns(
4063
+ T.attached_class
4064
+ )
4065
+ end
4066
+ def self.new(
4067
+ # The amount in minor units of the `currency` field. The amount is positive if it
4068
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4069
+ # subtracted from the amount (such as a discount).
4070
+ amount:,
4071
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4072
+ # amount's currency.
4073
+ currency:
4074
+ )
4075
+ end
4076
+
4077
+ sig { override.returns({ amount: Integer, currency: String }) }
4078
+ def to_hash
4079
+ end
4080
+ end
4081
+
4082
+ class Vision < Increase::Internal::Type::BaseModel
4083
+ OrHash =
4084
+ T.type_alias do
4085
+ T.any(
4086
+ Increase::RealTimeDecision::CardBalanceInquiry::AdditionalAmounts::Vision,
4087
+ Increase::Internal::AnyHash
4088
+ )
4089
+ end
4090
+
4091
+ # The amount in minor units of the `currency` field. The amount is positive if it
4092
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4093
+ # subtracted from the amount (such as a discount).
4094
+ sig { returns(Integer) }
4095
+ attr_accessor :amount
4096
+
4097
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4098
+ # amount's currency.
4099
+ sig { returns(String) }
4100
+ attr_accessor :currency
4101
+
4102
+ # The part of this transaction amount that was for vision-related services.
4103
+ sig do
4104
+ params(amount: Integer, currency: String).returns(
4105
+ T.attached_class
4106
+ )
4107
+ end
4108
+ def self.new(
4109
+ # The amount in minor units of the `currency` field. The amount is positive if it
4110
+ # is added to the amount (such as an ATM surcharge fee) and negative if it is
4111
+ # subtracted from the amount (such as a discount).
4112
+ amount:,
4113
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional
4114
+ # amount's currency.
4115
+ currency:
4116
+ )
4117
+ end
4118
+
4119
+ sig { override.returns({ amount: Integer, currency: String }) }
4120
+ def to_hash
4121
+ end
4122
+ end
4123
+ end
4124
+
4125
+ class Approval < Increase::Internal::Type::BaseModel
4126
+ OrHash =
4127
+ T.type_alias do
4128
+ T.any(
4129
+ Increase::RealTimeDecision::CardBalanceInquiry::Approval,
4130
+ Increase::Internal::AnyHash
4131
+ )
4132
+ end
4133
+
4134
+ # If the balance inquiry was approved, this field contains the balance in the
4135
+ # minor unit of the settlement currency.
4136
+ sig { returns(Integer) }
4137
+ attr_accessor :balance
4138
+
4139
+ # Present if and only if `decision` is `approve`. Contains information related to
4140
+ # the approval of the balance inquiry.
4141
+ sig { params(balance: Integer).returns(T.attached_class) }
4142
+ def self.new(
4143
+ # If the balance inquiry was approved, this field contains the balance in the
4144
+ # minor unit of the settlement currency.
4145
+ balance:
4146
+ )
4147
+ end
4148
+
4149
+ sig { override.returns({ balance: Integer }) }
4150
+ def to_hash
4151
+ end
4152
+ end
4153
+
4154
+ # Whether or not the authorization was approved.
4155
+ module Decision
4156
+ extend Increase::Internal::Type::Enum
4157
+
4158
+ TaggedSymbol =
4159
+ T.type_alias do
4160
+ T.all(
4161
+ Symbol,
4162
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision
4163
+ )
4164
+ end
4165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4166
+
4167
+ # Approve the authorization.
4168
+ APPROVE =
4169
+ T.let(
4170
+ :approve,
4171
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::TaggedSymbol
4172
+ )
4173
+
4174
+ # Decline the authorization.
4175
+ DECLINE =
4176
+ T.let(
4177
+ :decline,
4178
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::TaggedSymbol
4179
+ )
4180
+
4181
+ sig do
4182
+ override.returns(
4183
+ T::Array[
4184
+ Increase::RealTimeDecision::CardBalanceInquiry::Decision::TaggedSymbol
4185
+ ]
4186
+ )
4187
+ end
4188
+ def self.values
4189
+ end
4190
+ end
4191
+
4192
+ class NetworkDetails < Increase::Internal::Type::BaseModel
4193
+ OrHash =
4194
+ T.type_alias do
4195
+ T.any(
4196
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails,
4197
+ Increase::Internal::AnyHash
4198
+ )
4199
+ end
4200
+
4201
+ # The payment network used to process this card authorization.
4202
+ sig do
4203
+ returns(
4204
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::TaggedSymbol
4205
+ )
4206
+ end
4207
+ attr_accessor :category
4208
+
4209
+ # Fields specific to the `pulse` network.
4210
+ sig do
4211
+ returns(
4212
+ T.nilable(
4213
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Pulse
4214
+ )
4215
+ )
4216
+ end
4217
+ attr_reader :pulse
4218
+
4219
+ sig do
4220
+ params(
4221
+ pulse:
4222
+ T.nilable(
4223
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Pulse::OrHash
4224
+ )
4225
+ ).void
4226
+ end
4227
+ attr_writer :pulse
4228
+
4229
+ # Fields specific to the `visa` network.
4230
+ sig do
4231
+ returns(
4232
+ T.nilable(
4233
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa
4234
+ )
4235
+ )
4236
+ end
4237
+ attr_reader :visa
4238
+
4239
+ sig do
4240
+ params(
4241
+ visa:
4242
+ T.nilable(
4243
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::OrHash
4244
+ )
4245
+ ).void
4246
+ end
4247
+ attr_writer :visa
4248
+
4249
+ # Fields specific to the `network`.
4250
+ sig do
4251
+ params(
4252
+ category:
4253
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::OrSymbol,
4254
+ pulse:
4255
+ T.nilable(
4256
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Pulse::OrHash
4257
+ ),
4258
+ visa:
4259
+ T.nilable(
4260
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::OrHash
4261
+ )
4262
+ ).returns(T.attached_class)
4263
+ end
4264
+ def self.new(
4265
+ # The payment network used to process this card authorization.
4266
+ category:,
4267
+ # Fields specific to the `pulse` network.
4268
+ pulse:,
4269
+ # Fields specific to the `visa` network.
4270
+ visa:
4271
+ )
4272
+ end
4273
+
4274
+ sig do
4275
+ override.returns(
4276
+ {
4277
+ category:
4278
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::TaggedSymbol,
4279
+ pulse:
4280
+ T.nilable(
4281
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Pulse
4282
+ ),
4283
+ visa:
4284
+ T.nilable(
4285
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa
4286
+ )
4287
+ }
4288
+ )
4289
+ end
4290
+ def to_hash
4291
+ end
4292
+
4293
+ # The payment network used to process this card authorization.
4294
+ module Category
4295
+ extend Increase::Internal::Type::Enum
4296
+
4297
+ TaggedSymbol =
4298
+ T.type_alias do
4299
+ T.all(
4300
+ Symbol,
4301
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category
4302
+ )
4303
+ end
4304
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4305
+
4306
+ # Visa
4307
+ VISA =
4308
+ T.let(
4309
+ :visa,
4310
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::TaggedSymbol
4311
+ )
4312
+
4313
+ # Pulse
4314
+ PULSE =
4315
+ T.let(
4316
+ :pulse,
4317
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::TaggedSymbol
4318
+ )
4319
+
4320
+ sig do
4321
+ override.returns(
4322
+ T::Array[
4323
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Category::TaggedSymbol
4324
+ ]
4325
+ )
4326
+ end
4327
+ def self.values
4328
+ end
4329
+ end
4330
+
4331
+ class Pulse < Increase::Internal::Type::BaseModel
4332
+ OrHash =
4333
+ T.type_alias do
4334
+ T.any(
4335
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Pulse,
4336
+ Increase::Internal::AnyHash
4337
+ )
4338
+ end
4339
+
4340
+ # Fields specific to the `pulse` network.
4341
+ sig { returns(T.attached_class) }
4342
+ def self.new
4343
+ end
4344
+
4345
+ sig { override.returns({}) }
4346
+ def to_hash
4347
+ end
4348
+ end
4349
+
4350
+ class Visa < Increase::Internal::Type::BaseModel
4351
+ OrHash =
4352
+ T.type_alias do
4353
+ T.any(
4354
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa,
4355
+ Increase::Internal::AnyHash
4356
+ )
4357
+ end
4358
+
4359
+ # For electronic commerce transactions, this identifies the level of security used
4360
+ # in obtaining the customer's payment credential. For mail or telephone order
4361
+ # transactions, identifies the type of mail or telephone order.
4362
+ sig do
4363
+ returns(
4364
+ T.nilable(
4365
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4366
+ )
4367
+ )
4368
+ end
4369
+ attr_accessor :electronic_commerce_indicator
4370
+
4371
+ # The method used to enter the cardholder's primary account number and card
4372
+ # expiration date.
4373
+ sig do
4374
+ returns(
4375
+ T.nilable(
4376
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4377
+ )
4378
+ )
4379
+ end
4380
+ attr_accessor :point_of_service_entry_mode
4381
+
4382
+ # Only present when `actioner: network`. Describes why a card authorization was
4383
+ # approved or declined by Visa through stand-in processing.
4384
+ sig do
4385
+ returns(
4386
+ T.nilable(
4387
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4388
+ )
4389
+ )
4390
+ end
4391
+ attr_accessor :stand_in_processing_reason
4392
+
4393
+ # Fields specific to the `visa` network.
4394
+ sig do
4395
+ params(
4396
+ electronic_commerce_indicator:
4397
+ T.nilable(
4398
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::OrSymbol
4399
+ ),
4400
+ point_of_service_entry_mode:
4401
+ T.nilable(
4402
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::OrSymbol
4403
+ ),
4404
+ stand_in_processing_reason:
4405
+ T.nilable(
4406
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::OrSymbol
4407
+ )
4408
+ ).returns(T.attached_class)
4409
+ end
4410
+ def self.new(
4411
+ # For electronic commerce transactions, this identifies the level of security used
4412
+ # in obtaining the customer's payment credential. For mail or telephone order
4413
+ # transactions, identifies the type of mail or telephone order.
4414
+ electronic_commerce_indicator:,
4415
+ # The method used to enter the cardholder's primary account number and card
4416
+ # expiration date.
4417
+ point_of_service_entry_mode:,
4418
+ # Only present when `actioner: network`. Describes why a card authorization was
4419
+ # approved or declined by Visa through stand-in processing.
4420
+ stand_in_processing_reason:
4421
+ )
4422
+ end
4423
+
4424
+ sig do
4425
+ override.returns(
4426
+ {
4427
+ electronic_commerce_indicator:
4428
+ T.nilable(
4429
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4430
+ ),
4431
+ point_of_service_entry_mode:
4432
+ T.nilable(
4433
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4434
+ ),
4435
+ stand_in_processing_reason:
4436
+ T.nilable(
4437
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4438
+ )
4439
+ }
4440
+ )
4441
+ end
4442
+ def to_hash
4443
+ end
4444
+
4445
+ # For electronic commerce transactions, this identifies the level of security used
4446
+ # in obtaining the customer's payment credential. For mail or telephone order
4447
+ # transactions, identifies the type of mail or telephone order.
4448
+ module ElectronicCommerceIndicator
4449
+ extend Increase::Internal::Type::Enum
4450
+
4451
+ TaggedSymbol =
4452
+ T.type_alias do
4453
+ T.all(
4454
+ Symbol,
4455
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator
4456
+ )
4457
+ end
4458
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4459
+
4460
+ # Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments.
4461
+ MAIL_PHONE_ORDER =
4462
+ T.let(
4463
+ :mail_phone_order,
4464
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4465
+ )
4466
+
4467
+ # Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region.
4468
+ RECURRING =
4469
+ T.let(
4470
+ :recurring,
4471
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4472
+ )
4473
+
4474
+ # Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region.
4475
+ INSTALLMENT =
4476
+ T.let(
4477
+ :installment,
4478
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4479
+ )
4480
+
4481
+ # Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown.
4482
+ UNKNOWN_MAIL_PHONE_ORDER =
4483
+ T.let(
4484
+ :unknown_mail_phone_order,
4485
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4486
+ )
4487
+
4488
+ # Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure
4489
+ SECURE_ELECTRONIC_COMMERCE =
4490
+ T.let(
4491
+ :secure_electronic_commerce,
4492
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4493
+ )
4494
+
4495
+ # Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program.
4496
+ NON_AUTHENTICATED_SECURITY_TRANSACTION_AT_3DS_CAPABLE_MERCHANT =
4497
+ T.let(
4498
+ :non_authenticated_security_transaction_at_3ds_capable_merchant,
4499
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4500
+ )
4501
+
4502
+ # Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure.
4503
+ NON_AUTHENTICATED_SECURITY_TRANSACTION =
4504
+ T.let(
4505
+ :non_authenticated_security_transaction,
4506
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4507
+ )
4508
+
4509
+ # Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection.
4510
+ NON_SECURE_TRANSACTION =
4511
+ T.let(
4512
+ :non_secure_transaction,
4513
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4514
+ )
4515
+
4516
+ sig do
4517
+ override.returns(
4518
+ T::Array[
4519
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol
4520
+ ]
4521
+ )
4522
+ end
4523
+ def self.values
4524
+ end
4525
+ end
4526
+
4527
+ # The method used to enter the cardholder's primary account number and card
4528
+ # expiration date.
4529
+ module PointOfServiceEntryMode
4530
+ extend Increase::Internal::Type::Enum
4531
+
4532
+ TaggedSymbol =
4533
+ T.type_alias do
4534
+ T.all(
4535
+ Symbol,
4536
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode
4537
+ )
4538
+ end
4539
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4540
+
4541
+ # Unknown
4542
+ UNKNOWN =
4543
+ T.let(
4544
+ :unknown,
4545
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4546
+ )
4547
+
4548
+ # Manual key entry
4549
+ MANUAL =
4550
+ T.let(
4551
+ :manual,
4552
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4553
+ )
4554
+
4555
+ # Magnetic stripe read, without card verification value
4556
+ MAGNETIC_STRIPE_NO_CVV =
4557
+ T.let(
4558
+ :magnetic_stripe_no_cvv,
4559
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4560
+ )
4561
+
4562
+ # Optical code
4563
+ OPTICAL_CODE =
4564
+ T.let(
4565
+ :optical_code,
4566
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4567
+ )
4568
+
4569
+ # Contact chip card
4570
+ INTEGRATED_CIRCUIT_CARD =
4571
+ T.let(
4572
+ :integrated_circuit_card,
4573
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4574
+ )
4575
+
4576
+ # Contactless read of chip card
4577
+ CONTACTLESS =
4578
+ T.let(
4579
+ :contactless,
4580
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4581
+ )
4582
+
4583
+ # Transaction initiated using a credential that has previously been stored on file
4584
+ CREDENTIAL_ON_FILE =
4585
+ T.let(
4586
+ :credential_on_file,
4587
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4588
+ )
4589
+
4590
+ # Magnetic stripe read
4591
+ MAGNETIC_STRIPE =
4592
+ T.let(
4593
+ :magnetic_stripe,
4594
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4595
+ )
4596
+
4597
+ # Contactless read of magnetic stripe data
4598
+ CONTACTLESS_MAGNETIC_STRIPE =
4599
+ T.let(
4600
+ :contactless_magnetic_stripe,
4601
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4602
+ )
4603
+
4604
+ # Contact chip card, without card verification value
4605
+ INTEGRATED_CIRCUIT_CARD_NO_CVV =
4606
+ T.let(
4607
+ :integrated_circuit_card_no_cvv,
4608
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4609
+ )
4610
+
4611
+ sig do
4612
+ override.returns(
4613
+ T::Array[
4614
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol
4615
+ ]
4616
+ )
4617
+ end
4618
+ def self.values
4619
+ end
4620
+ end
4621
+
4622
+ # Only present when `actioner: network`. Describes why a card authorization was
4623
+ # approved or declined by Visa through stand-in processing.
4624
+ module StandInProcessingReason
4625
+ extend Increase::Internal::Type::Enum
4626
+
4627
+ TaggedSymbol =
4628
+ T.type_alias do
4629
+ T.all(
4630
+ Symbol,
4631
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason
4632
+ )
4633
+ end
4634
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4635
+
4636
+ # Increase failed to process the authorization in a timely manner.
4637
+ ISSUER_ERROR =
4638
+ T.let(
4639
+ :issuer_error,
4640
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4641
+ )
4642
+
4643
+ # The physical card read had an invalid CVV, dCVV, or authorization request cryptogram.
4644
+ INVALID_PHYSICAL_CARD =
4645
+ T.let(
4646
+ :invalid_physical_card,
4647
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4648
+ )
4649
+
4650
+ # The 3DS cardholder authentication verification value was invalid.
4651
+ INVALID_CARDHOLDER_AUTHENTICATION_VERIFICATION_VALUE =
4652
+ T.let(
4653
+ :invalid_cardholder_authentication_verification_value,
4654
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4655
+ )
4656
+
4657
+ # An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays.
4658
+ INTERNAL_VISA_ERROR =
4659
+ T.let(
4660
+ :internal_visa_error,
4661
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4662
+ )
4663
+
4664
+ # The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier.
4665
+ MERCHANT_TRANSACTION_ADVISORY_SERVICE_AUTHENTICATION_REQUIRED =
4666
+ T.let(
4667
+ :merchant_transaction_advisory_service_authentication_required,
4668
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4669
+ )
4670
+
4671
+ # The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing.
4672
+ PAYMENT_FRAUD_DISRUPTION_ACQUIRER_BLOCK =
4673
+ T.let(
4674
+ :payment_fraud_disruption_acquirer_block,
4675
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4676
+ )
4677
+
4678
+ # An unspecific reason for stand-in processing.
4679
+ OTHER =
4680
+ T.let(
4681
+ :other,
4682
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4683
+ )
4684
+
4685
+ sig do
4686
+ override.returns(
4687
+ T::Array[
4688
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol
4689
+ ]
4690
+ )
4691
+ end
4692
+ def self.values
4693
+ end
4694
+ end
4695
+ end
4696
+ end
4697
+
4698
+ class NetworkIdentifiers < Increase::Internal::Type::BaseModel
4699
+ OrHash =
4700
+ T.type_alias do
4701
+ T.any(
4702
+ Increase::RealTimeDecision::CardBalanceInquiry::NetworkIdentifiers,
4703
+ Increase::Internal::AnyHash
4704
+ )
4705
+ end
4706
+
4707
+ # The randomly generated 6-character Authorization Identification Response code
4708
+ # sent back to the acquirer in an approved response.
4709
+ sig { returns(T.nilable(String)) }
4710
+ attr_accessor :authorization_identification_response
4711
+
4712
+ # A life-cycle identifier used across e.g., an authorization and a reversal.
4713
+ # Expected to be unique per acquirer within a window of time. For some card
4714
+ # networks the retrieval reference number includes the trace counter.
4715
+ sig { returns(T.nilable(String)) }
4716
+ attr_accessor :retrieval_reference_number
4717
+
4718
+ # A counter used to verify an individual authorization. Expected to be unique per
4719
+ # acquirer within a window of time.
4720
+ sig { returns(T.nilable(String)) }
4721
+ attr_accessor :trace_number
4722
+
4723
+ # A globally unique transaction identifier provided by the card network, used
4724
+ # across multiple life-cycle requests.
4725
+ sig { returns(T.nilable(String)) }
4726
+ attr_accessor :transaction_id
4727
+
4728
+ # Network-specific identifiers for a specific request or transaction.
4729
+ sig do
4730
+ params(
4731
+ authorization_identification_response: T.nilable(String),
4732
+ retrieval_reference_number: T.nilable(String),
4733
+ trace_number: T.nilable(String),
4734
+ transaction_id: T.nilable(String)
4735
+ ).returns(T.attached_class)
4736
+ end
4737
+ def self.new(
4738
+ # The randomly generated 6-character Authorization Identification Response code
4739
+ # sent back to the acquirer in an approved response.
4740
+ authorization_identification_response:,
4741
+ # A life-cycle identifier used across e.g., an authorization and a reversal.
4742
+ # Expected to be unique per acquirer within a window of time. For some card
4743
+ # networks the retrieval reference number includes the trace counter.
4744
+ retrieval_reference_number:,
4745
+ # A counter used to verify an individual authorization. Expected to be unique per
4746
+ # acquirer within a window of time.
4747
+ trace_number:,
4748
+ # A globally unique transaction identifier provided by the card network, used
4749
+ # across multiple life-cycle requests.
4750
+ transaction_id:
4751
+ )
4752
+ end
4753
+
4754
+ sig do
4755
+ override.returns(
4756
+ {
4757
+ authorization_identification_response: T.nilable(String),
4758
+ retrieval_reference_number: T.nilable(String),
4759
+ trace_number: T.nilable(String),
4760
+ transaction_id: T.nilable(String)
4761
+ }
4762
+ )
4763
+ end
4764
+ def to_hash
4765
+ end
4766
+ end
4767
+
4768
+ class Verification < Increase::Internal::Type::BaseModel
4769
+ OrHash =
4770
+ T.type_alias do
4771
+ T.any(
4772
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification,
4773
+ Increase::Internal::AnyHash
4774
+ )
4775
+ end
4776
+
4777
+ # Fields related to verification of the Card Verification Code, a 3-digit code on
4778
+ # the back of the card.
4779
+ sig do
4780
+ returns(
4781
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode
4782
+ )
4783
+ end
4784
+ attr_reader :card_verification_code
4785
+
4786
+ sig do
4787
+ params(
4788
+ card_verification_code:
4789
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::OrHash
4790
+ ).void
4791
+ end
4792
+ attr_writer :card_verification_code
4793
+
4794
+ # Cardholder address provided in the authorization request and the address on file
4795
+ # we verified it against.
4796
+ sig do
4797
+ returns(
4798
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress
4799
+ )
4800
+ end
4801
+ attr_reader :cardholder_address
4802
+
4803
+ sig do
4804
+ params(
4805
+ cardholder_address:
4806
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::OrHash
4807
+ ).void
4808
+ end
4809
+ attr_writer :cardholder_address
4810
+
4811
+ # Fields related to verification of cardholder-provided values.
4812
+ sig do
4813
+ params(
4814
+ card_verification_code:
4815
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::OrHash,
4816
+ cardholder_address:
4817
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::OrHash
4818
+ ).returns(T.attached_class)
4819
+ end
4820
+ def self.new(
4821
+ # Fields related to verification of the Card Verification Code, a 3-digit code on
4822
+ # the back of the card.
4823
+ card_verification_code:,
4824
+ # Cardholder address provided in the authorization request and the address on file
4825
+ # we verified it against.
4826
+ cardholder_address:
4827
+ )
4828
+ end
4829
+
4830
+ sig do
4831
+ override.returns(
4832
+ {
4833
+ card_verification_code:
4834
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode,
4835
+ cardholder_address:
4836
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress
4837
+ }
4838
+ )
4839
+ end
4840
+ def to_hash
4841
+ end
4842
+
4843
+ class CardVerificationCode < Increase::Internal::Type::BaseModel
4844
+ OrHash =
4845
+ T.type_alias do
4846
+ T.any(
4847
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode,
4848
+ Increase::Internal::AnyHash
4849
+ )
4850
+ end
4851
+
4852
+ # The result of verifying the Card Verification Code.
4853
+ sig do
4854
+ returns(
4855
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4856
+ )
4857
+ end
4858
+ attr_accessor :result
4859
+
4860
+ # Fields related to verification of the Card Verification Code, a 3-digit code on
4861
+ # the back of the card.
4862
+ sig do
4863
+ params(
4864
+ result:
4865
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::OrSymbol
4866
+ ).returns(T.attached_class)
4867
+ end
4868
+ def self.new(
4869
+ # The result of verifying the Card Verification Code.
4870
+ result:
4871
+ )
4872
+ end
4873
+
4874
+ sig do
4875
+ override.returns(
4876
+ {
4877
+ result:
4878
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4879
+ }
4880
+ )
4881
+ end
4882
+ def to_hash
4883
+ end
4884
+
4885
+ # The result of verifying the Card Verification Code.
4886
+ module Result
4887
+ extend Increase::Internal::Type::Enum
4888
+
4889
+ TaggedSymbol =
4890
+ T.type_alias do
4891
+ T.all(
4892
+ Symbol,
4893
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result
4894
+ )
4895
+ end
4896
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4897
+
4898
+ # No card verification code was provided in the authorization request.
4899
+ NOT_CHECKED =
4900
+ T.let(
4901
+ :not_checked,
4902
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4903
+ )
4904
+
4905
+ # The card verification code matched the one on file.
4906
+ MATCH =
4907
+ T.let(
4908
+ :match,
4909
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4910
+ )
4911
+
4912
+ # The card verification code did not match the one on file.
4913
+ NO_MATCH =
4914
+ T.let(
4915
+ :no_match,
4916
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4917
+ )
4918
+
4919
+ sig do
4920
+ override.returns(
4921
+ T::Array[
4922
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardVerificationCode::Result::TaggedSymbol
4923
+ ]
4924
+ )
4925
+ end
4926
+ def self.values
4927
+ end
4928
+ end
4929
+ end
4930
+
4931
+ class CardholderAddress < Increase::Internal::Type::BaseModel
4932
+ OrHash =
4933
+ T.type_alias do
4934
+ T.any(
4935
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress,
4936
+ Increase::Internal::AnyHash
4937
+ )
4938
+ end
4939
+
4940
+ # Line 1 of the address on file for the cardholder.
4941
+ sig { returns(T.nilable(String)) }
4942
+ attr_accessor :actual_line1
4943
+
4944
+ # The postal code of the address on file for the cardholder.
4945
+ sig { returns(T.nilable(String)) }
4946
+ attr_accessor :actual_postal_code
4947
+
4948
+ # The cardholder address line 1 provided for verification in the authorization
4949
+ # request.
4950
+ sig { returns(T.nilable(String)) }
4951
+ attr_accessor :provided_line1
4952
+
4953
+ # The postal code provided for verification in the authorization request.
4954
+ sig { returns(T.nilable(String)) }
4955
+ attr_accessor :provided_postal_code
4956
+
4957
+ # The address verification result returned to the card network.
4958
+ sig do
4959
+ returns(
4960
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
4961
+ )
4962
+ end
4963
+ attr_accessor :result
4964
+
4965
+ # Cardholder address provided in the authorization request and the address on file
4966
+ # we verified it against.
4967
+ sig do
4968
+ params(
4969
+ actual_line1: T.nilable(String),
4970
+ actual_postal_code: T.nilable(String),
4971
+ provided_line1: T.nilable(String),
4972
+ provided_postal_code: T.nilable(String),
4973
+ result:
4974
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::OrSymbol
4975
+ ).returns(T.attached_class)
4976
+ end
4977
+ def self.new(
4978
+ # Line 1 of the address on file for the cardholder.
4979
+ actual_line1:,
4980
+ # The postal code of the address on file for the cardholder.
4981
+ actual_postal_code:,
4982
+ # The cardholder address line 1 provided for verification in the authorization
4983
+ # request.
4984
+ provided_line1:,
4985
+ # The postal code provided for verification in the authorization request.
4986
+ provided_postal_code:,
4987
+ # The address verification result returned to the card network.
4988
+ result:
4989
+ )
4990
+ end
4991
+
4992
+ sig do
4993
+ override.returns(
4994
+ {
4995
+ actual_line1: T.nilable(String),
4996
+ actual_postal_code: T.nilable(String),
4997
+ provided_line1: T.nilable(String),
4998
+ provided_postal_code: T.nilable(String),
4999
+ result:
5000
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5001
+ }
5002
+ )
5003
+ end
5004
+ def to_hash
5005
+ end
5006
+
5007
+ # The address verification result returned to the card network.
5008
+ module Result
5009
+ extend Increase::Internal::Type::Enum
5010
+
5011
+ TaggedSymbol =
5012
+ T.type_alias do
5013
+ T.all(
5014
+ Symbol,
5015
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result
5016
+ )
5017
+ end
5018
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5019
+
5020
+ # No address information was provided in the authorization request.
5021
+ NOT_CHECKED =
5022
+ T.let(
5023
+ :not_checked,
5024
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5025
+ )
5026
+
5027
+ # Postal code matches, but the street address does not match or was not provided.
5028
+ POSTAL_CODE_MATCH_ADDRESS_NO_MATCH =
5029
+ T.let(
5030
+ :postal_code_match_address_no_match,
5031
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5032
+ )
5033
+
5034
+ # Postal code does not match, but the street address matches or was not provided.
5035
+ POSTAL_CODE_NO_MATCH_ADDRESS_MATCH =
5036
+ T.let(
5037
+ :postal_code_no_match_address_match,
5038
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5039
+ )
5040
+
5041
+ # Postal code and street address match.
5042
+ MATCH =
5043
+ T.let(
5044
+ :match,
5045
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5046
+ )
5047
+
5048
+ # Postal code and street address do not match.
5049
+ NO_MATCH =
5050
+ T.let(
5051
+ :no_match,
5052
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5053
+ )
5054
+
5055
+ # Postal code matches, but the street address was not verified. (deprecated)
5056
+ POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED =
5057
+ T.let(
5058
+ :postal_code_match_address_not_checked,
5059
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5060
+ )
5061
+
5062
+ sig do
5063
+ override.returns(
5064
+ T::Array[
5065
+ Increase::RealTimeDecision::CardBalanceInquiry::Verification::CardholderAddress::Result::TaggedSymbol
5066
+ ]
5067
+ )
5068
+ end
5069
+ def self.values
5070
+ end
5071
+ end
5072
+ end
5073
+ end
5074
+ end
5075
+
5076
+ # The category of the Real-Time Decision.
5077
+ module Category
5078
+ extend Increase::Internal::Type::Enum
5079
+
5080
+ TaggedSymbol =
5081
+ T.type_alias { T.all(Symbol, Increase::RealTimeDecision::Category) }
5082
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5083
+
5084
+ # A card is being authorized.
5085
+ CARD_AUTHORIZATION_REQUESTED =
5086
+ T.let(
5087
+ :card_authorization_requested,
5088
+ Increase::RealTimeDecision::Category::TaggedSymbol
5089
+ )
5090
+
5091
+ # A balance inquiry is being made on a card.
5092
+ CARD_BALANCE_INQUIRY_REQUESTED =
5093
+ T.let(
5094
+ :card_balance_inquiry_requested,
3072
5095
  Increase::RealTimeDecision::Category::TaggedSymbol
3073
5096
  )
3074
5097