class CyberSource::CustomerPaymentInstrumentApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default, config) click to toggle source
# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 19
def initialize(api_client = ApiClient.default, config)
  @api_client = api_client
      @api_client.set_configuration(config)
end

Public Instance Methods

delete_customer_payment_instrument(customer_token_id, payment_instrument_token_id, opts = {}) click to toggle source

Delete a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [nil]

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 29
def delete_customer_payment_instrument(customer_token_id, payment_instrument_token_id, opts = {})
  data, status_code, headers = delete_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts)
  return data, status_code, headers
end
delete_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts = {}) click to toggle source

Delete a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 40
def delete_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerPaymentInstrumentApi.delete_customer_payment_instrument ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'payment_instrument_token_id' is set
  if @api_client.config.client_side_validation && payment_instrument_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'payment_instrument_token_id' when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.delete_customer_payment_instrument, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'paymentInstrumentTokenId' + '}', payment_instrument_token_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names)
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerPaymentInstrumentApi#delete_customer_payment_instrument\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
get_customer_payment_instrument(customer_token_id, payment_instrument_token_id, opts = {}) click to toggle source

Retrieve a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Tmsv2customersEmbeddedDefaultPaymentInstrument]

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 124
def get_customer_payment_instrument(customer_token_id, payment_instrument_token_id, opts = {})
  data, status_code, headers = get_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts)
  return data, status_code, headers
end
get_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts = {}) click to toggle source

Retrieve a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(Tmsv2customersEmbeddedDefaultPaymentInstrument, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultPaymentInstrument data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 135
def get_customer_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerPaymentInstrumentApi.get_customer_payment_instrument ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'payment_instrument_token_id' is set
  if @api_client.config.client_side_validation && payment_instrument_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'payment_instrument_token_id' when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instrument, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'paymentInstrumentTokenId' + '}', payment_instrument_token_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Tmsv2customersEmbeddedDefaultPaymentInstrument')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerPaymentInstrumentApi#get_customer_payment_instrument\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
get_customer_payment_instruments_list(customer_token_id, opts = {}) click to toggle source

List Payment Instruments for a Customer @param customer_token_id The TokenId of a customer. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [Integer] :offset Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0. (default to 0) @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100. (default to 20) @return [PaymentInstrumentList]

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 221
def get_customer_payment_instruments_list(customer_token_id, opts = {})
  data, status_code, headers = get_customer_payment_instruments_list_with_http_info(customer_token_id, opts)
  return data, status_code, headers
end
get_customer_payment_instruments_list_with_http_info(customer_token_id, opts = {}) click to toggle source

List Payment Instruments for a Customer @param customer_token_id The TokenId of a customer. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [Integer] :offset Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0. @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100. @return [Array<(PaymentInstrumentList, Fixnum, Hash)>] PaymentInstrumentList data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 233
def get_customer_payment_instruments_list_with_http_info(customer_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerPaymentInstrumentApi.get_customer_payment_instruments_list ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, the character length must be great than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
    fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, must be smaller than or equal to 100.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CustomerPaymentInstrumentApi.get_customer_payment_instruments_list, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/payment-instruments'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s)

  # query parameters
  query_params = {}
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'PaymentInstrumentList')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerPaymentInstrumentApi#get_customer_payment_instruments_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
patch_customers_payment_instrument(customer_token_id, payment_instrument_token_id, patch_customer_payment_instrument_request, opts = {}) click to toggle source

Update a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param patch_customer_payment_instrument_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [String] :if_match Contains an ETag value from a GET request to make the request conditional. @return [Tmsv2customersEmbeddedDefaultPaymentInstrument]

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 322
def patch_customers_payment_instrument(customer_token_id, payment_instrument_token_id, patch_customer_payment_instrument_request, opts = {})
  data, status_code, headers = patch_customers_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, patch_customer_payment_instrument_request, opts)
  return data, status_code, headers
end
patch_customers_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, patch_customer_payment_instrument_request, opts = {}) click to toggle source

Update a Customer Payment Instrument @param customer_token_id The TokenId of a customer. @param payment_instrument_token_id The TokenId of a payment instrument. @param patch_customer_payment_instrument_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [String] :if_match Contains an ETag value from a GET request to make the request conditional. @return [Array<(Tmsv2customersEmbeddedDefaultPaymentInstrument, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultPaymentInstrument data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 335
def patch_customers_payment_instrument_with_http_info(customer_token_id, payment_instrument_token_id, patch_customer_payment_instrument_request, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerPaymentInstrumentApi.patch_customers_payment_instrument ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'payment_instrument_token_id' is set
  if @api_client.config.client_side_validation && payment_instrument_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'payment_instrument_token_id' when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument"
  end
  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && payment_instrument_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "payment_instrument_token_id" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'patch_customer_payment_instrument_request' is set
  if @api_client.config.client_side_validation && patch_customer_payment_instrument_request.nil?
    fail ArgumentError, "Missing the required parameter 'patch_customer_payment_instrument_request' when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument"
  end
  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be great than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'if_match'].nil? && opts[:'if_match'].to_s.length > 32
    fail ArgumentError, 'invalid value for "opts[:"if_match"]" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && !opts[:'if_match'].nil? && opts[:'if_match'].to_s.length < 1
    fail ArgumentError, 'invalid value for "opts[:"if_match"]" when calling CustomerPaymentInstrumentApi.patch_customers_payment_instrument, the character length must be great than or equal to 1.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'paymentInstrumentTokenId' + '}', payment_instrument_token_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?
  header_params[:'if-match'] = opts[:'if_match'] if !opts[:'if_match'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(patch_customer_payment_instrument_request)
  auth_names = []
  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Tmsv2customersEmbeddedDefaultPaymentInstrument')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerPaymentInstrumentApi#patch_customers_payment_instrument\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
post_customer_payment_instrument(customer_token_id, post_customer_payment_instrument_request, opts = {}) click to toggle source

Create a Customer Payment Instrument Include an existing TMS Customer & Instrument Identifier token id in the request. * A Customer token can be created by calling: **POST */tms/v2/customers*** * An Instrument Identifier token can be created by calling: **POST */tms/v1/instrumentidentifiers*** @param customer_token_id The TokenId of a customer. @param post_customer_payment_instrument_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Tmsv2customersEmbeddedDefaultPaymentInstrument]

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 434
def post_customer_payment_instrument(customer_token_id, post_customer_payment_instrument_request, opts = {})
  data, status_code, headers = post_customer_payment_instrument_with_http_info(customer_token_id, post_customer_payment_instrument_request, opts)
  return data, status_code, headers
end
post_customer_payment_instrument_with_http_info(customer_token_id, post_customer_payment_instrument_request, opts = {}) click to toggle source

Create a Customer Payment Instrument Include an existing TMS Customer &amp; Instrument Identifier token id in the request. * A Customer token can be created by calling: **POST */tms/v2/customers*** * An Instrument Identifier token can be created by calling: **POST */tms/v1/instrumentidentifiers*** @param customer_token_id The TokenId of a customer. @param post_customer_payment_instrument_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(Tmsv2customersEmbeddedDefaultPaymentInstrument, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultPaymentInstrument data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_payment_instrument_api.rb, line 446
def post_customer_payment_instrument_with_http_info(customer_token_id, post_customer_payment_instrument_request, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerPaymentInstrumentApi.post_customer_payment_instrument ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'post_customer_payment_instrument_request' is set
  if @api_client.config.client_side_validation && post_customer_payment_instrument_request.nil?
    fail ArgumentError, "Missing the required parameter 'post_customer_payment_instrument_request' when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument"
  end
  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerPaymentInstrumentApi.post_customer_payment_instrument, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/payment-instruments'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(post_customer_payment_instrument_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 => 'Tmsv2customersEmbeddedDefaultPaymentInstrument')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerPaymentInstrumentApi#post_customer_payment_instrument\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end