Class: OrbipayPaymentsapiClient::OrbipayPaymentsapiClientHandlers::CreatePaymentHandler

Inherits:
Base
  • Object
show all
Defined in:
lib/orbipay_paymentsapi_client/handlers/create_payment_handler.rb

Overview

.

############################################################################################
## This class subject to change without prior notice, Please dont use this class directly.##
############################################################################################

Instance Attribute Summary

Attributes inherited from Base

#api_end_point, #http_status_code, #invocation_context, #live_mode

Instance Method Summary collapse

Methods inherited from Base

attribute_map, #for_client, #initialize, #requested_by, #set_api_end_point, #set_values, swagger_types, #vide_channel, #with_context

Constructor Details

This class inherits a constructor from OrbipayPaymentsapiClient::Base

Instance Method Details

#populate_request_body(payment) ⇒ Object

[View source]

62
63
64
65
66
# File 'lib/orbipay_paymentsapi_client/handlers/create_payment_handler.rb', line 62

def populate_request_body(payment)
	payment_json_object = CommonUtil::CommonUtil.object_to_http_body(payment)
   	create_payment_request = CommonUtil::CommonUtil.deserialize(payment_json_object,"CreatePaymentRequest")
	create_payment_request
end

#process(payment) ⇒ Object

[View source]

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/orbipay_paymentsapi_client/handlers/create_payment_handler.rb', line 13

def process(payment)

	configuration = Configuration::Configuration.new
	if payment.invocation_context.secret != nil
		configuration.set_values(secret: payment.invocation_context.secret)
	end
	if payment.invocation_context.api_key != nil
		configuration.set_values(client_api_key: payment.invocation_context.api_key)
	end
	if payment.invocation_context.auth_scheme != nil
		configuration.set_values(algorithm: payment.invocation_context.auth_scheme)
	end
	configuration.set_values(api_end_point: payment.api_end_point)
	if payment.invocation_context.idempotent_request_key != nil 
		configuration.logger.info "Idempotent Request Key: #{ payment.invocation_context.idempotent_request_key}"
	end
		api_client = ApiClient::ApiClient.new(configuration)
		api_instance = OrbipayPaymentsapiClientApis::PaymentApi.new(api_client)
		channel = payment.invocation_context.channel
		client_key = payment.invocation_context.client_key
		product = payment.invocation_context.product
		if payment.invocation_context.timestamp != nil 
			timestamp = payment.invocation_context.timestamp
		else
			timestamp = CommonUtil::CommonUtil.time_stamp
		end
		idempotent_request_key = payment.invocation_context.idempotent_request_key
		requestor_type = payment.invocation_context.requestor_type
		id_customer = payment.id_customer
		create_payment_request = self.populate_request_body(payment)
		requestor = payment.invocation_context.requestor
		x_opay_headers = payment.invocation_context.x_opay_headers
		trace_id = payment.invocation_context.trace_id
		opts = {
		requestor: requestor,
		x_opay_headers: x_opay_headers,
		trace_id: trace_id,
		}
		data, http_status_code, headers = api_instance.create_payment(channel, client_key, product, timestamp, idempotent_request_key, requestor_type, id_customer, create_payment_request,  opts)
		response = wrap_response_body(data)
		if response == nil
			response = Payment.new
		end
		response.set_values(invocation_context: wrap_response_headers(headers))
		response.set_values(http_status_code: http_status_code)
	response

end

#wrap_response_body(payment_response) ⇒ Object

[View source]

68
69
70
71
# File 'lib/orbipay_paymentsapi_client/handlers/create_payment_handler.rb', line 68

def wrap_response_body(payment_response)
   	payment_json_object = CommonUtil::CommonUtil.object_to_http_body(payment_response)
   	CommonUtil::CommonUtil.deserialize(payment_json_object,"Payment")
end

#wrap_response_headers(headers) ⇒ Object

[View source]

73
74
75
76
# File 'lib/orbipay_paymentsapi_client/handlers/create_payment_handler.rb', line 73

def wrap_response_headers(headers)
	headers_json_object = CommonUtil::CommonUtil.object_to_http_body(headers)
	CommonUtil::CommonUtil.deserialize(headers_json_object,"InvocationContext")
end