Class: Ingenico::Connect::SDK::Merchant::Payouts::PayoutsClient

Inherits:
ApiResource
  • Object
show all
Defined in:
lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb

Overview

Payouts client. Thread-safe.

Instance Attribute Summary

Attributes inherited from ApiResource

#client_meta_info, #communicator

Instance Method Summary collapse

Constructor Details

#initialize(parent, path_context) ⇒ PayoutsClient

parent

ApiResource

path_context

Hash of String to String



21
22
23
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 21

def initialize(parent, path_context)
  super(parent, path_context)
end

Instance Method Details

#approve(payout_id, body, context = nil) ⇒ Object

Resource /{merchantId}/payouts/{payoutId}/approve

Approve payout

payout_id

String

body

Domain::Payout::ApprovePayoutRequest

context

CallContext

Returns

Domain::Payout::PayoutResponse

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 135

def approve(payout_id, body, context=nil)
  path_context = {
    'payoutId' => payout_id,
  }
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts/{payoutId}/approve', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Connect::SDK::Domain::Payout::PayoutResponse,
    context)
rescue ResponseException => e
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#cancel(payout_id, context = nil) ⇒ Object

Resource /{merchantId}/payouts/{payoutId}/cancel

Cancel payout

payout_id

String

context

CallContext

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 167

def cancel(payout_id, context=nil)
  path_context = {
    'payoutId' => payout_id,
  }
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts/{payoutId}/cancel', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    nil,
    nil,
    context)
rescue ResponseException => e
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#cancelapproval(payout_id, context = nil) ⇒ Object

Resource /{merchantId}/payouts/{payoutId}/cancelapproval

Undo approve payout

payout_id

String

context

CallContext

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 199

def cancelapproval(payout_id, context=nil)
  path_context = {
    'payoutId' => payout_id,
  }
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts/{payoutId}/cancelapproval', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    nil,
    nil,
    context)
rescue ResponseException => e
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#create(body, context = nil) ⇒ Object

Resource /{merchantId}/payouts

Create payout

body

Domain::Payout::CreatePayoutRequest

context

CallContext

Returns

Domain::Payout::PayoutResponse

Raises

DeclinedPayoutException if the Ingenico ePayments platform declined / rejected the payout. The payout result will be available from the exception.

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 41

def create(body, context=nil)
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts', nil)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Connect::SDK::Domain::Payout::PayoutResponse,
    context)
rescue ResponseException => e
  error_type = {
    400 => Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse,
  }.fetch(e.status_code, Ingenico::Connect::SDK::Domain::Errors::ErrorResponse)
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#find(query, context = nil) ⇒ Object

Resource /{merchantId}/payouts

Find payouts

query

FindPayoutsParams

context

CallContext

Returns

Domain::Payout::FindPayoutsResponse

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 73

def find(query, context=nil)
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts', nil)
  return @communicator.get(
    uri,
    client_headers,
    query,
    Ingenico::Connect::SDK::Domain::Payout::FindPayoutsResponse,
    context)
rescue ResponseException => e
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#get(payout_id, context = nil) ⇒ Object

Resource /{merchantId}/payouts/{payoutId}

Get payout

payout_id

String

context

CallContext

Returns

Domain::Payout::PayoutResponse

Raises

ValidationException if the request was not correct and couldn’t be processed (HTTP status code 400)

Raises

AuthorizationException if the request was not allowed (HTTP status code 403)

Raises

IdempotenceException if an idempotent request caused a conflict (HTTP status code 409)

Raises

ReferenceException if an object was attempted to be referenced that doesn’t exist or has been removed,

or there was a conflict (HTTP status code 404, 409 or 410)

Raises

GlobalCollectException if something went wrong at the Ingenico ePayments platform,

the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,

or the service that you’re trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)

Raises

ApiException if the Ingenico ePayments platform returned any other error



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb', line 102

def get(payout_id, context=nil)
  path_context = {
    'payoutId' => payout_id,
  }
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts/{payoutId}', path_context)
  return @communicator.get(
    uri,
    client_headers,
    nil,
    Ingenico::Connect::SDK::Domain::Payout::PayoutResponse,
    context)
rescue ResponseException => e
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end