Class: Ingenico::Connect::SDK::Merchant::Products::ProductsClient

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

Overview

Products client. Thread-safe.

Instance Attribute Summary

Attributes inherited from ApiResource

#client_meta_info, #communicator

Instance Method Summary collapse

Constructor Details

#initialize(parent, path_context) ⇒ ProductsClient

Returns a new instance of ProductsClient.

Parameters:



25
26
27
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 25

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

Instance Method Details

#customer_details(payment_product_id, body, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse

Resource /{merchantId}/products/{paymentProductId}/customerDetails - Get customer details

Parameters:

Returns:

Raises:



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 132

def customer_details(payment_product_id, body, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}/customerDetails', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse,
    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

#device_fingerprint(payment_product_id, body, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::DeviceFingerprintResponse

Resource /{merchantId}/products/{paymentProductId}/deviceFingerprint - Get device fingerprint

Parameters:

Returns:

Raises:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 164

def device_fingerprint(payment_product_id, body, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}/deviceFingerprint', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Connect::SDK::Domain::Product::DeviceFingerprintResponse,
    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

#directory(payment_product_id, query, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::Directory

Resource /{merchantId}/products/{paymentProductId}/directory - Get payment product directory

Parameters:

Returns:

Raises:



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

def directory(payment_product_id, query, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}/directory', path_context)
  return @communicator.get(
    uri,
    client_headers,
    query,
    Ingenico::Connect::SDK::Domain::Product::Directory,
    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

#find(query, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::PaymentProducts

Resource /{merchantId}/products - Get payment products

Parameters:

Returns:

Raises:



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 42

def find(query, context=nil)
  uri = instantiate_uri('/v1/{merchantId}/products', nil)
  return @communicator.get(
    uri,
    client_headers,
    query,
    Ingenico::Connect::SDK::Domain::Product::PaymentProducts,
    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(payment_product_id, query, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::PaymentProductResponse

Resource /{merchantId}/products/{paymentProductId} - Get payment product

Parameters:

Returns:

Raises:



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 70

def get(payment_product_id, query, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}', path_context)
  return @communicator.get(
    uri,
    client_headers,
    query,
    Ingenico::Connect::SDK::Domain::Product::PaymentProductResponse,
    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

#networks(payment_product_id, query, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse

Resource /{merchantId}/products/{paymentProductId}/networks - Get payment product networks

Parameters:

Returns:

Raises:



196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 196

def networks(payment_product_id, query, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}/networks', path_context)
  return @communicator.get(
    uri,
    client_headers,
    query,
    Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse,
    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

#sessions(payment_product_id, body, context = nil) ⇒ Ingenico::Connect::SDK::Domain::Product::CreatePaymentProductSessionResponse

Resource /{merchantId}/products/{paymentProductId}/sessions - Create session for payment product

Parameters:

Returns:

Raises:



227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# File 'lib/ingenico/connect/sdk/merchant/products/products_client.rb', line 227

def sessions(payment_product_id, body, context=nil)
  path_context = {
    'paymentProductId'.freeze => payment_product_id.to_s,
  }
  uri = instantiate_uri('/v1/{merchantId}/products/{paymentProductId}/sessions', path_context)
  return @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Connect::SDK::Domain::Product::CreatePaymentProductSessionResponse,
    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