class MangoPay::Dispute

See docs.mangopay.com/api-references/disputes/disputes/

Public Class Methods

close(dispute_id, idempotency_key = nil) click to toggle source
# File lib/mangopay/dispute.rb, line 11
def close(dispute_id, idempotency_key = nil)
  url = url(dispute_id) + "/close/"
  MangoPay.request(:put, url, {}, {}, idempotency_key)
end
consult_url(document_id) click to toggle source
# File lib/mangopay/dispute.rb, line 142
def consult_url(document_id)
  "#{MangoPay.api_path}/dispute-documents/#{document_id}/consult"
end
contest(dispute_id, contested_funds) click to toggle source

contested_funds: Money hash see 'Contest' section @ docs.mangopay.com/api-references/disputes/disputes/

# File lib/mangopay/dispute.rb, line 18
def contest(dispute_id, contested_funds)
  url = url(dispute_id) + "/submit/"
  MangoPay.request(:put, url, {ContestedFunds: contested_funds})
end
create_document(dispute_id, params, idempotency_key = nil) click to toggle source

params: hash; see docs.mangopay.com/api-references/disputes/dispute-documents/

# File lib/mangopay/dispute.rb, line 75
def create_document(dispute_id, params, idempotency_key = nil)
  url = url(dispute_id) + "/documents/"
  MangoPay.request(:post, url, params, {}, idempotency_key)
end
create_document_consult(document_id) click to toggle source

Creates temporary URLs where each page of a dispute document can be viewed.

@param document_id ID of the document whose pages to consult @return Array of consults for viewing the dispute document's pages

# File lib/mangopay/dispute.rb, line 138
def create_document_consult(document_id)
  MangoPay.request(:get, consult_url(document_id), {}, {})
end
create_document_page(dispute_id, document_id, file_content_base64, file_path = nil, idempotency_key = nil) click to toggle source

Adds the file page (attachment) to the given document.

See docs.mangopay.com/api-references/disputes/dispute-document-pages/ :

  • Document have to be in 'CREATED' Status

  • You can create as many pages as needed

  • Change Status to 'VALIDATION_ASKED' to submit dispute documents

The file_content_base64 param may be:

  • Base64 encoded file content

  • or nil: in this case pass the file path in the next param

# File lib/mangopay/dispute.rb, line 119
def create_document_page(dispute_id, document_id, file_content_base64, file_path = nil, idempotency_key = nil)
  if file_content_base64.nil? && !file_path.nil?
    bts = File.open(file_path, 'rb') { |f| f.read }
    file_content_base64 = Base64.encode64(bts)
  end
  # normally it returns 204 HTTP code on success
  begin
    url = url(dispute_id) + "/documents/#{document_id}/pages"
    MangoPay.request(:post, url, {'File' => file_content_base64}, {}, idempotency_key)
  rescue ResponseError => ex
    raise ex unless ex.code == '204'
  end
end
create_settlement_transfer(repudiation_id, params, idempotency_key = nil) click to toggle source

params: hash; see docs.mangopay.com/api-references/disputes/settlement-transfers/

# File lib/mangopay/dispute.rb, line 59
def create_settlement_transfer(repudiation_id, params, idempotency_key = nil)
  url = "#{MangoPay.api_path}/repudiations/#{repudiation_id}/settlementtransfer/"
  MangoPay.request(:post, url, params, {}, idempotency_key)
end
fetch_document(document_id) click to toggle source
# File lib/mangopay/dispute.rb, line 80
def fetch_document(document_id)
  url = "#{MangoPay.api_path}/dispute-documents/#{document_id}"
  MangoPay.request(:get, url)
end
fetch_documents(dispute_id = nil, filters = {}) click to toggle source

Fetches list of dispute documents:

  • for the particular dispute if dispute_id is provided (not nil)

  • or for all disputes otherwise.

Optional filters is a hash accepting following keys:

  • page, per_page, sort: pagination and sorting params (see MangoPay::HTTPCalls::Fetch::ClassMethods#fetch)

  • filters such as Type (e.g. 'REFUND_PROOF') and Status (e.g. 'VALIDATED')

  • BeforeDate (timestamp): filters documents with CreationDate before this date

  • AfterDate (timestamp): filters documents with CreationDate after this date

See docs.mangopay.com/api-references/disputes/dispute-documents/

# File lib/mangopay/dispute.rb, line 103
def fetch_documents(dispute_id = nil, filters = {})
  url = (dispute_id) ? url(dispute_id) + "/documents/" : "#{MangoPay.api_path}/dispute-documents/"
  MangoPay.request(:get, url, {}, filters)
end
fetch_for_user(user_id, filters = {}) click to toggle source
# File lib/mangopay/dispute.rb, line 33
def fetch_for_user(user_id, filters = {})
  url = "#{MangoPay.api_path}/users/#{user_id}/disputes"
  MangoPay.request(:get, url, {}, filters)
end
fetch_for_wallet(wallet_id, filters = {}) click to toggle source
# File lib/mangopay/dispute.rb, line 38
def fetch_for_wallet(wallet_id, filters = {})
  url = "#{MangoPay.api_path}/wallets/#{wallet_id}/disputes"
  MangoPay.request(:get, url, {}, filters)
end
fetch_pending_settlement(filters = {}) click to toggle source
# File lib/mangopay/dispute.rb, line 43
def fetch_pending_settlement(filters = {})
  url = "#{MangoPay.api_path}/disputes/pendingsettlement"
  MangoPay.request(:get, url, {}, filters)
end
fetch_repudiation(repudiation_id, idempotency_key = nil) click to toggle source

see docs.mangopay.com/api-references/disputes/repudiations/

# File lib/mangopay/dispute.rb, line 53
def fetch_repudiation(repudiation_id, idempotency_key = nil)
  url = "#{MangoPay.api_path}/repudiations/#{repudiation_id}"
  MangoPay.request(:get, url, {}, {}, idempotency_key)
end
fetch_settlement_transfer(transfer_id) click to toggle source

see docs.mangopay.com/api-references/disputes/settlement-transfers/

# File lib/mangopay/dispute.rb, line 65
def fetch_settlement_transfer(transfer_id)
  url = "#{MangoPay.api_path}/settlements/#{transfer_id}"
  MangoPay.request(:get, url)
end
resubmit(dispute_id) click to toggle source
# File lib/mangopay/dispute.rb, line 23
def resubmit(dispute_id)
  url = url(dispute_id) + "/submit/"
  MangoPay.request(:put, url)
end
transactions(dispute_id, filters = {}) click to toggle source
# File lib/mangopay/dispute.rb, line 28
def transactions(dispute_id, filters = {})
  url = url(dispute_id) + "/transactions/"
  MangoPay.request(:get, url, {}, filters)
end
update_document(dispute_id, document_id, params) click to toggle source

params: hash; see 'Edit' section @ docs.mangopay.com/api-references/disputes/dispute-documents/

# File lib/mangopay/dispute.rb, line 86
def update_document(dispute_id, document_id, params)
  url = url(dispute_id) + "/documents/#{document_id}"
  MangoPay.request(:put, url, params)
end