moov_ruby 0.0.0.pre.dev.15 → 0.0.0.pre.dev.17
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/cards.rb +158 -0
- data/lib/moov/models/components/authmethod.rb +19 -0
- data/lib/moov/models/components/{rtpfailurecode.rbi → authmethod.rbi} +2 -2
- data/lib/moov/models/components/cardmetadata.rb +79 -0
- data/lib/moov/models/components/cardmetadata.rbi +35 -0
- data/lib/moov/models/components/cardmetadatarequest.rb +38 -0
- data/lib/moov/models/components/cardmetadatarequest.rbi +15 -0
- data/lib/moov/models/components/collectionpaymentmethodtype.rb +1 -0
- data/lib/moov/models/components/createreversal.rb +6 -2
- data/lib/moov/models/components/createreversal.rbi +2 -0
- data/lib/moov/models/components/googlepayresponse.rb +25 -6
- data/lib/moov/models/components/googlepayresponse.rbi +10 -2
- data/lib/moov/models/components/reversalamountdetails.rb +32 -0
- data/lib/moov/models/components/reversalamountdetails.rbi +13 -0
- data/lib/moov/models/components/reversalamountdetailsvalidationerror.rb +32 -0
- data/lib/moov/models/components/reversalamountdetailsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/transferdestination.rb +2 -6
- data/lib/moov/models/components/transferdestination.rbi +0 -2
- data/lib/moov/models/components.rb +5 -3
- data/lib/moov/models/errors/cardmetadatarequesterror.rb +44 -0
- data/lib/moov/models/errors/cardmetadatarequesterror.rbi +19 -0
- data/lib/moov/models/errors/reversalvalidationerror.rb +6 -2
- data/lib/moov/models/errors/reversalvalidationerror.rbi +2 -0
- data/lib/moov/models/errors.rb +1 -0
- data/lib/moov/models/operations/getcardmetadata_response.rb +48 -0
- data/lib/moov/models/operations/getcardmetadata_response.rbi +21 -0
- data/lib/moov/models/operations.rb +1 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- metadata +16 -8
- data/lib/moov/models/components/rtpdetails.rb +0 -58
- data/lib/moov/models/components/rtpdetails.rbi +0 -25
- data/lib/moov/models/components/rtpfailurecode.rb +0 -27
- data/lib/moov/models/components/rtptransactionstatus.rb +0 -21
- data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c7c1379f3422f93a6ebe153b5f58d46329bfd85a162d196b51283bb46db0673f
|
|
4
|
+
data.tar.gz: 42a7a4c7580b6bd0316ed1c90dcce98a7cea5a35f2e170c0f33d051a33f7bb85
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a42c42296f003247385ecb0504bd7584c9573c2645a08333429c750a4cd7b990a8582ee7278aa78a3f182ec86b4ecc1175d45a20131dcce30f834f1d2eda7dce
|
|
7
|
+
data.tar.gz: c55d05f2840ca13c07c08e3860939549ddab1fb8c77d93f0ed65d5d2d398bdf7f414d58cd2a3e6a14070078031e39529f064a9e9ab3293ac4d3225df357184d2
|
data/lib/moov/cards.rb
CHANGED
|
@@ -787,5 +787,163 @@ module Moov
|
|
|
787
787
|
|
|
788
788
|
end
|
|
789
789
|
end
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
sig { params(request: Models::Components::CardMetadataRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetCardMetadataResponse) }
|
|
793
|
+
def get_metadata(request:, timeout_ms: nil, http_headers: nil)
|
|
794
|
+
# get_metadata - Look up metadata for a card without linking it to a Moov account.
|
|
795
|
+
#
|
|
796
|
+
# Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
|
|
797
|
+
#
|
|
798
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
799
|
+
# you'll need to specify the `/card-metadata.read` scope.
|
|
800
|
+
url, params = @sdk_configuration.get_server_details
|
|
801
|
+
base_url = Utils.template_url(url, params)
|
|
802
|
+
url = "#{base_url}/card-metadata"
|
|
803
|
+
headers = {}
|
|
804
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
805
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request, :json)
|
|
806
|
+
headers['content-type'] = req_content_type
|
|
807
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
808
|
+
|
|
809
|
+
if form && !form.empty?
|
|
810
|
+
body = Utils.encode_form(form)
|
|
811
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
812
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
813
|
+
else
|
|
814
|
+
body = data
|
|
815
|
+
end
|
|
816
|
+
headers['Accept'] = 'application/json'
|
|
817
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
818
|
+
|
|
819
|
+
security = @sdk_configuration.security_source&.call
|
|
820
|
+
|
|
821
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
822
|
+
timeout ||= @sdk_configuration.timeout
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
connection = @sdk_configuration.client
|
|
826
|
+
|
|
827
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
828
|
+
config: @sdk_configuration,
|
|
829
|
+
base_url: base_url,
|
|
830
|
+
oauth2_scopes: nil,
|
|
831
|
+
operation_id: 'getCardMetadata',
|
|
832
|
+
security_source: @sdk_configuration.security_source
|
|
833
|
+
)
|
|
834
|
+
|
|
835
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
836
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
begin
|
|
840
|
+
http_response = T.must(connection).post(url) do |req|
|
|
841
|
+
req.body = body
|
|
842
|
+
req.headers.merge!(headers)
|
|
843
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
844
|
+
Utils.configure_request_security(req, security)
|
|
845
|
+
http_headers&.each do |key, value|
|
|
846
|
+
req.headers[key.to_s] = value
|
|
847
|
+
end
|
|
848
|
+
|
|
849
|
+
@sdk_configuration.hooks.before_request(
|
|
850
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
851
|
+
hook_ctx: hook_ctx
|
|
852
|
+
),
|
|
853
|
+
request: req
|
|
854
|
+
)
|
|
855
|
+
end
|
|
856
|
+
rescue StandardError => e
|
|
857
|
+
error = e
|
|
858
|
+
ensure
|
|
859
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
860
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
861
|
+
error: error,
|
|
862
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
863
|
+
hook_ctx: hook_ctx
|
|
864
|
+
),
|
|
865
|
+
response: http_response
|
|
866
|
+
)
|
|
867
|
+
else
|
|
868
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
869
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
870
|
+
hook_ctx: hook_ctx
|
|
871
|
+
),
|
|
872
|
+
response: http_response
|
|
873
|
+
)
|
|
874
|
+
end
|
|
875
|
+
|
|
876
|
+
if http_response.nil?
|
|
877
|
+
raise error if !error.nil?
|
|
878
|
+
raise 'no response'
|
|
879
|
+
end
|
|
880
|
+
end
|
|
881
|
+
|
|
882
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
883
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
884
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
885
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
886
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
887
|
+
hook_ctx: hook_ctx
|
|
888
|
+
),
|
|
889
|
+
response: http_response
|
|
890
|
+
)
|
|
891
|
+
response_data = http_response.env.response_body
|
|
892
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::CardMetadata)
|
|
893
|
+
response = Models::Operations::GetCardMetadataResponse.new(
|
|
894
|
+
status_code: http_response.status,
|
|
895
|
+
content_type: content_type,
|
|
896
|
+
raw_response: http_response,
|
|
897
|
+
headers: http_response.headers,
|
|
898
|
+
card_metadata: T.unsafe(obj)
|
|
899
|
+
)
|
|
900
|
+
|
|
901
|
+
return response
|
|
902
|
+
else
|
|
903
|
+
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'
|
|
904
|
+
end
|
|
905
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
906
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
907
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
908
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
909
|
+
hook_ctx: hook_ctx
|
|
910
|
+
),
|
|
911
|
+
response: http_response
|
|
912
|
+
)
|
|
913
|
+
response_data = http_response.env.response_body
|
|
914
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
915
|
+
obj.raw_response = http_response
|
|
916
|
+
raise obj
|
|
917
|
+
else
|
|
918
|
+
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'
|
|
919
|
+
end
|
|
920
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
921
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
922
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
923
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
924
|
+
hook_ctx: hook_ctx
|
|
925
|
+
),
|
|
926
|
+
response: http_response
|
|
927
|
+
)
|
|
928
|
+
response_data = http_response.env.response_body
|
|
929
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::CardMetadataRequestError)
|
|
930
|
+
obj.raw_response = http_response
|
|
931
|
+
raise obj
|
|
932
|
+
else
|
|
933
|
+
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'
|
|
934
|
+
end
|
|
935
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
936
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
937
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
938
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
939
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
940
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
941
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
942
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
943
|
+
else
|
|
944
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
|
945
|
+
|
|
946
|
+
end
|
|
947
|
+
end
|
|
790
948
|
end
|
|
791
949
|
end
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
# AuthMethod - The authentication method used for the Google Pay token.
|
|
11
|
+
class AuthMethod < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
PAN_ONLY = new('PAN_ONLY')
|
|
14
|
+
CRYPTOGRAM_3_DS = new('CRYPTOGRAM_3DS')
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Moov::Models::Components::
|
|
5
|
+
class Moov::Models::Components::AuthMethod
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Moov::Models::Components::
|
|
10
|
+
class Moov::Models::Components::AuthMethod
|
|
11
11
|
end
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
# Metadata describing a card.
|
|
11
|
+
class CardMetadata
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The first six to eight digits of the card number, which identifies the financial institution that issued the card.
|
|
16
|
+
field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
|
|
17
|
+
# The card brand.
|
|
18
|
+
field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
|
|
19
|
+
# The type of the card.
|
|
20
|
+
field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
|
|
21
|
+
# The category or level of the card defined by the issuer.
|
|
22
|
+
# Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
|
|
23
|
+
field :card_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCategory') } }
|
|
24
|
+
# If true, the card is for commercial use, or associated with a business.
|
|
25
|
+
# If false, the card is associated with a general consumer.
|
|
26
|
+
field :commercial, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('commercial') } }
|
|
27
|
+
# If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
|
|
28
|
+
# If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
|
|
29
|
+
field :regulated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('regulated') } }
|
|
30
|
+
# Financial institution that issued the card.
|
|
31
|
+
field :issuer, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuer') } }
|
|
32
|
+
# Country where the card was issued.
|
|
33
|
+
field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
|
|
34
|
+
# Phone number of the issuer.
|
|
35
|
+
field :issuer_phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerPhone') } }
|
|
36
|
+
# URL of the issuer.
|
|
37
|
+
field :issuer_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerURL') } }
|
|
38
|
+
# Indicates if the card supports domestic pull-from-card transfer.
|
|
39
|
+
field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
|
|
40
|
+
# Indicates which level of domestic push-to-card transfer is supported by the card, if any.
|
|
41
|
+
field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
|
|
42
|
+
|
|
43
|
+
sig { params(bin: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, card_category: T.nilable(::String), commercial: T.nilable(T::Boolean), regulated: T.nilable(T::Boolean), issuer: T.nilable(::String), issuer_country: T.nilable(::String), issuer_phone: T.nilable(::String), issuer_url: T.nilable(::String), domestic_pull_from_card: T.nilable(Models::Components::DomesticPullFromCard), domestic_push_to_card: T.nilable(Models::Components::DomesticPushToCard)).void }
|
|
44
|
+
def initialize(bin:, brand:, card_type:, card_category: nil, commercial: nil, regulated: nil, issuer: nil, issuer_country: nil, issuer_phone: nil, issuer_url: nil, domestic_pull_from_card: nil, domestic_push_to_card: nil)
|
|
45
|
+
@bin = bin
|
|
46
|
+
@brand = brand
|
|
47
|
+
@card_type = card_type
|
|
48
|
+
@card_category = card_category
|
|
49
|
+
@commercial = commercial
|
|
50
|
+
@regulated = regulated
|
|
51
|
+
@issuer = issuer
|
|
52
|
+
@issuer_country = issuer_country
|
|
53
|
+
@issuer_phone = issuer_phone
|
|
54
|
+
@issuer_url = issuer_url
|
|
55
|
+
@domestic_pull_from_card = domestic_pull_from_card
|
|
56
|
+
@domestic_push_to_card = domestic_push_to_card
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
60
|
+
def ==(other)
|
|
61
|
+
return false unless other.is_a? self.class
|
|
62
|
+
return false unless @bin == other.bin
|
|
63
|
+
return false unless @brand == other.brand
|
|
64
|
+
return false unless @card_type == other.card_type
|
|
65
|
+
return false unless @card_category == other.card_category
|
|
66
|
+
return false unless @commercial == other.commercial
|
|
67
|
+
return false unless @regulated == other.regulated
|
|
68
|
+
return false unless @issuer == other.issuer
|
|
69
|
+
return false unless @issuer_country == other.issuer_country
|
|
70
|
+
return false unless @issuer_phone == other.issuer_phone
|
|
71
|
+
return false unless @issuer_url == other.issuer_url
|
|
72
|
+
return false unless @domestic_pull_from_card == other.domestic_pull_from_card
|
|
73
|
+
return false unless @domestic_push_to_card == other.domestic_push_to_card
|
|
74
|
+
true
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CardMetadata
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CardMetadata
|
|
11
|
+
def bin(); end
|
|
12
|
+
def bin=(str_); end
|
|
13
|
+
def brand(); end
|
|
14
|
+
def brand=(str_); end
|
|
15
|
+
def card_type(); end
|
|
16
|
+
def card_type=(str_); end
|
|
17
|
+
def card_category(); end
|
|
18
|
+
def card_category=(str_); end
|
|
19
|
+
def commercial(); end
|
|
20
|
+
def commercial=(str_); end
|
|
21
|
+
def regulated(); end
|
|
22
|
+
def regulated=(str_); end
|
|
23
|
+
def issuer(); end
|
|
24
|
+
def issuer=(str_); end
|
|
25
|
+
def issuer_country(); end
|
|
26
|
+
def issuer_country=(str_); end
|
|
27
|
+
def issuer_phone(); end
|
|
28
|
+
def issuer_phone=(str_); end
|
|
29
|
+
def issuer_url(); end
|
|
30
|
+
def issuer_url=(str_); end
|
|
31
|
+
def domestic_pull_from_card(); end
|
|
32
|
+
def domestic_pull_from_card=(str_); end
|
|
33
|
+
def domestic_push_to_card(); end
|
|
34
|
+
def domestic_push_to_card=(str_); end
|
|
35
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
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 CardMetadataRequest
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries.
|
|
16
|
+
# 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
|
|
17
|
+
# [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
|
|
18
|
+
field :e2ee, Crystalline::Nilable.new(Models::Components::E2EEToken), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('e2ee') } }
|
|
19
|
+
# The full card number (PAN).
|
|
20
|
+
field :card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardNumber') } }
|
|
21
|
+
|
|
22
|
+
sig { params(e2ee: T.nilable(Models::Components::E2EEToken), card_number: T.nilable(::String)).void }
|
|
23
|
+
def initialize(e2ee: nil, card_number: nil)
|
|
24
|
+
@e2ee = e2ee
|
|
25
|
+
@card_number = card_number
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
29
|
+
def ==(other)
|
|
30
|
+
return false unless other.is_a? self.class
|
|
31
|
+
return false unless @e2ee == other.e2ee
|
|
32
|
+
return false unless @card_number == other.card_number
|
|
33
|
+
true
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CardMetadataRequest
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CardMetadataRequest
|
|
11
|
+
def e2ee(); end
|
|
12
|
+
def e2ee=(str_); end
|
|
13
|
+
def card_number(); end
|
|
14
|
+
def card_number=(str_); end
|
|
15
|
+
end
|
|
@@ -14,16 +14,20 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# Amount to reverse in cents. Partial amounts will automatically trigger a refund instead of a cancellation.
|
|
16
16
|
field :amount, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
17
|
+
# Breakdown of the reversed amount.
|
|
18
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::ReversalAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
17
19
|
|
|
18
|
-
sig { params(amount: ::Integer).void }
|
|
19
|
-
def initialize(amount:)
|
|
20
|
+
sig { params(amount: ::Integer, amount_details: T.nilable(Models::Components::ReversalAmountDetails)).void }
|
|
21
|
+
def initialize(amount:, amount_details: nil)
|
|
20
22
|
@amount = amount
|
|
23
|
+
@amount_details = amount_details
|
|
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 @amount == other.amount
|
|
30
|
+
return false unless @amount_details == other.amount_details
|
|
27
31
|
true
|
|
28
32
|
end
|
|
29
33
|
end
|
|
@@ -12,36 +12,55 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
+
# The unique identifier of the Google Pay token.
|
|
16
|
+
field :token_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tokenID'), required: true } }
|
|
15
17
|
# The card brand.
|
|
16
18
|
field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
|
|
17
|
-
# The
|
|
18
|
-
field :
|
|
19
|
+
# The type of the card.
|
|
20
|
+
field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
|
|
21
|
+
# User-friendly name of the tokenized card returned by Google Pay.
|
|
22
|
+
#
|
|
23
|
+
# It usually contains the last four digits of the underlying card.
|
|
24
|
+
# There is no standard format.
|
|
25
|
+
field :card_display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDisplayName'), required: true } }
|
|
19
26
|
# Uniquely identifies a linked payment card or token.
|
|
20
27
|
# For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
|
|
21
28
|
# This field can be used to identify specific payment methods across multiple accounts on your platform.
|
|
22
29
|
field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
|
|
23
30
|
# The expiration date of the card or token.
|
|
24
31
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
32
|
+
# The last four digits of the Google Pay token, which may differ from the tokenized card's last four digits.
|
|
33
|
+
field :dynamic_last_four, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicLastFour'), required: true } }
|
|
25
34
|
# Country where the underlying card was issued.
|
|
26
35
|
field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
|
|
36
|
+
# The authentication method used for the Google Pay token.
|
|
37
|
+
field :auth_method, Crystalline::Nilable.new(Models::Components::AuthMethod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authMethod'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AuthMethod, true) } }
|
|
27
38
|
|
|
28
|
-
sig { params(brand: Models::Components::CardBrand,
|
|
29
|
-
def initialize(brand:,
|
|
39
|
+
sig { params(token_id: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, card_display_name: ::String, fingerprint: ::String, expiration: Models::Components::CardExpiration, dynamic_last_four: ::String, issuer_country: T.nilable(::String), auth_method: T.nilable(Models::Components::AuthMethod)).void }
|
|
40
|
+
def initialize(token_id:, brand:, card_type:, card_display_name:, fingerprint:, expiration:, dynamic_last_four:, issuer_country: nil, auth_method: nil)
|
|
41
|
+
@token_id = token_id
|
|
30
42
|
@brand = brand
|
|
31
|
-
@
|
|
43
|
+
@card_type = card_type
|
|
44
|
+
@card_display_name = card_display_name
|
|
32
45
|
@fingerprint = fingerprint
|
|
33
46
|
@expiration = expiration
|
|
47
|
+
@dynamic_last_four = dynamic_last_four
|
|
34
48
|
@issuer_country = issuer_country
|
|
49
|
+
@auth_method = auth_method
|
|
35
50
|
end
|
|
36
51
|
|
|
37
52
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
38
53
|
def ==(other)
|
|
39
54
|
return false unless other.is_a? self.class
|
|
55
|
+
return false unless @token_id == other.token_id
|
|
40
56
|
return false unless @brand == other.brand
|
|
41
|
-
return false unless @
|
|
57
|
+
return false unless @card_type == other.card_type
|
|
58
|
+
return false unless @card_display_name == other.card_display_name
|
|
42
59
|
return false unless @fingerprint == other.fingerprint
|
|
43
60
|
return false unless @expiration == other.expiration
|
|
61
|
+
return false unless @dynamic_last_four == other.dynamic_last_four
|
|
44
62
|
return false unless @issuer_country == other.issuer_country
|
|
63
|
+
return false unless @auth_method == other.auth_method
|
|
45
64
|
true
|
|
46
65
|
end
|
|
47
66
|
end
|
|
@@ -8,14 +8,22 @@ end
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class Moov::Models::Components::GooglePayResponse
|
|
11
|
+
def token_id(); end
|
|
12
|
+
def token_id=(str_); end
|
|
11
13
|
def brand(); end
|
|
12
14
|
def brand=(str_); end
|
|
13
|
-
def
|
|
14
|
-
def
|
|
15
|
+
def card_type(); end
|
|
16
|
+
def card_type=(str_); end
|
|
17
|
+
def card_display_name(); end
|
|
18
|
+
def card_display_name=(str_); end
|
|
15
19
|
def fingerprint(); end
|
|
16
20
|
def fingerprint=(str_); end
|
|
17
21
|
def expiration(); end
|
|
18
22
|
def expiration=(str_); end
|
|
23
|
+
def dynamic_last_four(); end
|
|
24
|
+
def dynamic_last_four=(str_); end
|
|
19
25
|
def issuer_country(); end
|
|
20
26
|
def issuer_country=(str_); end
|
|
27
|
+
def auth_method(); end
|
|
28
|
+
def auth_method=(str_); end
|
|
21
29
|
end
|
|
@@ -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
|
+
|
|
11
|
+
class ReversalAmountDetails
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The amount of surcharge to refund. Should be proportionate to the surcharge on the original transfer. This does not reply if the reversal resulted in a cancellation instead of a refund
|
|
16
|
+
field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
|
|
17
|
+
|
|
18
|
+
sig { params(surcharge: T.nilable(Models::Components::AmountDecimal)).void }
|
|
19
|
+
def initialize(surcharge: nil)
|
|
20
|
+
@surcharge = surcharge
|
|
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 @surcharge == other.surcharge
|
|
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::ReversalAmountDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::ReversalAmountDetails
|
|
11
|
+
def surcharge(); end
|
|
12
|
+
def surcharge=(str_); end
|
|
13
|
+
end
|
|
@@ -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
|
+
|
|
11
|
+
class ReversalAmountDetailsValidationError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :surcharge, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
|
|
17
|
+
|
|
18
|
+
sig { params(surcharge: T.nilable(::String)).void }
|
|
19
|
+
def initialize(surcharge: nil)
|
|
20
|
+
@surcharge = surcharge
|
|
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 @surcharge == other.surcharge
|
|
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::ReversalAmountDetailsValidationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::ReversalAmountDetailsValidationError
|
|
11
|
+
def surcharge(); end
|
|
12
|
+
def surcharge=(str_); end
|
|
13
|
+
end
|
|
@@ -32,13 +32,11 @@ module Moov
|
|
|
32
32
|
field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
|
|
33
33
|
# Card-specific details about the transaction.
|
|
34
34
|
field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
35
|
-
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
36
|
-
field :rtp_details, Crystalline::Nilable.new(Models::Components::RtpDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpDetails') } }
|
|
37
35
|
# Instant-bank specific details about the transaction.
|
|
38
36
|
field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
|
|
39
37
|
|
|
40
|
-
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails),
|
|
41
|
-
def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil,
|
|
38
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
|
|
39
|
+
def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil, instant_bank_details: nil)
|
|
42
40
|
@payment_method_id = payment_method_id
|
|
43
41
|
@payment_method_type = payment_method_type
|
|
44
42
|
@account = account
|
|
@@ -49,7 +47,6 @@ module Moov
|
|
|
49
47
|
@apple_pay = apple_pay
|
|
50
48
|
@google_pay = google_pay
|
|
51
49
|
@card_details = card_details
|
|
52
|
-
@rtp_details = rtp_details
|
|
53
50
|
@instant_bank_details = instant_bank_details
|
|
54
51
|
end
|
|
55
52
|
|
|
@@ -66,7 +63,6 @@ module Moov
|
|
|
66
63
|
return false unless @apple_pay == other.apple_pay
|
|
67
64
|
return false unless @google_pay == other.google_pay
|
|
68
65
|
return false unless @card_details == other.card_details
|
|
69
|
-
return false unless @rtp_details == other.rtp_details
|
|
70
66
|
return false unless @instant_bank_details == other.instant_bank_details
|
|
71
67
|
true
|
|
72
68
|
end
|
|
@@ -28,8 +28,6 @@ class Moov::Models::Components::TransferDestination
|
|
|
28
28
|
def google_pay=(str_); end
|
|
29
29
|
def card_details(); end
|
|
30
30
|
def card_details=(str_); end
|
|
31
|
-
def rtp_details(); end
|
|
32
|
-
def rtp_details=(str_); end
|
|
33
31
|
def instant_bank_details(); end
|
|
34
32
|
def instant_bank_details=(str_); end
|
|
35
33
|
end
|
|
@@ -127,6 +127,8 @@ module Moov
|
|
|
127
127
|
autoload :CardExpiration, 'moov/models/components/cardexpiration.rb'
|
|
128
128
|
autoload :CardExpirationError, 'moov/models/components/cardexpirationerror.rb'
|
|
129
129
|
autoload :CardIssuingNetwork, 'moov/models/components/cardissuingnetwork.rb'
|
|
130
|
+
autoload :CardMetadata, 'moov/models/components/cardmetadata.rb'
|
|
131
|
+
autoload :CardMetadataRequest, 'moov/models/components/cardmetadatarequest.rb'
|
|
130
132
|
autoload :CardPaymentDetails, 'moov/models/components/cardpaymentdetails.rb'
|
|
131
133
|
autoload :CardPaymentDetailsError, 'moov/models/components/cardpaymentdetailserror.rb'
|
|
132
134
|
autoload :CardPaymentPaymentMethod, 'moov/models/components/cardpaymentpaymentmethod.rb'
|
|
@@ -488,11 +490,9 @@ module Moov
|
|
|
488
490
|
autoload :PutTipPresets, 'moov/models/components/puttippresets.rb'
|
|
489
491
|
autoload :PutTransferConfig, 'moov/models/components/puttransferconfig.rb'
|
|
490
492
|
autoload :QRCode, 'moov/models/components/qrcode.rb'
|
|
491
|
-
autoload :RTPFailureCode, 'moov/models/components/rtpfailurecode.rb'
|
|
492
493
|
autoload :RTPInstitution, 'moov/models/components/rtpinstitution.rb'
|
|
493
494
|
autoload :RTPRejectionCode, 'moov/models/components/rtprejectioncode.rb'
|
|
494
495
|
autoload :RTPServices, 'moov/models/components/rtpservices.rb'
|
|
495
|
-
autoload :RTPTransactionStatus, 'moov/models/components/rtptransactionstatus.rb'
|
|
496
496
|
autoload :ReceiptKind, 'moov/models/components/receiptkind.rb'
|
|
497
497
|
autoload :ReceiptRequest, 'moov/models/components/receiptrequest.rb'
|
|
498
498
|
autoload :ReceiptResponse, 'moov/models/components/receiptresponse.rb'
|
|
@@ -519,6 +519,8 @@ module Moov
|
|
|
519
519
|
autoload :ResolutionLinkStatus, 'moov/models/components/resolutionlinkstatus.rb'
|
|
520
520
|
autoload :ReturnPolicyType, 'moov/models/components/returnpolicytype.rb'
|
|
521
521
|
autoload :Reversal, 'moov/models/components/reversal.rb'
|
|
522
|
+
autoload :ReversalAmountDetails, 'moov/models/components/reversalamountdetails.rb'
|
|
523
|
+
autoload :ReversalAmountDetailsValidationError, 'moov/models/components/reversalamountdetailsvalidationerror.rb'
|
|
522
524
|
autoload :ReversedWithCancellation, 'moov/models/components/reversedwithcancellation.rb'
|
|
523
525
|
autoload :ReversedWithRefund, 'moov/models/components/reversedwithrefund.rb'
|
|
524
526
|
autoload :RevokeTokenRequest, 'moov/models/components/revoketokenrequest.rb'
|
|
@@ -697,6 +699,7 @@ module Moov
|
|
|
697
699
|
autoload :AchDetails, 'moov/models/components/achdetails.rb'
|
|
698
700
|
autoload :AchPayment, 'moov/models/components/achpayment.rb'
|
|
699
701
|
autoload :AdjustmentFees, 'moov/models/components/adjustmentfees.rb'
|
|
702
|
+
autoload :AuthMethod, 'moov/models/components/authmethod.rb'
|
|
700
703
|
autoload :CardAcquiring, 'moov/models/components/cardacquiring.rb'
|
|
701
704
|
autoload :CardDetails, 'moov/models/components/carddetails.rb'
|
|
702
705
|
autoload :CardFundingSource, 'moov/models/components/cardfundingsource.rb'
|
|
@@ -709,7 +712,6 @@ module Moov
|
|
|
709
712
|
autoload :OtherFees, 'moov/models/components/otherfees.rb'
|
|
710
713
|
autoload :Phone, 'moov/models/components/phone.rb'
|
|
711
714
|
autoload :Responsibilities, 'moov/models/components/responsibilities.rb'
|
|
712
|
-
autoload :RtpDetails, 'moov/models/components/rtpdetails.rb'
|
|
713
715
|
autoload :Status, 'moov/models/components/status.rb'
|
|
714
716
|
autoload :TokenTypeHint, 'moov/models/components/token_type_hint.rb'
|
|
715
717
|
autoload :Use, 'moov/models/components/use.rb'
|
|
@@ -0,0 +1,44 @@
|
|
|
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 Errors
|
|
10
|
+
|
|
11
|
+
class CardMetadataRequestError < StandardError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :error, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('error') } }
|
|
17
|
+
|
|
18
|
+
field :e2ee, Crystalline::Nilable.new(Models::Components::End2EndEncryptionError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('e2ee') } }
|
|
19
|
+
|
|
20
|
+
field :card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardNumber') } }
|
|
21
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
22
|
+
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
23
|
+
|
|
24
|
+
sig { params(error: T.nilable(::String), e2ee: T.nilable(Models::Components::End2EndEncryptionError), card_number: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
|
|
25
|
+
def initialize(error: nil, e2ee: nil, card_number: nil, raw_response: nil)
|
|
26
|
+
@error = error
|
|
27
|
+
@e2ee = e2ee
|
|
28
|
+
@card_number = card_number
|
|
29
|
+
@raw_response = raw_response
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
33
|
+
def ==(other)
|
|
34
|
+
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @error == other.error
|
|
36
|
+
return false unless @e2ee == other.e2ee
|
|
37
|
+
return false unless @card_number == other.card_number
|
|
38
|
+
return false unless @raw_response == other.raw_response
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Errors::CardMetadataRequestError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Errors::CardMetadataRequestError
|
|
11
|
+
def error(); end
|
|
12
|
+
def error=(str_); end
|
|
13
|
+
def e2ee(); end
|
|
14
|
+
def e2ee=(str_); end
|
|
15
|
+
def card_number(); end
|
|
16
|
+
def card_number=(str_); end
|
|
17
|
+
def raw_response(); end
|
|
18
|
+
def raw_response=(str_); end
|
|
19
|
+
end
|
|
@@ -14,12 +14,15 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
field :amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
|
|
17
|
+
|
|
18
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::ReversalAmountDetailsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
17
19
|
# Raw HTTP response; suitable for custom response parsing
|
|
18
20
|
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
19
21
|
|
|
20
|
-
sig { params(amount: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
|
|
21
|
-
def initialize(amount: nil, raw_response: nil)
|
|
22
|
+
sig { params(amount: T.nilable(::String), amount_details: T.nilable(Models::Components::ReversalAmountDetailsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
|
|
23
|
+
def initialize(amount: nil, amount_details: nil, raw_response: nil)
|
|
22
24
|
@amount = amount
|
|
25
|
+
@amount_details = amount_details
|
|
23
26
|
@raw_response = raw_response
|
|
24
27
|
end
|
|
25
28
|
|
|
@@ -27,6 +30,7 @@ module Moov
|
|
|
27
30
|
def ==(other)
|
|
28
31
|
return false unless other.is_a? self.class
|
|
29
32
|
return false unless @amount == other.amount
|
|
33
|
+
return false unless @amount_details == other.amount_details
|
|
30
34
|
return false unless @raw_response == other.raw_response
|
|
31
35
|
true
|
|
32
36
|
end
|
data/lib/moov/models/errors.rb
CHANGED
|
@@ -14,6 +14,7 @@ module Moov
|
|
|
14
14
|
autoload :BankAccountValidationError, 'moov/models/errors/bankaccountvalidationerror.rb'
|
|
15
15
|
autoload :BrandValidationError, 'moov/models/errors/brandvalidationerror.rb'
|
|
16
16
|
autoload :CardAcquiringRefundError, 'moov/models/errors/cardacquiringrefund_error.rb'
|
|
17
|
+
autoload :CardMetadataRequestError, 'moov/models/errors/cardmetadatarequesterror.rb'
|
|
17
18
|
autoload :ConnectAccountRequestValidationError, 'moov/models/errors/connectaccountrequestvalidationerror.rb'
|
|
18
19
|
autoload :CreateAccountError, 'moov/models/errors/createaccounterror.rb'
|
|
19
20
|
autoload :CreateInvoiceError, 'moov/models/errors/createinvoiceerror.rb'
|
|
@@ -0,0 +1,48 @@
|
|
|
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 Operations
|
|
10
|
+
|
|
11
|
+
class GetCardMetadataResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# HTTP response content type for this operation
|
|
16
|
+
field :content_type, ::String
|
|
17
|
+
# HTTP response status code for this operation
|
|
18
|
+
field :status_code, ::Integer
|
|
19
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
20
|
+
field :raw_response, ::Faraday::Response
|
|
21
|
+
|
|
22
|
+
field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
|
|
23
|
+
# The request completed successfully.
|
|
24
|
+
field :card_metadata, Crystalline::Nilable.new(Models::Components::CardMetadata)
|
|
25
|
+
|
|
26
|
+
sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], card_metadata: T.nilable(Models::Components::CardMetadata)).void }
|
|
27
|
+
def initialize(content_type:, status_code:, raw_response:, headers:, card_metadata: nil)
|
|
28
|
+
@content_type = content_type
|
|
29
|
+
@status_code = status_code
|
|
30
|
+
@raw_response = raw_response
|
|
31
|
+
@headers = headers
|
|
32
|
+
@card_metadata = card_metadata
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
36
|
+
def ==(other)
|
|
37
|
+
return false unless other.is_a? self.class
|
|
38
|
+
return false unless @content_type == other.content_type
|
|
39
|
+
return false unless @status_code == other.status_code
|
|
40
|
+
return false unless @raw_response == other.raw_response
|
|
41
|
+
return false unless @headers == other.headers
|
|
42
|
+
return false unless @card_metadata == other.card_metadata
|
|
43
|
+
true
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Operations::GetCardMetadataResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Operations::GetCardMetadataResponse
|
|
11
|
+
def content_type(); end
|
|
12
|
+
def content_type=(str_); end
|
|
13
|
+
def status_code(); end
|
|
14
|
+
def status_code=(str_); end
|
|
15
|
+
def raw_response(); end
|
|
16
|
+
def raw_response=(str_); end
|
|
17
|
+
def headers(); end
|
|
18
|
+
def headers=(str_); end
|
|
19
|
+
def card_metadata(); end
|
|
20
|
+
def card_metadata=(str_); end
|
|
21
|
+
end
|
|
@@ -113,6 +113,7 @@ module Moov
|
|
|
113
113
|
autoload :GetCancellationResponse, 'moov/models/operations/getcancellation_response.rb'
|
|
114
114
|
autoload :GetCapabilityRequest, 'moov/models/operations/getcapability_request.rb'
|
|
115
115
|
autoload :GetCapabilityResponse, 'moov/models/operations/getcapability_response.rb'
|
|
116
|
+
autoload :GetCardMetadataResponse, 'moov/models/operations/getcardmetadata_response.rb'
|
|
116
117
|
autoload :GetCardRequest, 'moov/models/operations/getcard_request.rb'
|
|
117
118
|
autoload :GetCardResponse, 'moov/models/operations/getcard_response.rb'
|
|
118
119
|
autoload :GetDisputeEvidenceDataRequest, 'moov/models/operations/getdisputeevidencedata_request.rb'
|
|
@@ -88,9 +88,9 @@ module Moov
|
|
|
88
88
|
end
|
|
89
89
|
@language = 'ruby'
|
|
90
90
|
@openapi_doc_version = 'dev'
|
|
91
|
-
@sdk_version = '0.0.0-dev.
|
|
92
|
-
@gen_version = '2.
|
|
93
|
-
@user_agent = 'speakeasy-sdk/ruby 0.0.0-dev.
|
|
91
|
+
@sdk_version = '0.0.0-dev.17'
|
|
92
|
+
@gen_version = '2.882.0'
|
|
93
|
+
@user_agent = 'speakeasy-sdk/ruby 0.0.0-dev.17 2.882.0 dev moov_ruby'
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: moov_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.0.pre.dev.
|
|
4
|
+
version: 0.0.0.pre.dev.17
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Speakeasy
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|
|
@@ -394,6 +394,8 @@ files:
|
|
|
394
394
|
- lib/moov/models/components/asynccreatedrefund.rbi
|
|
395
395
|
- lib/moov/models/components/asynctransfer.rb
|
|
396
396
|
- lib/moov/models/components/asynctransfer.rbi
|
|
397
|
+
- lib/moov/models/components/authmethod.rb
|
|
398
|
+
- lib/moov/models/components/authmethod.rbi
|
|
397
399
|
- lib/moov/models/components/authorizeduser.rb
|
|
398
400
|
- lib/moov/models/components/authorizeduser.rbi
|
|
399
401
|
- lib/moov/models/components/authtoken.rb
|
|
@@ -518,6 +520,10 @@ files:
|
|
|
518
520
|
- lib/moov/models/components/cardfundingsource.rbi
|
|
519
521
|
- lib/moov/models/components/cardissuingnetwork.rb
|
|
520
522
|
- lib/moov/models/components/cardissuingnetwork.rbi
|
|
523
|
+
- lib/moov/models/components/cardmetadata.rb
|
|
524
|
+
- lib/moov/models/components/cardmetadata.rbi
|
|
525
|
+
- lib/moov/models/components/cardmetadatarequest.rb
|
|
526
|
+
- lib/moov/models/components/cardmetadatarequest.rbi
|
|
521
527
|
- lib/moov/models/components/cardnetwork.rb
|
|
522
528
|
- lib/moov/models/components/cardnetwork.rbi
|
|
523
529
|
- lib/moov/models/components/cardpayment.rb
|
|
@@ -1310,6 +1316,10 @@ files:
|
|
|
1310
1316
|
- lib/moov/models/components/returnpolicytype.rbi
|
|
1311
1317
|
- lib/moov/models/components/reversal.rb
|
|
1312
1318
|
- lib/moov/models/components/reversal.rbi
|
|
1319
|
+
- lib/moov/models/components/reversalamountdetails.rb
|
|
1320
|
+
- lib/moov/models/components/reversalamountdetails.rbi
|
|
1321
|
+
- lib/moov/models/components/reversalamountdetailsvalidationerror.rb
|
|
1322
|
+
- lib/moov/models/components/reversalamountdetailsvalidationerror.rbi
|
|
1313
1323
|
- lib/moov/models/components/reversedwithcancellation.rb
|
|
1314
1324
|
- lib/moov/models/components/reversedwithcancellation.rbi
|
|
1315
1325
|
- lib/moov/models/components/reversedwithrefund.rb
|
|
@@ -1324,18 +1334,12 @@ files:
|
|
|
1324
1334
|
- lib/moov/models/components/rtpcredittransferpaymentmethod.rbi
|
|
1325
1335
|
- lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rb
|
|
1326
1336
|
- lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rbi
|
|
1327
|
-
- lib/moov/models/components/rtpdetails.rb
|
|
1328
|
-
- lib/moov/models/components/rtpdetails.rbi
|
|
1329
|
-
- lib/moov/models/components/rtpfailurecode.rb
|
|
1330
|
-
- lib/moov/models/components/rtpfailurecode.rbi
|
|
1331
1337
|
- lib/moov/models/components/rtpinstitution.rb
|
|
1332
1338
|
- lib/moov/models/components/rtpinstitution.rbi
|
|
1333
1339
|
- lib/moov/models/components/rtprejectioncode.rb
|
|
1334
1340
|
- lib/moov/models/components/rtprejectioncode.rbi
|
|
1335
1341
|
- lib/moov/models/components/rtpservices.rb
|
|
1336
1342
|
- lib/moov/models/components/rtpservices.rbi
|
|
1337
|
-
- lib/moov/models/components/rtptransactionstatus.rb
|
|
1338
|
-
- lib/moov/models/components/rtptransactionstatus.rbi
|
|
1339
1343
|
- lib/moov/models/components/runtransfer.rb
|
|
1340
1344
|
- lib/moov/models/components/runtransfer.rbi
|
|
1341
1345
|
- lib/moov/models/components/scheduledtransferimagemetadata.rb
|
|
@@ -1695,6 +1699,8 @@ files:
|
|
|
1695
1699
|
- lib/moov/models/errors/brandvalidationerror.rbi
|
|
1696
1700
|
- lib/moov/models/errors/cardacquiringrefund_error.rb
|
|
1697
1701
|
- lib/moov/models/errors/cardacquiringrefund_error.rbi
|
|
1702
|
+
- lib/moov/models/errors/cardmetadatarequesterror.rb
|
|
1703
|
+
- lib/moov/models/errors/cardmetadatarequesterror.rbi
|
|
1698
1704
|
- lib/moov/models/errors/connectaccountrequestvalidationerror.rb
|
|
1699
1705
|
- lib/moov/models/errors/connectaccountrequestvalidationerror.rbi
|
|
1700
1706
|
- lib/moov/models/errors/createaccounterror.rb
|
|
@@ -2014,6 +2020,8 @@ files:
|
|
|
2014
2020
|
- lib/moov/models/operations/getcard_request.rbi
|
|
2015
2021
|
- lib/moov/models/operations/getcard_response.rb
|
|
2016
2022
|
- lib/moov/models/operations/getcard_response.rbi
|
|
2023
|
+
- lib/moov/models/operations/getcardmetadata_response.rb
|
|
2024
|
+
- lib/moov/models/operations/getcardmetadata_response.rbi
|
|
2017
2025
|
- lib/moov/models/operations/getdispute_request.rb
|
|
2018
2026
|
- lib/moov/models/operations/getdispute_request.rbi
|
|
2019
2027
|
- lib/moov/models/operations/getdispute_response.rb
|
|
@@ -1,58 +0,0 @@
|
|
|
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
|
-
# DEPRECATED: use `InstantBankTransactionDetails` instead (v2026.04.00 or later). RTP specific details about the transaction.
|
|
11
|
-
#
|
|
12
|
-
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
13
|
-
class RtpDetails
|
|
14
|
-
extend T::Sig
|
|
15
|
-
include Crystalline::MetadataFields
|
|
16
|
-
|
|
17
|
-
# Status of a transaction within the RTP lifecycle.
|
|
18
|
-
field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPTransactionStatus, true) } }
|
|
19
|
-
# Response code returned by network on failure.
|
|
20
|
-
field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
|
|
21
|
-
# Status codes for RTP failures.
|
|
22
|
-
field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPFailureCode, true) } }
|
|
23
|
-
|
|
24
|
-
field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
25
|
-
|
|
26
|
-
field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
27
|
-
|
|
28
|
-
field :failed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
29
|
-
|
|
30
|
-
field :accepted_without_posting_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedWithoutPostingOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
31
|
-
|
|
32
|
-
sig { params(status: T.nilable(Models::Components::RTPTransactionStatus), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::RTPFailureCode), initiated_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), accepted_without_posting_on: T.nilable(::DateTime)).void }
|
|
33
|
-
def initialize(status: nil, network_response_code: nil, failure_code: nil, initiated_on: nil, completed_on: nil, failed_on: nil, accepted_without_posting_on: nil)
|
|
34
|
-
@status = status
|
|
35
|
-
@network_response_code = network_response_code
|
|
36
|
-
@failure_code = failure_code
|
|
37
|
-
@initiated_on = initiated_on
|
|
38
|
-
@completed_on = completed_on
|
|
39
|
-
@failed_on = failed_on
|
|
40
|
-
@accepted_without_posting_on = accepted_without_posting_on
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
44
|
-
def ==(other)
|
|
45
|
-
return false unless other.is_a? self.class
|
|
46
|
-
return false unless @status == other.status
|
|
47
|
-
return false unless @network_response_code == other.network_response_code
|
|
48
|
-
return false unless @failure_code == other.failure_code
|
|
49
|
-
return false unless @initiated_on == other.initiated_on
|
|
50
|
-
return false unless @completed_on == other.completed_on
|
|
51
|
-
return false unless @failed_on == other.failed_on
|
|
52
|
-
return false unless @accepted_without_posting_on == other.accepted_without_posting_on
|
|
53
|
-
true
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# typed: true
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class Moov::Models::Components::RtpDetails
|
|
6
|
-
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Moov::Models::Components::RtpDetails
|
|
11
|
-
def status(); end
|
|
12
|
-
def status=(str_); end
|
|
13
|
-
def network_response_code(); end
|
|
14
|
-
def network_response_code=(str_); end
|
|
15
|
-
def failure_code(); end
|
|
16
|
-
def failure_code=(str_); end
|
|
17
|
-
def initiated_on(); end
|
|
18
|
-
def initiated_on=(str_); end
|
|
19
|
-
def completed_on(); end
|
|
20
|
-
def completed_on=(str_); end
|
|
21
|
-
def failed_on(); end
|
|
22
|
-
def failed_on=(str_); end
|
|
23
|
-
def accepted_without_posting_on(); end
|
|
24
|
-
def accepted_without_posting_on=(str_); end
|
|
25
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
# RTPFailureCode - Status codes for RTP failures.
|
|
11
|
-
class RTPFailureCode < T::Enum
|
|
12
|
-
enums do
|
|
13
|
-
PROCESSING_ERROR = new('processing-error')
|
|
14
|
-
INVALID_ACCOUNT = new('invalid-account')
|
|
15
|
-
ACCOUNT_CLOSED = new('account-closed')
|
|
16
|
-
ACCOUNT_BLOCKED = new('account-blocked')
|
|
17
|
-
INVALID_FIELD = new('invalid-field')
|
|
18
|
-
TRANSACTION_NOT_SUPPORTED = new('transaction-not-supported')
|
|
19
|
-
LIMIT_EXCEEDED = new('limit-exceeded')
|
|
20
|
-
INVALID_AMOUNT = new('invalid-amount')
|
|
21
|
-
CUSTOMER_DECEASED = new('customer-deceased')
|
|
22
|
-
OTHER = new('other')
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
-
# RTPTransactionStatus - Status of a transaction within the RTP lifecycle.
|
|
11
|
-
class RTPTransactionStatus < T::Enum
|
|
12
|
-
enums do
|
|
13
|
-
INITIATED = new('initiated')
|
|
14
|
-
COMPLETED = new('completed')
|
|
15
|
-
FAILED = new('failed')
|
|
16
|
-
ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|