Class: DPay::PayoutService

Inherits:
Object
  • Object
show all
Defined in:
lib/dpay/payout/payout_service.rb,
sig/dpay/payout/payout_service.rbs

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ PayoutService

Returns a new instance of PayoutService.

Parameters:



5
6
7
# File 'lib/dpay/payout/payout_service.rb', line 5

def initialize(api)
  @api = api
end

Instance Method Details

#details(withdraw_id, timestamp = nil) ⇒ PayoutDetails

Parameters:

  • withdraw_id (Integer)
  • timestamp (Integer, nil) (defaults to: nil)

Returns:



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/dpay/payout/payout_service.rb', line 9

def details(withdraw_id, timestamp = nil)
  body = { "service" => @api.service }
  body["timestamp"] = timestamp unless timestamp.nil?
  body["withdraw_id"] = withdraw_id
  body["checksum"] = @api.checksum.ordered_body(body.values)

  data = @api.post_json(Internal::BaseUrls::PANEL, "/api/v1/pbl/withdraws/details", body)
  unless data.is_a?(Hash) && Internal::Coerce.integer(data["id"]).positive?
    raise ApiServerError.new("API response carries no payout details", 200, nil, {}, Internal::PHP.json_encode(data))
  end

  PayoutDetails.from_api(data)
end