Class: CyberSource::CredentialsApi

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of CredentialsApi.



18
19
20
21
# File 'lib/cybersource_rest_client/api/credentials_api.rb', line 18

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.



16
17
18
# File 'lib/cybersource_rest_client/api/credentials_api.rb', line 16

def api_client
  @api_client
end

Instance Method Details

#provision_mpp_credentials(mpp_credentials_request, opts = {}) ⇒ MppCredentialsResponse200

Provision MPP credentials Provisions an encrypted MPP credential for use as the credential payload in an Authorization: Payment header (MPP spec Section 8.2). The caller provides an instrument identifier (referencing a stored card in TMS) and the challenge context from the merchant’s 402 response, including the merchant’s RSA public encryption key. This service: 1. Calls TMS to retrieve the network token and cryptogram for the instrument. 2. Builds the token plaintext (MPP spec Section 8.3, type: network_token). 3. Encrypts the plaintext using RSA-OAEP with SHA-256 and the merchant’s public key. 4. Returns the MPP credential payload fields (MPP spec Section 8.2, Table 4).

Parameters:

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

    the optional parameters

Returns:



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

def provision_mpp_credentials(mpp_credentials_request, opts = {})
  data, status_code, headers = provision_mpp_credentials_with_http_info(mpp_credentials_request, opts)
  return data, status_code, headers
end

#provision_mpp_credentials_with_http_info(mpp_credentials_request, opts = {}) ⇒ Array<(MppCredentialsResponse200, Fixnum, Hash)>

Provision MPP credentials Provisions an encrypted MPP credential for use as the credential payload in an Authorization: Payment header (MPP spec Section 8.2). The caller provides an instrument identifier (referencing a stored card in TMS) and the challenge context from the merchant&#39;s 402 response, including the merchant&#39;s RSA public encryption key. This service: 1. Calls TMS to retrieve the network token and cryptogram for the instrument. 2. Builds the token plaintext (MPP spec Section 8.3, type: network_token). 3. Encrypts the plaintext using RSA-OAEP with SHA-256 and the merchant&#39;s public key. 4. Returns the MPP credential payload fields (MPP spec Section 8.2, Table 4).

Parameters:

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

    the optional parameters

Returns:

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

    MppCredentialsResponse200 data, response status code and response headers



39
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
95
96
97
98
99
100
101
102
# File 'lib/cybersource_rest_client/api/credentials_api.rb', line 39

def provision_mpp_credentials_with_http_info(mpp_credentials_request, opts = {})

  if @api_client.config.debugging
      begin
        raise
            @api_client.config.logger.debug 'Calling API: CredentialsApi.provision_mpp_credentials ...'
        rescue
            puts 'Cannot write to log'
        end
  end
  # verify the required parameter 'mpp_credentials_request' is set
  if @api_client.config.client_side_validation && mpp_credentials_request.nil?
    fail ArgumentError, "Missing the required parameter 'mpp_credentials_request' when calling CredentialsApi.provision_mpp_credentials"
  end
  # resource path
  local_var_path = 'acp/v1/mpp/credentials'

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8'])
  # 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(mpp_credentials_request)
  sdk_tracker = SdkTracker.new
  post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'MppCredentialsRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId)
  inbound_mle_status = "mandatory"
  if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["provision_mpp_credentials","provision_mpp_credentials_with_http_info"])
    begin
      post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body)
    rescue
      raise
    end
  end

  is_response_mle_for_api = MLEUtility.check_is_response_mle_for_api(@api_client.merchantconfig, ["provision_mpp_credentials","provision_mpp_credentials_with_http_info"])

  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 => 'MppCredentialsResponse200',
    :isResponseMLEForApi => is_response_mle_for_api)
  if @api_client.config.debugging
    begin
    raise
        @api_client.config.logger.debug "API called: CredentialsApi#provision_mpp_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
    rescue
        puts 'Cannot write to log'
    end
  end
  return data, status_code, headers
end