class Stall::Cmcic::Gateway::Response

Attributes

request[R]

Public Class Methods

new(request) click to toggle source
# File lib/stall/cmcic/gateway.rb, line 73
def initialize(request)
  @request = request
end

Public Instance Methods

cart() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 93
def cart
  @cart ||= ProductList.find_by_reference(response['texte-libre'])
end
gateway() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 97
def gateway
  @gateway = Stall::Cmcic::Gateway
end
process() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 85
def process
  valid? && success?
end
rendering_options() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 89
def rendering_options
  { text: "version=2\ncdr=#{ return_code }\n" }
end
success?() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 81
def success?
  response[:success]
end
valid?() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 77
def valid?
  response.length > 1
end

Private Instance Methods

response() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 103
def response
  @response ||= Stall::Cmcic::CicPayment.new(gateway).response(
    Rack::Utils.parse_nested_query(request.raw_post)
  )
end
return_code() click to toggle source
# File lib/stall/cmcic/gateway.rb, line 109
def return_code
  if success? || (response['code-retour'].try(:downcase) == 'annulation')
    '0'
  else
    '1'
  end
end