Class: GoCardlessPro::Services::PayoutsService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/gocardless_pro/services/payouts_service.rb

Overview

Service for making requests to the Payout endpoints

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #make_request, #sub_url

Constructor Details

This class inherits a constructor from GoCardlessPro::Services::BaseService

Instance Method Details

#all(options = {}) ⇒ Object

Get a lazily enumerated list of all the items returned. This is simmilar to the ‘list` method but will paginate for you automatically.

Otherwise they will be the body of the request.

Parameters:

  • options (Hash) (defaults to: {})

    parameters as a hash. If the request is a GET, these will be converted to query parameters.



35
36
37
38
39
40
# File 'lib/gocardless_pro/services/payouts_service.rb', line 35

def all(options = {})
  Paginator.new(
    service: self,
    options: options
  ).enumerator
end

#get(identity, options = {}) ⇒ Object

Retrieves the details of a single payout. For an example of how to reconcile the transactions in a payout, see [this guide](#events-reconciling-payouts-with-events). Example URL: /payouts/:identity

Parameters:

  • identity

    # Unique identifier, beginning with “PO”.

  • options (Hash) (defaults to: {})

    parameters as a hash, under a params key.



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/gocardless_pro/services/payouts_service.rb', line 49

def get(identity, options = {})
  path = sub_url('/payouts/:identity', 'identity' => identity)

  options[:retry_failures] = true

  response = make_request(:get, path, options)

  return if response.body.nil?

  Resources::Payout.new(unenvelope_body(response.body), response)
end

#list(options = {}) ⇒ Object

Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your payouts. Example URL: /payouts

Parameters:

  • options (Hash) (defaults to: {})

    parameters as a hash, under a params key.



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/gocardless_pro/services/payouts_service.rb', line 17

def list(options = {})
  path = '/payouts'

  options[:retry_failures] = true

  response = make_request(:get, path, options)

  ListResponse.new(
    response: response,
    unenveloped_body: unenvelope_body(response.body),
    resource_class: Resources::Payout
  )
end

#update(identity, options = {}) ⇒ Object

Updates a payout object. This accepts only the metadata parameter. Example URL: /payouts/:identity

Parameters:

  • identity

    # Unique identifier, beginning with “PO”.

  • options (Hash) (defaults to: {})

    parameters as a hash, under a params key.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/gocardless_pro/services/payouts_service.rb', line 66

def update(identity, options = {})
  path = sub_url('/payouts/:identity', 'identity' => identity)

  params = options.delete(:params) || {}
  options[:params] = {}
  options[:params][envelope_key] = params

  options[:retry_failures] = true

  response = make_request(:put, path, options)

  return if response.body.nil?

  Resources::Payout.new(unenvelope_body(response.body), response)
end