moov_ruby 0.0.0.pre.dev.12 → 0.0.0.pre.dev.14
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 +3 -1
- data/lib/moov/google_pay.rb +212 -0
- data/lib/moov/models/components/amountdecimalrange.rb +36 -0
- data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
- data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
- data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
- data/lib/moov/models/components/asynccreatedrefund.rb +6 -2
- data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
- data/lib/moov/models/components/cardacquiringrefund.rb +6 -2
- data/lib/moov/models/components/cardacquiringrefund.rbi +2 -0
- data/lib/moov/models/components/cardfundingsource.rb +21 -0
- data/lib/moov/models/components/cardfundingsource.rbi +11 -0
- data/lib/moov/models/components/cardnetwork.rb +24 -0
- data/lib/moov/models/components/cardnetwork.rbi +11 -0
- data/lib/moov/models/components/createdtransfer.rb +11 -3
- data/lib/moov/models/components/createdtransfer.rbi +4 -0
- data/lib/moov/models/components/createpaymentlink.rb +17 -8
- data/lib/moov/models/components/createpaymentlink.rbi +4 -2
- data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
- data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
- data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
- data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/createrefund.rb +6 -2
- data/lib/moov/models/components/createrefund.rbi +2 -0
- data/lib/moov/models/components/createtippresets.rb +42 -0
- data/lib/moov/models/components/createtippresets.rbi +17 -0
- data/lib/moov/models/components/createtransfer.rb +7 -3
- data/lib/moov/models/components/createtransfer.rbi +2 -0
- data/lib/moov/models/components/createtransferamountdetails.rb +36 -0
- data/lib/moov/models/components/createtransferamountdetails.rbi +15 -0
- data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +36 -0
- data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +15 -0
- data/lib/moov/models/components/createtransferconfig.rb +32 -0
- data/lib/moov/models/components/createtransferconfig.rbi +13 -0
- data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
- data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
- data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
- data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
- data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
- data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
- data/lib/moov/models/components/googlepaycardinfo.rbi +21 -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/googlepaypaymentmethoddata.rb +48 -0
- data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
- data/lib/moov/models/components/googlepaypaymentmethoddata_type.rb +18 -0
- data/lib/moov/models/components/googlepaypaymentmethoddata_type.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/googlepaytokenizationdata.rb +38 -0
- data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
- data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
- data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -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/linkgooglepay.rb +43 -0
- data/lib/moov/models/components/linkgooglepay.rbi +15 -0
- data/lib/moov/models/components/paymentlink.rb +16 -7
- data/lib/moov/models/components/paymentlink.rbi +4 -2
- data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
- data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
- data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
- data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
- data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
- data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
- data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
- data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -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/puttippresets.rb +42 -0
- data/lib/moov/models/components/puttippresets.rbi +17 -0
- data/lib/moov/models/components/puttransferconfig.rb +32 -0
- data/lib/moov/models/components/puttransferconfig.rbi +13 -0
- data/lib/moov/models/components/refundamountdetails.rb +32 -0
- data/lib/moov/models/components/refundamountdetails.rbi +13 -0
- data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
- data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -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/tipcalculationbasis.rb +21 -0
- data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
- data/lib/moov/models/components/tippresets.rb +42 -0
- data/lib/moov/models/components/tippresets.rbi +17 -0
- data/lib/moov/models/components/transfer.rb +11 -3
- data/lib/moov/models/components/transfer.rbi +4 -0
- data/lib/moov/models/components/transferamountdetails.rb +36 -0
- data/lib/moov/models/components/transferamountdetails.rbi +15 -0
- data/lib/moov/models/components/transfercapture.rb +36 -0
- data/lib/moov/models/components/transfercapture.rbi +15 -0
- data/lib/moov/models/components/transferconfig.rb +32 -0
- data/lib/moov/models/components/transferconfig.rbi +13 -0
- data/lib/moov/models/components/transferdestination.rb +6 -2
- data/lib/moov/models/components/transferdestination.rbi +2 -0
- data/lib/moov/models/components/transferoptions.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -0
- data/lib/moov/models/components/transfersource.rb +6 -2
- data/lib/moov/models/components/transfersource.rbi +2 -0
- data/lib/moov/models/components/updatepaymentlink.rb +6 -2
- data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
- data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
- data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
- data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
- data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
- data/lib/moov/models/components.rb +47 -0
- data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
- data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
- data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
- data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
- data/lib/moov/models/errors/linkgooglepayerror.rb +44 -0
- data/lib/moov/models/errors/linkgooglepayerror.rbi +19 -0
- data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
- data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
- data/lib/moov/models/errors/transfer_error.rb +11 -3
- data/lib/moov/models/errors/transfer_error.rbi +4 -0
- data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
- data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
- data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
- data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
- data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
- data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
- data/lib/moov/models/errors.rb +2 -0
- data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
- data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
- data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
- data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
- data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
- data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
- data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
- 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/listtransfers_request.rb +10 -2
- data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
- data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
- data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
- data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
- data/lib/moov/models/operations.rb +8 -0
- data/lib/moov/payment_methods.rb +2 -2
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfer_config.rb +486 -0
- data/lib/moov_ruby.rb +2 -0
- metadata +118 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f9c1f340af3cb696364cadc3fecf90620d25874254a25452c1babdbf48eb7b86
|
|
4
|
+
data.tar.gz: 4cdbc936def2e56be3d9aa74bdda4db0ea553ed5c3beb56762be8c6b0455afea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1835450e38c0856107dd456a3bbe8328e9f997038754b800470bbd0458181cc42dfe73f5abfa891513ffba03258a1c50fdfd68a27e11f3f82ae9a22fc5937601
|
|
7
|
+
data.tar.gz: 1b21586a4bbbe0562040fec3671ae78e613674d481d919597b8c6b63a2e99f016e1c39f0fec42ca668a8cc5c4486d9bc6a2ae76fe96afeff08f5438cb90da1b3
|
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, :transfer_config, :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)
|
|
@@ -100,6 +101,7 @@ module Moov
|
|
|
100
101
|
@sweeps = Sweeps.new(@sdk_configuration)
|
|
101
102
|
@account_terminal_applications = AccountTerminalApplications.new(@sdk_configuration)
|
|
102
103
|
@support = Support.new(@sdk_configuration)
|
|
104
|
+
@transfer_config = TransferConfig.new(@sdk_configuration)
|
|
103
105
|
@transfers = Transfers.new(@sdk_configuration)
|
|
104
106
|
@underwriting = Underwriting.new(@sdk_configuration)
|
|
105
107
|
@wallets = Wallets.new(@sdk_configuration)
|
|
@@ -0,0 +1,212 @@
|
|
|
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 `paymentMethodData` field should contain the `paymentMethodData` property from Google Pay's
|
|
49
|
+
# [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response,
|
|
50
|
+
# passed through unmodified.
|
|
51
|
+
#
|
|
52
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
53
|
+
# you'll need to specify the `/accounts/{accountID}/cards.write` scope.
|
|
54
|
+
request = Models::Operations::LinkGooglePayTokenRequest.new(
|
|
55
|
+
account_id: account_id,
|
|
56
|
+
link_google_pay: link_google_pay
|
|
57
|
+
)
|
|
58
|
+
url, params = @sdk_configuration.get_server_details
|
|
59
|
+
base_url = Utils.template_url(url, params)
|
|
60
|
+
url = Utils.generate_url(
|
|
61
|
+
Models::Operations::LinkGooglePayTokenRequest,
|
|
62
|
+
base_url,
|
|
63
|
+
'/accounts/{accountID}/google-pay/tokens',
|
|
64
|
+
request
|
|
65
|
+
)
|
|
66
|
+
headers = {}
|
|
67
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
68
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :link_google_pay, :json)
|
|
69
|
+
headers['content-type'] = req_content_type
|
|
70
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
71
|
+
|
|
72
|
+
if form && !form.empty?
|
|
73
|
+
body = Utils.encode_form(form)
|
|
74
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
75
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
76
|
+
else
|
|
77
|
+
body = data
|
|
78
|
+
end
|
|
79
|
+
headers['Accept'] = 'application/json'
|
|
80
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
81
|
+
|
|
82
|
+
security = @sdk_configuration.security_source&.call
|
|
83
|
+
|
|
84
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
85
|
+
timeout ||= @sdk_configuration.timeout
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
connection = @sdk_configuration.client
|
|
89
|
+
|
|
90
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
91
|
+
config: @sdk_configuration,
|
|
92
|
+
base_url: base_url,
|
|
93
|
+
oauth2_scopes: nil,
|
|
94
|
+
operation_id: 'linkGooglePayToken',
|
|
95
|
+
security_source: @sdk_configuration.security_source
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
99
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
begin
|
|
103
|
+
http_response = T.must(connection).post(url) do |req|
|
|
104
|
+
req.body = body
|
|
105
|
+
req.headers.merge!(headers)
|
|
106
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
107
|
+
Utils.configure_request_security(req, security)
|
|
108
|
+
http_headers&.each do |key, value|
|
|
109
|
+
req.headers[key.to_s] = value
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
@sdk_configuration.hooks.before_request(
|
|
113
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
114
|
+
hook_ctx: hook_ctx
|
|
115
|
+
),
|
|
116
|
+
request: req
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
rescue StandardError => e
|
|
120
|
+
error = e
|
|
121
|
+
ensure
|
|
122
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
123
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
124
|
+
error: error,
|
|
125
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
126
|
+
hook_ctx: hook_ctx
|
|
127
|
+
),
|
|
128
|
+
response: http_response
|
|
129
|
+
)
|
|
130
|
+
else
|
|
131
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
132
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
133
|
+
hook_ctx: hook_ctx
|
|
134
|
+
),
|
|
135
|
+
response: http_response
|
|
136
|
+
)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
if http_response.nil?
|
|
140
|
+
raise error if !error.nil?
|
|
141
|
+
raise 'no response'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
146
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
147
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
148
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
149
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
150
|
+
hook_ctx: hook_ctx
|
|
151
|
+
),
|
|
152
|
+
response: http_response
|
|
153
|
+
)
|
|
154
|
+
response_data = http_response.env.response_body
|
|
155
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::LinkedGooglePayPaymentMethod))
|
|
156
|
+
response = Models::Operations::LinkGooglePayTokenResponse.new(
|
|
157
|
+
status_code: http_response.status,
|
|
158
|
+
content_type: content_type,
|
|
159
|
+
raw_response: http_response,
|
|
160
|
+
headers: http_response.headers,
|
|
161
|
+
linked_google_pay_payment_methods: T.unsafe(obj)
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
return response
|
|
165
|
+
else
|
|
166
|
+
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'
|
|
167
|
+
end
|
|
168
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
169
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
170
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
171
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
172
|
+
hook_ctx: hook_ctx
|
|
173
|
+
),
|
|
174
|
+
response: http_response
|
|
175
|
+
)
|
|
176
|
+
response_data = http_response.env.response_body
|
|
177
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
178
|
+
obj.raw_response = http_response
|
|
179
|
+
raise obj
|
|
180
|
+
else
|
|
181
|
+
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'
|
|
182
|
+
end
|
|
183
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
184
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
185
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
186
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
187
|
+
hook_ctx: hook_ctx
|
|
188
|
+
),
|
|
189
|
+
response: http_response
|
|
190
|
+
)
|
|
191
|
+
response_data = http_response.env.response_body
|
|
192
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::LinkGooglePayError)
|
|
193
|
+
obj.raw_response = http_response
|
|
194
|
+
raise obj
|
|
195
|
+
else
|
|
196
|
+
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'
|
|
197
|
+
end
|
|
198
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
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, ['500', '504'])
|
|
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, ['4XX'])
|
|
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
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
205
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
206
|
+
else
|
|
207
|
+
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'
|
|
208
|
+
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
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
|
+
|
|
11
|
+
class AmountDecimalRange
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Minimum amount allowed in the range
|
|
16
|
+
field :minimum, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimum'), required: true } }
|
|
17
|
+
# Maximum amount allowed in the range
|
|
18
|
+
field :maximum, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximum'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(minimum: Models::Components::AmountDecimal, maximum: Models::Components::AmountDecimal).void }
|
|
21
|
+
def initialize(minimum:, maximum:)
|
|
22
|
+
@minimum = minimum
|
|
23
|
+
@maximum = maximum
|
|
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 @minimum == other.minimum
|
|
30
|
+
return false unless @maximum == other.maximum
|
|
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::AmountDecimalRange
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::AmountDecimalRange
|
|
11
|
+
def minimum(); end
|
|
12
|
+
def minimum=(str_); end
|
|
13
|
+
def maximum(); end
|
|
14
|
+
def maximum=(str_); end
|
|
15
|
+
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
|
+
|
|
11
|
+
class AmountDecimalRangeUpdate
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Minimum amount allowed in the range
|
|
16
|
+
field :minimum, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimum') } }
|
|
17
|
+
# Maximum amount allowed in the range
|
|
18
|
+
field :maximum, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximum') } }
|
|
19
|
+
|
|
20
|
+
sig { params(minimum: T.nilable(Models::Components::AmountDecimalUpdate), maximum: T.nilable(Models::Components::AmountDecimalUpdate)).void }
|
|
21
|
+
def initialize(minimum: nil, maximum: nil)
|
|
22
|
+
@minimum = minimum
|
|
23
|
+
@maximum = maximum
|
|
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 @minimum == other.minimum
|
|
30
|
+
return false unless @maximum == other.maximum
|
|
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::AmountDecimalRangeUpdate
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::AmountDecimalRangeUpdate
|
|
11
|
+
def minimum(); end
|
|
12
|
+
def minimum=(str_); end
|
|
13
|
+
def maximum(); end
|
|
14
|
+
def maximum=(str_); end
|
|
15
|
+
end
|
|
@@ -19,11 +19,14 @@ module Moov
|
|
|
19
19
|
|
|
20
20
|
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
23
|
+
|
|
24
|
+
sig { params(refund_id: ::String, created_on: ::DateTime, amount: Models::Components::Amount, amount_details: T.nilable(Models::Components::RefundAmountDetails)).void }
|
|
25
|
+
def initialize(refund_id:, created_on:, amount:, amount_details: nil)
|
|
24
26
|
@refund_id = refund_id
|
|
25
27
|
@created_on = created_on
|
|
26
28
|
@amount = amount
|
|
29
|
+
@amount_details = amount_details
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -32,6 +35,7 @@ module Moov
|
|
|
32
35
|
return false unless @refund_id == other.refund_id
|
|
33
36
|
return false unless @created_on == other.created_on
|
|
34
37
|
return false unless @amount == other.amount
|
|
38
|
+
return false unless @amount_details == other.amount_details
|
|
35
39
|
true
|
|
36
40
|
end
|
|
37
41
|
end
|
|
@@ -23,15 +23,18 @@ module Moov
|
|
|
23
23
|
|
|
24
24
|
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
25
25
|
|
|
26
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
27
|
+
|
|
26
28
|
field :card_details, Crystalline::Nilable.new(Models::Components::RefundCardDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
27
29
|
|
|
28
|
-
sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::Amount, card_details: T.nilable(Models::Components::RefundCardDetails)).void }
|
|
29
|
-
def initialize(refund_id:, created_on:, updated_on:, status:, amount:, card_details: nil)
|
|
30
|
+
sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::Amount, amount_details: T.nilable(Models::Components::RefundAmountDetails), card_details: T.nilable(Models::Components::RefundCardDetails)).void }
|
|
31
|
+
def initialize(refund_id:, created_on:, updated_on:, status:, amount:, amount_details: nil, card_details: nil)
|
|
30
32
|
@refund_id = refund_id
|
|
31
33
|
@created_on = created_on
|
|
32
34
|
@updated_on = updated_on
|
|
33
35
|
@status = status
|
|
34
36
|
@amount = amount
|
|
37
|
+
@amount_details = amount_details
|
|
35
38
|
@card_details = card_details
|
|
36
39
|
end
|
|
37
40
|
|
|
@@ -43,6 +46,7 @@ module Moov
|
|
|
43
46
|
return false unless @updated_on == other.updated_on
|
|
44
47
|
return false unless @status == other.status
|
|
45
48
|
return false unless @amount == other.amount
|
|
49
|
+
return false unless @amount_details == other.amount_details
|
|
46
50
|
return false unless @card_details == other.card_details
|
|
47
51
|
true
|
|
48
52
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
# CardFundingSource - The funding source of the card. One of CREDIT, DEBIT, PREPAID, or UNKNOWN.
|
|
11
|
+
class CardFundingSource < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
CREDIT = new('CREDIT')
|
|
14
|
+
DEBIT = new('DEBIT')
|
|
15
|
+
PREPAID = new('PREPAID')
|
|
16
|
+
UNKNOWN = new('UNKNOWN')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
# CardNetwork - The card network. One of AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA, or OTHER.
|
|
11
|
+
class CardNetwork < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
AMEX = new('AMEX')
|
|
14
|
+
DISCOVER = new('DISCOVER')
|
|
15
|
+
INTERAC = new('INTERAC')
|
|
16
|
+
JCB = new('JCB')
|
|
17
|
+
MASTERCARD = new('MASTERCARD')
|
|
18
|
+
VISA = new('VISA')
|
|
19
|
+
OTHER = new('OTHER')
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -60,7 +60,7 @@ module Moov
|
|
|
60
60
|
field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
|
|
61
61
|
|
|
62
62
|
field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
|
|
63
|
-
# Optional sales tax amount.
|
|
63
|
+
# Optional sales tax amount.
|
|
64
64
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
65
65
|
# Optional alias from a foreign/external system which can be used to reference this resource.
|
|
66
66
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
@@ -68,8 +68,12 @@ module Moov
|
|
|
68
68
|
# When line items are provided, their total plus sales tax must equal the transfer amount.
|
|
69
69
|
field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
72
|
+
# The card authorization and capture IDs associated with a transfer.
|
|
73
|
+
field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
|
|
74
|
+
|
|
75
|
+
sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
|
|
76
|
+
def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil, capture: nil)
|
|
73
77
|
@transfer_id = transfer_id
|
|
74
78
|
@created_on = created_on
|
|
75
79
|
@source = source
|
|
@@ -97,6 +101,8 @@ module Moov
|
|
|
97
101
|
@sales_tax_amount = sales_tax_amount
|
|
98
102
|
@foreign_id = foreign_id
|
|
99
103
|
@line_items = line_items
|
|
104
|
+
@amount_details = amount_details
|
|
105
|
+
@capture = capture
|
|
100
106
|
end
|
|
101
107
|
|
|
102
108
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -129,6 +135,8 @@ module Moov
|
|
|
129
135
|
return false unless @sales_tax_amount == other.sales_tax_amount
|
|
130
136
|
return false unless @foreign_id == other.foreign_id
|
|
131
137
|
return false unless @line_items == other.line_items
|
|
138
|
+
return false unless @amount_details == other.amount_details
|
|
139
|
+
return false unless @capture == other.capture
|
|
132
140
|
true
|
|
133
141
|
end
|
|
134
142
|
end
|
|
@@ -21,13 +21,18 @@ module Moov
|
|
|
21
21
|
field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
|
|
22
22
|
# The merchant's preferred payment method ID. Must be a wallet payment method.
|
|
23
23
|
field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
|
|
24
|
-
|
|
25
|
-
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
26
24
|
# Customizable display options for a payment link.
|
|
27
25
|
field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
|
|
28
|
-
|
|
26
|
+
# The fixed amount of the payment link.
|
|
27
|
+
#
|
|
28
|
+
# In API versions before `2026.07.00`, this was a required field.
|
|
29
|
+
#
|
|
30
|
+
# In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
|
|
31
|
+
# for `open` payment amount types.
|
|
32
|
+
field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
|
|
33
|
+
# Optional sales tax amount.
|
|
29
34
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
30
|
-
# An optional limit on the number of times this payment link can be used.
|
|
35
|
+
# An optional limit on the number of times this payment link can be used.
|
|
31
36
|
#
|
|
32
37
|
# **For payouts, `maxUses` is always 1.**
|
|
33
38
|
field :max_uses, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxUses') } }
|
|
@@ -43,12 +48,14 @@ module Moov
|
|
|
43
48
|
# When line items are provided, their total plus sales tax must equal the payment link amount.
|
|
44
49
|
field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
45
50
|
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
52
|
+
|
|
53
|
+
sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
|
|
54
|
+
def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, sales_tax_amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil)
|
|
48
55
|
@partner_account_id = partner_account_id
|
|
49
56
|
@merchant_payment_method_id = merchant_payment_method_id
|
|
50
|
-
@amount = amount
|
|
51
57
|
@display = display
|
|
58
|
+
@amount = amount
|
|
52
59
|
@sales_tax_amount = sales_tax_amount
|
|
53
60
|
@max_uses = max_uses
|
|
54
61
|
@expires_on = expires_on
|
|
@@ -56,6 +63,7 @@ module Moov
|
|
|
56
63
|
@payment = payment
|
|
57
64
|
@payout = payout
|
|
58
65
|
@line_items = line_items
|
|
66
|
+
@amount_details = amount_details
|
|
59
67
|
end
|
|
60
68
|
|
|
61
69
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -63,8 +71,8 @@ module Moov
|
|
|
63
71
|
return false unless other.is_a? self.class
|
|
64
72
|
return false unless @partner_account_id == other.partner_account_id
|
|
65
73
|
return false unless @merchant_payment_method_id == other.merchant_payment_method_id
|
|
66
|
-
return false unless @amount == other.amount
|
|
67
74
|
return false unless @display == other.display
|
|
75
|
+
return false unless @amount == other.amount
|
|
68
76
|
return false unless @sales_tax_amount == other.sales_tax_amount
|
|
69
77
|
return false unless @max_uses == other.max_uses
|
|
70
78
|
return false unless @expires_on == other.expires_on
|
|
@@ -72,6 +80,7 @@ module Moov
|
|
|
72
80
|
return false unless @payment == other.payment
|
|
73
81
|
return false unless @payout == other.payout
|
|
74
82
|
return false unless @line_items == other.line_items
|
|
83
|
+
return false unless @amount_details == other.amount_details
|
|
75
84
|
true
|
|
76
85
|
end
|
|
77
86
|
end
|
|
@@ -12,10 +12,10 @@ class Moov::Models::Components::CreatePaymentLink
|
|
|
12
12
|
def partner_account_id=(str_); end
|
|
13
13
|
def merchant_payment_method_id(); end
|
|
14
14
|
def merchant_payment_method_id=(str_); end
|
|
15
|
-
def amount(); end
|
|
16
|
-
def amount=(str_); end
|
|
17
15
|
def display(); end
|
|
18
16
|
def display=(str_); end
|
|
17
|
+
def amount(); end
|
|
18
|
+
def amount=(str_); end
|
|
19
19
|
def sales_tax_amount(); end
|
|
20
20
|
def sales_tax_amount=(str_); end
|
|
21
21
|
def max_uses(); end
|
|
@@ -30,4 +30,6 @@ class Moov::Models::Components::CreatePaymentLink
|
|
|
30
30
|
def payout=(str_); end
|
|
31
31
|
def line_items(); end
|
|
32
32
|
def line_items=(str_); end
|
|
33
|
+
def amount_details(); end
|
|
34
|
+
def amount_details=(str_); end
|
|
33
35
|
end
|