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:) ⇒ Square::Disputes::Client 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:) ⇒ Square::Disputes::Client
7 8 9 |
# File 'lib/square/disputes/client.rb', line 7 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.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/square/disputes/client.rb', line 72 def accept(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/disputes/#{params[:dispute_id]}/accept" ) 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.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/square/disputes/client.rb', line 96 def create_evidence_file(request_options: {}, **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( method: POST, path: "v2/disputes/#{params[:dispute_id]}/evidence-files", body: body ) 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.
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/square/disputes/client.rb', line 130 def create_evidence_text(request_options: {}, **params) _path_param_names = ["dispute_id"] _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/disputes/#{params[:dispute_id]}/evidence-text", body: params.except(*_path_param_names) ) 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
183 184 185 |
# File 'lib/square/disputes/client.rb', line 183 def evidence @evidence ||= Square::Disputes::Evidence::Client.new(client: @client) end |
#get(request_options: {}, **params) ⇒ Square::Types::GetDisputeResponse
Returns details about a specific dispute.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/square/disputes/client.rb', line 45 def get(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "GET", path: "v2/disputes/#{params[:dispute_id]}" ) 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.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/square/disputes/client.rb', line 14 def list(request_options: {}, **params) _query_param_names = [ %w[cursor states location_id], %i[cursor states location_id] ].flatten _query = params.slice(*_query_param_names) params.except(*_query_param_names) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "GET", path: "v2/disputes", query: _query ) 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 |
#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.
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/square/disputes/client.rb', line 162 def submit_evidence(request_options: {}, **params) _request = Square::Internal::JSON::Request.new( base_url: [:base_url] || Square::Environment::PRODUCTION, method: "POST", path: "v2/disputes/#{params[:dispute_id]}/submit-evidence" ) 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 |