moov_ruby 0.0.0.pre.dev.10 → 0.0.0.pre.dev.12
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.
- checksums.yaml +4 -4
- data/lib/moov/apple_pay.rb +5 -5
- data/lib/moov/card_issuing.rb +22 -13
- data/lib/moov/models/components/accountnameverification.rb +4 -4
- data/lib/moov/models/components/batchgettransfersrequest.rb +32 -0
- data/lib/moov/models/components/batchgettransfersrequest.rbi +13 -0
- data/lib/moov/models/components/card.rb +3 -2
- data/lib/moov/models/components/cardaccountupdater.rb +1 -1
- data/lib/moov/models/components/cardaddress.rb +6 -6
- data/lib/moov/models/components/cardexpiration.rb +2 -2
- data/lib/moov/models/components/cardpayouttype.rb +18 -0
- data/lib/moov/models/components/cardpayouttype.rbi +11 -0
- data/lib/moov/models/components/cardverification.rb +6 -4
- data/lib/moov/models/components/cardverificationresult.rb +1 -1
- data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
- data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
- data/lib/moov/models/components/linkcard.rb +10 -7
- data/lib/moov/models/components/paymentmethodscard.rb +3 -2
- data/lib/moov/models/components/paymentmethodtype.rb +2 -0
- data/lib/moov/models/components/pullfromapplepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/pullfromapplepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pushtoapplepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/pushtoapplepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/rtpdetails.rb +58 -0
- data/lib/moov/models/components/rtpdetails.rbi +25 -0
- data/lib/moov/models/components/rtpfailurecode.rb +27 -0
- data/lib/moov/models/components/rtpfailurecode.rbi +11 -0
- data/lib/moov/models/components/rtptransactionstatus.rb +21 -0
- data/lib/moov/models/components/rtptransactionstatus.rbi +11 -0
- data/lib/moov/models/components/transferdestination.rb +6 -2
- data/lib/moov/models/components/transferdestination.rbi +2 -0
- data/lib/moov/models/components/transferoptions.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodscard.rb +3 -2
- data/lib/moov/models/components/transferpaymentmethodtype.rb +2 -0
- data/lib/moov/models/components/updatecard.rb +9 -6
- data/lib/moov/models/components/updatecardaddress.rb +6 -6
- data/lib/moov/models/components/updatecardexpiration.rb +2 -2
- data/lib/moov/models/components/webhookbillingstatementcreated.rb +6 -2
- data/lib/moov/models/components/webhookbillingstatementcreated.rbi +2 -0
- data/lib/moov/models/components.rb +13 -0
- data/lib/moov/models/operations/batchgettransfers_request.rb +36 -0
- data/lib/moov/models/operations/batchgettransfers_request.rbi +15 -0
- data/lib/moov/models/operations/batchgettransfers_response.rb +48 -0
- data/lib/moov/models/operations/batchgettransfers_response.rbi +21 -0
- data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
- data/lib/moov/models/operations/linkapplepaytoken_response.rb +5 -5
- data/lib/moov/models/operations/linkapplepaytoken_response.rbi +2 -2
- data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
- data/lib/moov/models/operations/updateissuedcard_response.rb +6 -2
- data/lib/moov/models/operations/updateissuedcard_response.rbi +2 -0
- data/lib/moov/models/operations.rb +2 -0
- data/lib/moov/payment_methods.rb +2 -2
- data/lib/moov/sdkconfiguration.rb +5 -6
- data/lib/moov/transfers.rb +139 -0
- data/lib/moov/utils/security.rb +22 -11
- metadata +32 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65f1085953193d0c6f760f04b505064cf762404636cc701953f7cc3fe95d2871
|
|
4
|
+
data.tar.gz: 93643f718860312d468393e5b18bd1222c0e25c5161b5b0b12f2379a8b3c3cbe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 39cab29f0738b28876d4fd3095872db80d11374b151295aaaed0e202b8ca2b69deefc8ec375373ab4c820f08c17f43710de305a9c6bfa0cd5f0f73d807931f99
|
|
7
|
+
data.tar.gz: 3e362cea509bce9e4caab9ef028eec4be9fa8280c9597630ffd147fa19b8a35a1f6a54e780e63b0294924cc0885acc303ddd2d35b9f2baa771dfd1d2717a0d33
|
data/lib/moov/apple_pay.rb
CHANGED
|
@@ -617,12 +617,12 @@ module Moov
|
|
|
617
617
|
|
|
618
618
|
sig { params(link_apple_pay: Models::Components::LinkApplePay, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::LinkApplePayTokenResponse) }
|
|
619
619
|
def link_token(link_apple_pay:, account_id:, timeout_ms: nil, http_headers: nil)
|
|
620
|
-
# link_token - Connect an Apple Pay token to the specified account.
|
|
620
|
+
# link_token - Connect an Apple Pay token to the specified account.
|
|
621
621
|
#
|
|
622
|
-
# Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more.
|
|
622
|
+
# Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more.
|
|
623
623
|
# The `token` data is defined by Apple Pay and should be passed through from Apple Pay's response unmodified.
|
|
624
624
|
#
|
|
625
|
-
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
625
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
626
626
|
# you'll need to specify the `/accounts/{accountID}/cards.write` scope.
|
|
627
627
|
request = Models::Operations::LinkApplePayTokenRequest.new(
|
|
628
628
|
account_id: account_id,
|
|
@@ -725,13 +725,13 @@ module Moov
|
|
|
725
725
|
response: http_response
|
|
726
726
|
)
|
|
727
727
|
response_data = http_response.env.response_body
|
|
728
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::LinkedApplePayPaymentMethod)
|
|
728
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::LinkedApplePayPaymentMethod))
|
|
729
729
|
response = Models::Operations::LinkApplePayTokenResponse.new(
|
|
730
730
|
status_code: http_response.status,
|
|
731
731
|
content_type: content_type,
|
|
732
732
|
raw_response: http_response,
|
|
733
733
|
headers: http_response.headers,
|
|
734
|
-
|
|
734
|
+
linked_apple_pay_payment_methods: T.unsafe(obj)
|
|
735
735
|
)
|
|
736
736
|
|
|
737
737
|
return response
|
data/lib/moov/card_issuing.rb
CHANGED
|
@@ -555,19 +555,28 @@ module Moov
|
|
|
555
555
|
end
|
|
556
556
|
|
|
557
557
|
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
558
|
-
if Utils.match_status_code(http_response.status, ['
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
hook_ctx:
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
558
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
559
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
560
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
561
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
562
|
+
hook_ctx: hook_ctx
|
|
563
|
+
),
|
|
564
|
+
response: http_response
|
|
565
|
+
)
|
|
566
|
+
response_data = http_response.env.response_body
|
|
567
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::IssuedCard)
|
|
568
|
+
response = Models::Operations::UpdateIssuedCardResponse.new(
|
|
569
|
+
status_code: http_response.status,
|
|
570
|
+
content_type: content_type,
|
|
571
|
+
raw_response: http_response,
|
|
572
|
+
headers: http_response.headers,
|
|
573
|
+
issued_card: T.unsafe(obj)
|
|
574
|
+
)
|
|
575
|
+
|
|
576
|
+
return response
|
|
577
|
+
else
|
|
578
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
579
|
+
end
|
|
571
580
|
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
572
581
|
if Utils.match_content_type(content_type, 'application/json')
|
|
573
582
|
http_response = @sdk_configuration.hooks.after_success(
|
|
@@ -12,13 +12,13 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Verification result of the cardholder's first name.
|
|
16
16
|
field :first_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
17
|
-
|
|
17
|
+
# Verification result of the cardholder's last name.
|
|
18
18
|
field :last_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
19
|
-
|
|
19
|
+
# Verification result of the cardholder's middle name.
|
|
20
20
|
field :middle_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('middleName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
21
|
-
|
|
21
|
+
# Verification result of the cardholder's full name.
|
|
22
22
|
field :full_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
|
|
23
23
|
|
|
24
24
|
sig { params(first_name: T.nilable(Models::Components::CardVerificationResult), last_name: T.nilable(Models::Components::CardVerificationResult), middle_name: T.nilable(Models::Components::CardVerificationResult), full_name: T.nilable(Models::Components::CardVerificationResult)).void }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
# Array of transfer IDs to fetch.
|
|
11
|
+
class BatchGetTransfersRequest
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :transfer_i_ds, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferIDs'), required: true } }
|
|
17
|
+
|
|
18
|
+
sig { params(transfer_i_ds: T::Array[::String]).void }
|
|
19
|
+
def initialize(transfer_i_ds:)
|
|
20
|
+
@transfer_i_ds = transfer_i_ds
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
|
+
def ==(other)
|
|
25
|
+
return false unless other.is_a? self.class
|
|
26
|
+
return false unless @transfer_i_ds == other.transfer_i_ds
|
|
27
|
+
true
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::BatchGetTransfersRequest
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::BatchGetTransfersRequest
|
|
11
|
+
def transfer_i_ds(); end
|
|
12
|
+
def transfer_i_ds=(str_); end
|
|
13
|
+
end
|
|
@@ -28,7 +28,7 @@ module Moov
|
|
|
28
28
|
field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
|
|
29
29
|
# The expiration date of the card or token.
|
|
30
30
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
31
|
-
|
|
31
|
+
# The billing address associated with the card.
|
|
32
32
|
field :billing_address, Models::Components::CardAddress, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress'), required: true } }
|
|
33
33
|
# The results of submitting cardholder data to a card network for verification.
|
|
34
34
|
field :card_verification, Models::Components::CardVerification, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardVerification'), required: true } }
|
|
@@ -53,7 +53,8 @@ module Moov
|
|
|
53
53
|
field :regulated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('regulated') } }
|
|
54
54
|
# Indicates cardholder has authorized card to be stored for future payments.
|
|
55
55
|
field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
|
|
56
|
-
|
|
56
|
+
# Merchant account whose details (statement descriptor, address, etc.) are used for the card verification authorization.
|
|
57
|
+
# If omitted, the partner account's details are used instead.
|
|
57
58
|
field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
|
|
58
59
|
# The results of the most recent card update request.
|
|
59
60
|
field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
|
|
@@ -12,7 +12,7 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Timestamp from the card network indicating when the card update was processed.
|
|
16
16
|
field :updated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
17
17
|
# The results of the card update request.
|
|
18
18
|
field :update_type, Crystalline::Nilable.new(Models::Components::CardUpdateReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardUpdateReason, true) } }
|
|
@@ -12,17 +12,17 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Postal or ZIP code.
|
|
16
16
|
field :postal_code, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true } }
|
|
17
|
-
|
|
17
|
+
# Street address line 1.
|
|
18
18
|
field :address_line1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1') } }
|
|
19
|
-
|
|
19
|
+
# Street address line 2 (e.g., apartment or suite number).
|
|
20
20
|
field :address_line2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine2') } }
|
|
21
|
-
|
|
21
|
+
# City name.
|
|
22
22
|
field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('city') } }
|
|
23
|
-
|
|
23
|
+
# Two-letter state or province code.
|
|
24
24
|
field :state_or_province, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('stateOrProvince') } }
|
|
25
|
-
|
|
25
|
+
# Two-letter ISO 3166-1 country code.
|
|
26
26
|
field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('country') } }
|
|
27
27
|
|
|
28
28
|
sig { params(postal_code: ::String, address_line1: T.nilable(::String), address_line2: T.nilable(::String), city: T.nilable(::String), state_or_province: T.nilable(::String), country: T.nilable(::String)).void }
|
|
@@ -12,9 +12,9 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Two-digit month the card expires.
|
|
16
16
|
field :month, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('month'), required: true } }
|
|
17
|
-
|
|
17
|
+
# Two-digit year the card expires.
|
|
18
18
|
field :year, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('year'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(month: ::String, year: ::String).void }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
# CardPayoutType - Specifies the type of card payout for push-to-card transfers, used to determine the business application identifier (BAI) sent to the card network.
|
|
11
|
+
class CardPayoutType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
LOYALTY = new('loyalty')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -12,13 +12,15 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Verification result of the card's CVV.
|
|
16
16
|
field :cvv, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
|
|
17
|
-
|
|
17
|
+
# Verification result of the billing address line 1.
|
|
18
|
+
# Derived from the same AVS code as `postalCode`; the card network returns a single code covering both address fields.
|
|
18
19
|
field :address_line1, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
|
|
19
|
-
|
|
20
|
+
# Verification result of the billing address postal code.
|
|
21
|
+
# Derived from the same AVS code as `addressLine1`; the card network returns a single code covering both address fields.
|
|
20
22
|
field :postal_code, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
|
|
21
|
-
#
|
|
23
|
+
# Verification results of the cardholder's name, broken down by name component.
|
|
22
24
|
field :account_name, Crystalline::Nilable.new(Models::Components::AccountNameVerification), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountName') } }
|
|
23
25
|
|
|
24
26
|
sig { params(cvv: Models::Components::CardVerificationResult, address_line1: Models::Components::CardVerificationResult, postal_code: Models::Components::CardVerificationResult, account_name: T.nilable(Models::Components::AccountNameVerification)).void }
|
|
@@ -14,16 +14,20 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
|
|
16
16
|
field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
|
|
17
|
+
# An optional field to specify the type of card payout, used to route the transfer with the appropriate business application identifier (BAI).
|
|
18
|
+
field :payout_type, Crystalline::Nilable.new(Models::Components::CardPayoutType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payoutType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardPayoutType, true) } }
|
|
17
19
|
|
|
18
|
-
sig { params(dynamic_descriptor: T.nilable(::String)).void }
|
|
19
|
-
def initialize(dynamic_descriptor: nil)
|
|
20
|
+
sig { params(dynamic_descriptor: T.nilable(::String), payout_type: T.nilable(Models::Components::CardPayoutType)).void }
|
|
21
|
+
def initialize(dynamic_descriptor: nil, payout_type: nil)
|
|
20
22
|
@dynamic_descriptor = dynamic_descriptor
|
|
23
|
+
@payout_type = payout_type
|
|
21
24
|
end
|
|
22
25
|
|
|
23
26
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
27
|
def ==(other)
|
|
25
28
|
return false unless other.is_a? self.class
|
|
26
29
|
return false unless @dynamic_descriptor == other.dynamic_descriptor
|
|
30
|
+
return false unless @payout_type == other.payout_type
|
|
27
31
|
true
|
|
28
32
|
end
|
|
29
33
|
end
|
|
@@ -12,25 +12,28 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# The full card number (PAN).
|
|
16
16
|
field :card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardNumber'), required: true } }
|
|
17
|
-
|
|
17
|
+
# The card's 3- or 4-digit card verification value.
|
|
18
18
|
field :card_cvv, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCvv'), required: true } }
|
|
19
19
|
# The expiration date of the card or token.
|
|
20
20
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
21
|
-
|
|
21
|
+
# The billing address associated with the card.
|
|
22
22
|
field :billing_address, Models::Components::CardAddress, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress'), required: true } }
|
|
23
23
|
# Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries.
|
|
24
24
|
# This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our
|
|
25
25
|
# [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
|
|
26
26
|
field :e2ee, Crystalline::Nilable.new(Models::Components::E2EEToken), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('e2ee') } }
|
|
27
|
-
|
|
27
|
+
# The name of the cardholder as it appears on the card.
|
|
28
28
|
field :holder_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName') } }
|
|
29
|
-
|
|
29
|
+
# Indicates cardholder has authorized card to be stored for future payments. (e.g., recurring payments).
|
|
30
|
+
# If true and no `merchantAccountID` is provided, the partner account's ID is used as the merchant account for verification.
|
|
30
31
|
field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
|
|
31
|
-
|
|
32
|
+
# Merchant account whose details (statement descriptor, address, etc.) are used for the card verification authorization.
|
|
33
|
+
# If omitted, the partner account's details are used instead.
|
|
32
34
|
field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
|
|
33
|
-
|
|
35
|
+
# If true, submits the cardholder's name to the card network for verification as part of the $0 authorization.
|
|
36
|
+
# Only supported for Visa and Mastercard; requesting name verification for American Express or Discover will return an error.
|
|
34
37
|
field :verify_name, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verifyName') } }
|
|
35
38
|
|
|
36
39
|
sig { params(card_number: ::String, card_cvv: ::String, expiration: Models::Components::CardExpiration, billing_address: Models::Components::CardAddress, e2ee: T.nilable(Models::Components::E2EEToken), holder_name: T.nilable(::String), card_on_file: T.nilable(T::Boolean), merchant_account_id: T.nilable(::String), verify_name: T.nilable(T::Boolean)).void }
|
|
@@ -28,7 +28,7 @@ module Moov
|
|
|
28
28
|
field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
|
|
29
29
|
# The expiration date of the card or token.
|
|
30
30
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
31
|
-
|
|
31
|
+
# The billing address associated with the card.
|
|
32
32
|
field :billing_address, Models::Components::CardAddress, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress'), required: true } }
|
|
33
33
|
# The results of submitting cardholder data to a card network for verification.
|
|
34
34
|
field :card_verification, Models::Components::CardVerification, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardVerification'), required: true } }
|
|
@@ -40,7 +40,8 @@ module Moov
|
|
|
40
40
|
field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
|
|
41
41
|
# Indicates cardholder has authorized card to be stored for future payments.
|
|
42
42
|
field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
|
|
43
|
-
|
|
43
|
+
# Merchant account whose details (statement descriptor, address, etc.) are used for the card verification authorization.
|
|
44
|
+
# If omitted, the partner account's details are used instead.
|
|
44
45
|
field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
|
|
45
46
|
# The results of the most recent card update request.
|
|
46
47
|
field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
|
|
@@ -22,6 +22,8 @@ module Moov
|
|
|
22
22
|
APPLE_PAY = new('apple-pay')
|
|
23
23
|
CARD_PRESENT_PAYMENT = new('card-present-payment')
|
|
24
24
|
INSTANT_BANK_CREDIT = new('instant-bank-credit')
|
|
25
|
+
PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
|
|
26
|
+
PULL_FROM_APPLE_PAY = new('pull-from-apple-pay')
|
|
25
27
|
end
|
|
26
28
|
end
|
|
27
29
|
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class PullFromApplePayPaymentMethod
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# ID of the payment method.
|
|
16
|
+
field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :payment_method_type, Models::Components::PullFromApplePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromApplePayPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes an Apple Pay token on a Moov account.
|
|
20
|
+
field :apple_pay, Models::Components::ApplePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PullFromApplePayPaymentMethodPaymentMethodType, apple_pay: Models::Components::ApplePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, apple_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@apple_pay = apple_pay
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @payment_method_id == other.payment_method_id
|
|
33
|
+
return false unless @payment_method_type == other.payment_method_type
|
|
34
|
+
return false unless @apple_pay == other.apple_pay
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PullFromApplePayPaymentMethod
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PullFromApplePayPaymentMethod
|
|
11
|
+
def payment_method_id(); end
|
|
12
|
+
def payment_method_id=(str_); end
|
|
13
|
+
def payment_method_type(); end
|
|
14
|
+
def payment_method_type=(str_); end
|
|
15
|
+
def apple_pay(); end
|
|
16
|
+
def apple_pay=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class PullFromApplePayPaymentMethodPaymentMethodType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
PULL_FROM_APPLE_PAY = new('pull-from-apple-pay')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PullFromApplePayPaymentMethodPaymentMethodType
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PullFromApplePayPaymentMethodPaymentMethodType
|
|
11
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class PullFromApplePayTransferPaymentMethod
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# ID of the payment method.
|
|
16
|
+
field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :payment_method_type, Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes an Apple Pay token on a Moov account.
|
|
20
|
+
field :apple_pay, Models::Components::ApplePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType, apple_pay: Models::Components::ApplePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, apple_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@apple_pay = apple_pay
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @payment_method_id == other.payment_method_id
|
|
33
|
+
return false unless @payment_method_type == other.payment_method_type
|
|
34
|
+
return false unless @apple_pay == other.apple_pay
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PullFromApplePayTransferPaymentMethod
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PullFromApplePayTransferPaymentMethod
|
|
11
|
+
def payment_method_id(); end
|
|
12
|
+
def payment_method_id=(str_); end
|
|
13
|
+
def payment_method_type(); end
|
|
14
|
+
def payment_method_type=(str_); end
|
|
15
|
+
def apple_pay(); end
|
|
16
|
+
def apple_pay=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class PullFromApplePayTransferPaymentMethodPaymentMethodType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
PULL_FROM_APPLE_PAY = new('pull-from-apple-pay')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType
|
|
11
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class PushToApplePayPaymentMethod
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# ID of the payment method.
|
|
16
|
+
field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :payment_method_type, Models::Components::PushToApplePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PushToApplePayPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes an Apple Pay token on a Moov account.
|
|
20
|
+
field :apple_pay, Models::Components::ApplePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PushToApplePayPaymentMethodPaymentMethodType, apple_pay: Models::Components::ApplePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, apple_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@apple_pay = apple_pay
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @payment_method_id == other.payment_method_id
|
|
33
|
+
return false unless @payment_method_type == other.payment_method_type
|
|
34
|
+
return false unless @apple_pay == other.apple_pay
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PushToApplePayPaymentMethod
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PushToApplePayPaymentMethod
|
|
11
|
+
def payment_method_id(); end
|
|
12
|
+
def payment_method_id=(str_); end
|
|
13
|
+
def payment_method_type(); end
|
|
14
|
+
def payment_method_type=(str_); end
|
|
15
|
+
def apple_pay(); end
|
|
16
|
+
def apple_pay=(str_); end
|
|
17
|
+
end
|