class Twoctwop::Response

Attributes

body[RW]
certificate[RW]
private_key[RW]

Public Class Methods

new(body) click to toggle source
# File lib/twoctwop/response.rb, line 10
def initialize(body)
  raise "No private key defined" if Twoctwop::Config.private_key.nil?
  raise "No certificate defined" if Twoctwop::Config.certificate.nil?

  @certificate = OpenSSL::X509::Certificate.new(Twoctwop::Config.certificate)
  @private_key = OpenSSL::PKey::RSA.new(Twoctwop::Config.private_key, Twoctwop::Config.passphrase)

  @body = OpenSSL::PKCS7.new(Base64.strict_decode64(body))
end

Public Instance Methods

decrypt_body() click to toggle source
# File lib/twoctwop/response.rb, line 20
def decrypt_body
  Hashie::Mash.new(Hash.from_xml(body.decrypt(private_key, certificate))['PaymentResponse'])
end