Class: Ingenico::Direct::SDK::Merchant::HostedCheckout::HostedCheckoutClient

Inherits:
ApiResource
  • Object
show all
Defined in:
lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb

Overview

HostedCheckout client. Thread-safe.

Instance Attribute Summary

Attributes inherited from ApiResource

#client_meta_info, #communicator

Instance Method Summary collapse

Constructor Details

#initialize(parent, path_context = nil) ⇒ HostedCheckoutClient

Returns a new instance of HostedCheckoutClient.

Parameters:



21
22
23
# File 'lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb', line 21

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

Instance Method Details

#create_hosted_checkout(body, context = nil) ⇒ Ingenico::Direct::SDK::Domain::CreateHostedCheckoutResponse

Resource /v2/{merchantId}/hostedcheckouts - Create hosted checkout

Parameters:

Returns:

Raises:



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb', line 38

def create_hosted_checkout(body, context = nil)
  uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts')
  @communicator.post(
    uri,
    client_headers,
    nil,
    body,
    Ingenico::Direct::SDK::Domain::CreateHostedCheckoutResponse,
    context
  )
rescue ResponseException => e
  error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end

#get_hosted_checkout(hosted_checkout_id, context = nil) ⇒ Ingenico::Direct::SDK::Domain::GetHostedCheckoutResponse

Resource /v2/{merchantId}/hostedcheckouts/{hostedCheckoutId} - Get hosted checkout status

Parameters:

Returns:

Raises:



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb', line 67

def get_hosted_checkout(hosted_checkout_id, context = nil)
  path_context = {
    'hostedCheckoutId'.freeze => hosted_checkout_id,
  }
  uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts/{hostedCheckoutId}', path_context)
  @communicator.get(
    uri,
    client_headers,
    nil,
    Ingenico::Direct::SDK::Domain::GetHostedCheckoutResponse,
    context
  )
rescue ResponseException => e
  error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
  raise create_exception(e.status_code, e.body, error_object, context)
end