Class: Square::Disputes::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/square/disputes/client.rb

Instance Method Summary collapse

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.



57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/square/disputes/client.rb', line 57

def accept(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "POST",
    path: "v2/disputes/#{params[:dispute_id]}/accept"
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::AcceptDisputeResponse.load(_response.body)
  end

  raise _response.body
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.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/square/disputes/client.rb', line 75

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
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::CreateDisputeEvidenceFileResponse.load(_response.body)
  end

  raise _response.body
end

#create_evidence_text(request_options: {}, **params) ⇒ Square::Types::CreateDisputeEvidenceTextResponse

Uploads text to use as evidence for a dispute challenge.



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/square/disputes/client.rb', line 103

def create_evidence_text(request_options: {}, **params)
  _path_param_names = ["dispute_id"]

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "POST",
    path: "v2/disputes/#{params[:dispute_id]}/evidence-text",
    body: params.except(*_path_param_names)
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::CreateDisputeEvidenceTextResponse.load(_response.body)
  end

  raise _response.body
end

#evidenceSquare::Evidence::Client

Returns:

  • (Square::Evidence::Client)


144
145
146
# File 'lib/square/disputes/client.rb', line 144

def evidence
  @evidence ||= Square::Disputes::Evidence::Client.new(client: @client)
end

#get(request_options: {}, **params) ⇒ Square::Types::GetDisputeResponse

Returns details about a specific dispute.



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/square/disputes/client.rb', line 36

def get(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/disputes/#{params[:dispute_id]}"
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::GetDisputeResponse.load(_response.body)
  end

  raise _response.body
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
# File 'lib/square/disputes/client.rb', line 14

def list(request_options: {}, **params)
  _query_param_names = %w[cursor states location_id]
  _query = params.slice(*_query_param_names)
  params.except(*_query_param_names)

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/disputes",
    query: _query
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::ListDisputesResponse.load(_response.body)
  end

  raise _response.body
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.



129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/square/disputes/client.rb', line 129

def submit_evidence(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "POST",
    path: "v2/disputes/#{params[:dispute_id]}/submit-evidence"
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::SubmitEvidenceResponse.load(_response.body)
  end

  raise _response.body
end