moov_ruby 26.4.0.pre.dev.17 → 26.4.0.pre.dev.18
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/client.rb +2 -1
- data/lib/moov/google_pay.rb +210 -0
- data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
- data/lib/moov/models/components/googlepayintermediatesigningkey.rb +36 -0
- data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +15 -0
- data/lib/moov/models/components/googlepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/googlepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/googlepayresponse.rb +50 -0
- data/lib/moov/models/components/googlepayresponse.rbi +21 -0
- data/lib/moov/models/components/googlepaytoken.rb +47 -0
- data/lib/moov/models/components/googlepaytoken.rbi +19 -0
- data/lib/moov/models/components/googlepaytransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/googlepaytransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/linkedgooglepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/linkgooglepay.rb +38 -0
- data/lib/moov/models/components/linkgooglepay.rbi +13 -0
- data/lib/moov/models/components/paymentmethodtype.rb +3 -0
- data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pushtogooglepaypaymentmethod.rb +40 -0
- data/lib/moov/models/components/pushtogooglepaypaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rb +40 -0
- data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi +17 -0
- data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
- data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
- data/lib/moov/models/components/resolutionlink.rb +6 -2
- data/lib/moov/models/components/resolutionlink.rbi +2 -0
- data/lib/moov/models/components/resolutionlinkstatus.rb +22 -0
- data/lib/moov/models/components/resolutionlinkstatus.rbi +11 -0
- data/lib/moov/models/components/transferoptions.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -0
- data/lib/moov/models/components.rb +19 -0
- data/lib/moov/models/errors/linkgooglepayerror.rb +40 -0
- data/lib/moov/models/errors/linkgooglepayerror.rbi +17 -0
- data/lib/moov/models/errors.rb +1 -0
- data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
- data/lib/moov/models/operations/linkgooglepaytoken_request.rb +36 -0
- data/lib/moov/models/operations/linkgooglepaytoken_request.rbi +15 -0
- data/lib/moov/models/operations/linkgooglepaytoken_response.rb +48 -0
- data/lib/moov/models/operations/linkgooglepaytoken_response.rbi +21 -0
- data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
- data/lib/moov/models/operations.rb +2 -0
- data/lib/moov/payment_methods.rb +2 -2
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov_ruby.rb +1 -0
- metadata +47 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4dc36e7a6da53a2e7865d3ae8b38804ced469a62130ca24e4877a14f77c7cc62
|
|
4
|
+
data.tar.gz: 22e9a3ad4dde3899263fceb45cf188aef01ec25db171e52580cf748b4cb4bd03
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f3358a13dbb542d8a82caf3cc09412150a6462bcc64079c5795d8bfc94f916321336e4f07591534971ac769f94853c7dc0fcc9aca47e8b56fe76e4173450846
|
|
7
|
+
data.tar.gz: 5d59f12892169b6972a2552e78b3d594d93544d1a6e86f6b6cdaaed1f3dc014f8ce076dad7887ecd8a7c488a71f30a38cb089fc0d02a505d468b433f98419402
|
data/lib/moov/client.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Moov
|
|
|
16
16
|
class Client
|
|
17
17
|
extend T::Sig
|
|
18
18
|
|
|
19
|
-
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
|
19
|
+
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
|
20
20
|
|
|
21
21
|
# Instantiates the SDK, configuring it with the provided parameters.
|
|
22
22
|
#
|
|
@@ -88,6 +88,7 @@ module Moov
|
|
|
88
88
|
@disputes = Disputes.new(@sdk_configuration)
|
|
89
89
|
@fee_plans = FeePlans.new(@sdk_configuration)
|
|
90
90
|
@files = Files.new(@sdk_configuration)
|
|
91
|
+
@google_pay = GooglePay.new(@sdk_configuration)
|
|
91
92
|
@images = Images.new(@sdk_configuration)
|
|
92
93
|
@invoices = Invoices.new(@sdk_configuration)
|
|
93
94
|
@payment_links = PaymentLinks.new(@sdk_configuration)
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'faraday'
|
|
7
|
+
require 'faraday/multipart'
|
|
8
|
+
require 'faraday/retry'
|
|
9
|
+
require 'sorbet-runtime'
|
|
10
|
+
require_relative 'sdk_hooks/hooks'
|
|
11
|
+
require_relative 'utils/retries'
|
|
12
|
+
|
|
13
|
+
module Moov
|
|
14
|
+
extend T::Sig
|
|
15
|
+
class GooglePay
|
|
16
|
+
extend T::Sig
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
sig { params(sdk_config: SDKConfiguration).void }
|
|
21
|
+
def initialize(sdk_config)
|
|
22
|
+
@sdk_configuration = sdk_config
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
|
|
27
|
+
def get_url(base_url:, url_variables: nil)
|
|
28
|
+
sd_base_url, sd_options = @sdk_configuration.get_server_details
|
|
29
|
+
|
|
30
|
+
if base_url.nil?
|
|
31
|
+
base_url = sd_base_url
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
if url_variables.nil?
|
|
35
|
+
url_variables = sd_options
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
return Utils.template_url base_url, url_variables
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
sig { params(link_google_pay: Models::Components::LinkGooglePay, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::LinkGooglePayTokenResponse) }
|
|
45
|
+
def link_token(link_google_pay:, account_id:, timeout_ms: nil, http_headers: nil)
|
|
46
|
+
# link_token - Connect a Google Pay token to the specified account.
|
|
47
|
+
#
|
|
48
|
+
# The `token` data is defined by Google Pay and should be passed through from Google Pay's response unmodified.
|
|
49
|
+
#
|
|
50
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
51
|
+
# you'll need to specify the `/accounts/{accountID}/cards.write` scope.
|
|
52
|
+
request = Models::Operations::LinkGooglePayTokenRequest.new(
|
|
53
|
+
account_id: account_id,
|
|
54
|
+
link_google_pay: link_google_pay
|
|
55
|
+
)
|
|
56
|
+
url, params = @sdk_configuration.get_server_details
|
|
57
|
+
base_url = Utils.template_url(url, params)
|
|
58
|
+
url = Utils.generate_url(
|
|
59
|
+
Models::Operations::LinkGooglePayTokenRequest,
|
|
60
|
+
base_url,
|
|
61
|
+
'/accounts/{accountID}/google-pay/tokens',
|
|
62
|
+
request
|
|
63
|
+
)
|
|
64
|
+
headers = {}
|
|
65
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
66
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :link_google_pay, :json)
|
|
67
|
+
headers['content-type'] = req_content_type
|
|
68
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
69
|
+
|
|
70
|
+
if form && !form.empty?
|
|
71
|
+
body = Utils.encode_form(form)
|
|
72
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
73
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
74
|
+
else
|
|
75
|
+
body = data
|
|
76
|
+
end
|
|
77
|
+
headers['Accept'] = 'application/json'
|
|
78
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
79
|
+
|
|
80
|
+
security = @sdk_configuration.security_source&.call
|
|
81
|
+
|
|
82
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
83
|
+
timeout ||= @sdk_configuration.timeout
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
connection = @sdk_configuration.client
|
|
87
|
+
|
|
88
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
89
|
+
config: @sdk_configuration,
|
|
90
|
+
base_url: base_url,
|
|
91
|
+
oauth2_scopes: nil,
|
|
92
|
+
operation_id: 'linkGooglePayToken',
|
|
93
|
+
security_source: @sdk_configuration.security_source
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
97
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
begin
|
|
101
|
+
http_response = T.must(connection).post(url) do |req|
|
|
102
|
+
req.body = body
|
|
103
|
+
req.headers.merge!(headers)
|
|
104
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
105
|
+
Utils.configure_request_security(req, security)
|
|
106
|
+
http_headers&.each do |key, value|
|
|
107
|
+
req.headers[key.to_s] = value
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
@sdk_configuration.hooks.before_request(
|
|
111
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
112
|
+
hook_ctx: hook_ctx
|
|
113
|
+
),
|
|
114
|
+
request: req
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
rescue StandardError => e
|
|
118
|
+
error = e
|
|
119
|
+
ensure
|
|
120
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
121
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
122
|
+
error: error,
|
|
123
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
124
|
+
hook_ctx: hook_ctx
|
|
125
|
+
),
|
|
126
|
+
response: http_response
|
|
127
|
+
)
|
|
128
|
+
else
|
|
129
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
130
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
131
|
+
hook_ctx: hook_ctx
|
|
132
|
+
),
|
|
133
|
+
response: http_response
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
if http_response.nil?
|
|
138
|
+
raise error if !error.nil?
|
|
139
|
+
raise 'no response'
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
144
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
145
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
146
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
147
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
148
|
+
hook_ctx: hook_ctx
|
|
149
|
+
),
|
|
150
|
+
response: http_response
|
|
151
|
+
)
|
|
152
|
+
response_data = http_response.env.response_body
|
|
153
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::LinkedGooglePayPaymentMethod))
|
|
154
|
+
response = Models::Operations::LinkGooglePayTokenResponse.new(
|
|
155
|
+
status_code: http_response.status,
|
|
156
|
+
content_type: content_type,
|
|
157
|
+
raw_response: http_response,
|
|
158
|
+
headers: http_response.headers,
|
|
159
|
+
linked_google_pay_payment_methods: T.unsafe(obj)
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
return response
|
|
163
|
+
else
|
|
164
|
+
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'
|
|
165
|
+
end
|
|
166
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
167
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
168
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
169
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
170
|
+
hook_ctx: hook_ctx
|
|
171
|
+
),
|
|
172
|
+
response: http_response
|
|
173
|
+
)
|
|
174
|
+
response_data = http_response.env.response_body
|
|
175
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
176
|
+
obj.raw_response = http_response
|
|
177
|
+
raise obj
|
|
178
|
+
else
|
|
179
|
+
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'
|
|
180
|
+
end
|
|
181
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
182
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
183
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
184
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
185
|
+
hook_ctx: hook_ctx
|
|
186
|
+
),
|
|
187
|
+
response: http_response
|
|
188
|
+
)
|
|
189
|
+
response_data = http_response.env.response_body
|
|
190
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::LinkGooglePayError)
|
|
191
|
+
obj.raw_response = http_response
|
|
192
|
+
raise obj
|
|
193
|
+
else
|
|
194
|
+
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'
|
|
195
|
+
end
|
|
196
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
197
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
198
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
199
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
200
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
201
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
202
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
203
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
204
|
+
else
|
|
205
|
+
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'
|
|
206
|
+
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
@@ -14,6 +14,8 @@ module Moov
|
|
|
14
14
|
RTP_CREDIT = new('rtp-credit')
|
|
15
15
|
ACH_CREDIT_SAME_DAY = new('ach-credit-same-day')
|
|
16
16
|
ACH_CREDIT_STANDARD = new('ach-credit-standard')
|
|
17
|
+
PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
|
|
18
|
+
PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
|
|
17
19
|
end
|
|
18
20
|
end
|
|
19
21
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
# Contains the intermediate signing key for verification.
|
|
11
|
+
class GooglePayIntermediateSigningKey
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# A JSON-encoded serialized string containing the signing key data.
|
|
16
|
+
field :signed_key, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signedKey'), required: true } }
|
|
17
|
+
# Base64-encoded signatures of the `signedKey`.
|
|
18
|
+
field :signatures, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signatures'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(signed_key: ::String, signatures: T::Array[::String]).void }
|
|
21
|
+
def initialize(signed_key:, signatures:)
|
|
22
|
+
@signed_key = signed_key
|
|
23
|
+
@signatures = signatures
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @signed_key == other.signed_key
|
|
30
|
+
return false unless @signatures == other.signatures
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayIntermediateSigningKey
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayIntermediateSigningKey
|
|
11
|
+
def signed_key(); end
|
|
12
|
+
def signed_key=(str_); end
|
|
13
|
+
def signatures(); end
|
|
14
|
+
def signatures=(str_); end
|
|
15
|
+
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 GooglePayPaymentMethod
|
|
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::GooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes a Google Pay token on a Moov account.
|
|
20
|
+
field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::GooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, google_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@google_pay = google_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 @google_pay == other.google_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::GooglePayPaymentMethod
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayPaymentMethod
|
|
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 google_pay(); end
|
|
16
|
+
def google_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 GooglePayPaymentMethodPaymentMethodType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
GOOGLE_PAY = new('google-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::GooglePayPaymentMethodPaymentMethodType
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayPaymentMethodPaymentMethodType
|
|
11
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
# Describes a Google Pay token on a Moov account.
|
|
11
|
+
class GooglePayResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The card brand.
|
|
16
|
+
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 last four digits of the underlying card number.
|
|
18
|
+
field :card_details, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails'), required: true } }
|
|
19
|
+
# Uniquely identifies a linked payment card or token.
|
|
20
|
+
# For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
|
|
21
|
+
# This field can be used to identify specific payment methods across multiple accounts on your platform.
|
|
22
|
+
field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
|
|
23
|
+
# The expiration date of the card or token.
|
|
24
|
+
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
25
|
+
# Country where the underlying card was issued.
|
|
26
|
+
field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
|
|
27
|
+
|
|
28
|
+
sig { params(brand: Models::Components::CardBrand, card_details: ::String, fingerprint: ::String, expiration: Models::Components::CardExpiration, issuer_country: T.nilable(::String)).void }
|
|
29
|
+
def initialize(brand:, card_details:, fingerprint:, expiration:, issuer_country: nil)
|
|
30
|
+
@brand = brand
|
|
31
|
+
@card_details = card_details
|
|
32
|
+
@fingerprint = fingerprint
|
|
33
|
+
@expiration = expiration
|
|
34
|
+
@issuer_country = issuer_country
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
38
|
+
def ==(other)
|
|
39
|
+
return false unless other.is_a? self.class
|
|
40
|
+
return false unless @brand == other.brand
|
|
41
|
+
return false unless @card_details == other.card_details
|
|
42
|
+
return false unless @fingerprint == other.fingerprint
|
|
43
|
+
return false unless @expiration == other.expiration
|
|
44
|
+
return false unless @issuer_country == other.issuer_country
|
|
45
|
+
true
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayResponse
|
|
11
|
+
def brand(); end
|
|
12
|
+
def brand=(str_); end
|
|
13
|
+
def card_details(); end
|
|
14
|
+
def card_details=(str_); end
|
|
15
|
+
def fingerprint(); end
|
|
16
|
+
def fingerprint=(str_); end
|
|
17
|
+
def expiration(); end
|
|
18
|
+
def expiration=(str_); end
|
|
19
|
+
def issuer_country(); end
|
|
20
|
+
def issuer_country=(str_); end
|
|
21
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
# Contains the encrypted payment token as returned from Google Pay.
|
|
11
|
+
#
|
|
12
|
+
# Refer to [Google's documentation](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography#payment-method-token-structure)
|
|
13
|
+
# for more information.
|
|
14
|
+
class GooglePayToken
|
|
15
|
+
extend T::Sig
|
|
16
|
+
include Crystalline::MetadataFields
|
|
17
|
+
|
|
18
|
+
# The version of the encryption/signing protocol. Must be `ECv2`.
|
|
19
|
+
field :protocol_version, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('protocolVersion'), required: true } }
|
|
20
|
+
# A Base64-encoded signature of the `signedMessage`.
|
|
21
|
+
field :signature, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signature'), required: true } }
|
|
22
|
+
# Contains the intermediate signing key for verification.
|
|
23
|
+
field :intermediate_signing_key, Models::Components::GooglePayIntermediateSigningKey, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('intermediateSigningKey'), required: true } }
|
|
24
|
+
# A JSON-encoded serialized string containing the encrypted payment data.
|
|
25
|
+
field :signed_message, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signedMessage'), required: true } }
|
|
26
|
+
|
|
27
|
+
sig { params(protocol_version: ::String, signature: ::String, intermediate_signing_key: Models::Components::GooglePayIntermediateSigningKey, signed_message: ::String).void }
|
|
28
|
+
def initialize(protocol_version:, signature:, intermediate_signing_key:, signed_message:)
|
|
29
|
+
@protocol_version = protocol_version
|
|
30
|
+
@signature = signature
|
|
31
|
+
@intermediate_signing_key = intermediate_signing_key
|
|
32
|
+
@signed_message = signed_message
|
|
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 @protocol_version == other.protocol_version
|
|
39
|
+
return false unless @signature == other.signature
|
|
40
|
+
return false unless @intermediate_signing_key == other.intermediate_signing_key
|
|
41
|
+
return false unless @signed_message == other.signed_message
|
|
42
|
+
true
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayToken
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayToken
|
|
11
|
+
def protocol_version(); end
|
|
12
|
+
def protocol_version=(str_); end
|
|
13
|
+
def signature(); end
|
|
14
|
+
def signature=(str_); end
|
|
15
|
+
def intermediate_signing_key(); end
|
|
16
|
+
def intermediate_signing_key=(str_); end
|
|
17
|
+
def signed_message(); end
|
|
18
|
+
def signed_message=(str_); end
|
|
19
|
+
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 GooglePayTransferPaymentMethod
|
|
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::GooglePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayTransferPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes a Google Pay token on a Moov account.
|
|
20
|
+
field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::GooglePayTransferPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, google_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@google_pay = google_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 @google_pay == other.google_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::GooglePayTransferPaymentMethod
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayTransferPaymentMethod
|
|
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 google_pay(); end
|
|
16
|
+
def google_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 GooglePayTransferPaymentMethodPaymentMethodType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
GOOGLE_PAY = new('google-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::GooglePayTransferPaymentMethodPaymentMethodType
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayTransferPaymentMethodPaymentMethodType
|
|
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 LinkedGooglePayPaymentMethod
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The new payment method's ID.
|
|
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::LinkedGooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType, false) } }
|
|
19
|
+
# Describes a Google Pay token on a Moov account.
|
|
20
|
+
field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
|
|
23
|
+
def initialize(payment_method_id:, payment_method_type:, google_pay:)
|
|
24
|
+
@payment_method_id = payment_method_id
|
|
25
|
+
@payment_method_type = payment_method_type
|
|
26
|
+
@google_pay = google_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 @google_pay == other.google_pay
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|