module PensioAPI::Callback

Constants

FakeRequest

Public Class Methods

parse_chargeback(xml) click to toggle source
# File lib/pensio_api/callback.rb, line 13
def self.parse_chargeback(xml)
  parse(xml, :chargeback)
end
parse_failure(xml) click to toggle source
# File lib/pensio_api/callback.rb, line 9
def self.parse_failure(xml)
  parse(xml, :failure)
end
parse_success(xml) click to toggle source
# File lib/pensio_api/callback.rb, line 5
def self.parse_success(xml)
  parse(xml, :success)
end

Private Class Methods

parse(xml, handler) click to toggle source
# File lib/pensio_api/callback.rb, line 19
def self.parse(xml, handler)
  params = MultiXml.parse(xml)
  
  request = FakeRequest.new(
    params['APIResponse']['Header'],
    params['APIResponse']['Body']
  )
  
  case handler
  when :success
    PensioAPI::Responses::SuccessCallback.new(request)
  when :failure
    PensioAPI::Responses::SubscriptionFailureCallback.new(request)
  when :chargeback
    PensioAPI::Responses::ChargebackCallback.new(request)
  end
end