class WorldpayCnp::Client

Attributes

config[R]

Public Class Methods

new(**options) click to toggle source

Initializes a new Client object

@param options [Hash] @return [WorldpayCnp::Client]

# File lib/worldpay_cnp/client.rb, line 10
def initialize(**options)
  @config = Configuration.new(**options)
end

Public Instance Methods

create_transaction(data) click to toggle source
# File lib/worldpay_cnp/client.rb, line 14
def create_transaction(data)
  api_client.perform_post(@config.api_url, build_request_body(data))
end

Private Instance Methods

api_client() click to toggle source
# File lib/worldpay_cnp/client.rb, line 20
def api_client
  @api_client ||= ApiClient.new(@config)
end
build_request_body(data) click to toggle source
# File lib/worldpay_cnp/client.rb, line 24
def build_request_body(data)
  {
    @config.xml_request_root => {
      '@xmlns' => @config.xml_namespace,
      '@version' => @config.version,
      '@merchantId' => @config.merchant_id,
      'authentication' => {
        'user' => @config.username,
        'password' => @config.password
      }
    }.merge(data)
  }
end