class JdPay::Result

Constants

SUCCESS_FLAG

Public Class Methods

new(result, options = {}) click to toggle source
Calls superclass method
# File lib/jd_pay/result.rb, line 5
def initialize(result, options = {})
  super nil

  self['jdpay'] = result['jdpay']

  if result['jdpay'].class == Hash && (decrypt = self.decrypt_verify(options = {})).class == Hash
    self['jdpay'] = decrypt['jdpay']
  end
end

Public Instance Methods

decrypt_verify(options = {}) click to toggle source
# File lib/jd_pay/result.rb, line 19
def decrypt_verify(options = {})
  if self.success?
    content_hash = Hash.from_xml JdPay::Des.decrypt_3des(Base64.decode64(self['jdpay']['encrypt']), options)
    JdPay::Sign.rsa_verify?(content_hash, options) ? content_hash : (raise "JdPay_verify_err:#{content_hash}")
  else
    raise "JdPay::Result#decrypt_verify_err:#{self}"
  end
end
success?() click to toggle source
# File lib/jd_pay/result.rb, line 15
def success?
  self['jdpay']['result']['code'] == SUCCESS_FLAG
end