Class: CyberSource::KeyGenerationApi

Inherits:
Object
  • Object
show all
Defined in:
lib/cybersource_rest_client/api/key_generation_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default, config) ⇒ KeyGenerationApi

Returns a new instance of KeyGenerationApi.



19
20
21
22
# File 'lib/cybersource_rest_client/api/key_generation_api.rb', line 19

def initialize(api_client = ApiClient.default, config)
  @api_client = api_client
  @api_client.set_configuration(config)
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/cybersource_rest_client/api/key_generation_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#generate_public_key(format, generate_public_key_request, opts = {}) ⇒ FlexV1KeysPost200Response

Generate Key Generate a one-time use public key and key ID to encrypt the card number in the follow-on Tokenize Card request. The key used to encrypt the card number on the cardholder’s device or browser is valid for 15 minutes and must be used to verify the signature in the response message. CyberSource recommends creating a new key for each order. Generating a key is an authenticated request initiated from your servers, prior to requesting to tokenize the card data from your customer’s device or browser.

Parameters:

  • format

    Indicator to enable the receipt of the Keys response in Flex 11+ format (JWT) or legacy (parameter not required)

  • generate_public_key_request
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



29
30
31
32
# File 'lib/cybersource_rest_client/api/key_generation_api.rb', line 29

def generate_public_key(format, generate_public_key_request, opts = {})
  data, status_code, headers = generate_public_key_with_http_info(format, generate_public_key_request, opts)
  return data, status_code, headers
end

#generate_public_key_with_http_info(format, generate_public_key_request, opts = {}) ⇒ Array<(FlexV1KeysPost200Response, Fixnum, Hash)>

Generate Key Generate a one-time use public key and key ID to encrypt the card number in the follow-on Tokenize Card request. The key used to encrypt the card number on the cardholder’s device or browser is valid for 15 minutes and must be used to verify the signature in the response message. CyberSource recommends creating a new key for each order. Generating a key is an authenticated request initiated from your servers, prior to requesting to tokenize the card data from your customer’s device or browser.

Parameters:

  • format

    Indicator to enable the receipt of the Keys response in Flex 11+ format (JWT) or legacy (parameter not required)

  • generate_public_key_request
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:

  • (Array<(FlexV1KeysPost200Response, Fixnum, Hash)>)

    FlexV1KeysPost200Response data, response status code and response headers



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/cybersource_rest_client/api/key_generation_api.rb', line 40

def generate_public_key_with_http_info(format, generate_public_key_request, opts = {})

  if @api_client.config.debugging
      begin
        raise
            @api_client.config.logger.debug 'Calling API: KeyGenerationApi.generate_public_key ...'
        rescue
            puts 'Cannot write to log'
        end
  end
  # verify the required parameter 'format' is set
  if @api_client.config.client_side_validation && format.nil?
    fail ArgumentError, "Missing the required parameter 'format' when calling KeyGenerationApi.generate_public_key"
  end
  # verify the required parameter 'generate_public_key_request' is set
  if @api_client.config.client_side_validation && generate_public_key_request.nil?
    fail ArgumentError, "Missing the required parameter 'generate_public_key_request' when calling KeyGenerationApi.generate_public_key"
  end
  # resource path
  local_var_path = 'flex/v1/keys'

  # query parameters
  query_params = {}
  query_params[:'format'] = format

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(generate_public_key_request)
  auth_names = []
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'FlexV1KeysPost200Response')
  if @api_client.config.debugging
    begin
    raise
        @api_client.config.logger.debug "API called: KeyGenerationApi#generate_public_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
    rescue
        puts 'Cannot write to log'
    end
  end
  return data, status_code, headers
end