Class: Square::Disputes::Client
- Inherits:
-
Object
- Object
- Square::Disputes::Client
- Defined in:
- lib/square/disputes/client.rb
Instance Method Summary collapse
-
#accept(request_options: {}, **params) ⇒ Square::Types::AcceptDisputeResponse
Accepts the loss on a dispute.
-
#create_evidence_file(request_options: {}, **params) ⇒ Square::Types::CreateDisputeEvidenceFileResponse
Uploads a file to use as evidence in a dispute challenge.
-
#create_evidence_text(request_options: {}, **params) ⇒ Square::Types::CreateDisputeEvidenceTextResponse
Uploads text to use as evidence for a dispute challenge.
- #evidence ⇒ Square::Evidence::Client
-
#get(request_options: {}, **params) ⇒ Square::Types::GetDisputeResponse
Returns details about a specific dispute.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Square::Types::ListDisputesResponse
Returns a list of disputes associated with a particular account.
-
#submit_evidence(request_options: {}, **params) ⇒ Square::Types::SubmitEvidenceResponse
Submits evidence to the cardholder’s bank.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/square/disputes/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#accept(request_options: {}, **params) ⇒ Square::Types::AcceptDisputeResponse
Accepts the loss on a dispute. Square returns the disputed amount to the cardholder and updates the dispute state to ACCEPTED.
Square debits the disputed amount from the seller’s Square account. If the Square account does not have sufficient funds, Square debits the associated bank account.
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/square/disputes/client.rb', line 114 def accept(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/disputes/#{params[:dispute_id]}/accept", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::AcceptDisputeResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#create_evidence_file(request_options: {}, **params) ⇒ Square::Types::CreateDisputeEvidenceFileResponse
Uploads a file to use as evidence in a dispute challenge. The endpoint accepts HTTP multipart/form-data file uploads in HEIC, HEIF, JPEG, PDF, PNG, and TIFF formats.
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/square/disputes/client.rb', line 149 def create_evidence_file(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) body = Internal::Multipart::FormData.new if params[:request] body.add( name: "request", value: params[:request], content_type: "application/json; charset=utf-8" ) end body.add_part(params[:image_file].to_form_data_part(name: "image_file")) if params[:image_file] request = Square::Internal::Multipart::Request.new( base_url: [:base_url], method: "POST", path: "v2/disputes/#{params[:dispute_id]}/evidence-files", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::CreateDisputeEvidenceFileResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#create_evidence_text(request_options: {}, **params) ⇒ Square::Types::CreateDisputeEvidenceTextResponse
Uploads text to use as evidence for a dispute challenge.
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
# File 'lib/square/disputes/client.rb', line 195 def create_evidence_text(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request_data = Square::Disputes::Types::CreateDisputeEvidenceTextRequest.new(params).to_h non_body_param_names = ["dispute_id"] body = request_data.except(*non_body_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/disputes/#{params[:dispute_id]}/evidence-text", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::CreateDisputeEvidenceTextResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#evidence ⇒ Square::Evidence::Client
263 264 265 |
# File 'lib/square/disputes/client.rb', line 263 def evidence @evidence ||= Square::Disputes::Evidence::Client.new(client: @client) end |
#get(request_options: {}, **params) ⇒ Square::Types::GetDisputeResponse
Returns details about a specific dispute.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/square/disputes/client.rb', line 76 def get(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/disputes/#{params[:dispute_id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::GetDisputeResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Square::Types::ListDisputesResponse
Returns a list of disputes associated with a particular account.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/square/disputes/client.rb', line 27 def list(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[cursor states location_id] query_params = {} query_params["cursor"] = params[:cursor] if params.key?(:cursor) query_params["states"] = params[:states] if params.key?(:states) query_params["location_id"] = params[:location_id] if params.key?(:location_id) params.except(*query_param_names) Square::Internal::CursorItemIterator.new( cursor_field: :cursor, item_field: :disputes, initial_cursor: query_params[:cursor] ) do |next_cursor| query_params[:cursor] = next_cursor request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/disputes", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::ListDisputesResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |
#submit_evidence(request_options: {}, **params) ⇒ Square::Types::SubmitEvidenceResponse
Submits evidence to the cardholder’s bank.
The evidence submitted by this endpoint includes evidence uploaded using the [CreateDisputeEvidenceFile](api-endpoint:Disputes-CreateDisputeEvidenceFile) and [CreateDisputeEvidenceText](api-endpoint:Disputes-CreateDisputeEvidenceText) endpoints and evidence automatically provided by Square, when available. Evidence cannot be removed from a dispute after submission.
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/square/disputes/client.rb', line 240 def submit_evidence(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/disputes/#{params[:dispute_id]}/submit-evidence", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::SubmitEvidenceResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |