Module: Bestpay::Notify::Web

Defined in:
lib/bestpay/notify.rb

Constant Summary collapse

NOTIFY_KEYS =
%w{UPTRANSEQ MERCHANTID ORDERID PAYMENT RETNCODE RETNINFO PAYDATE KEY}

Class Method Summary collapse

Class Method Details

.successful?(params, key) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/bestpay/notify.rb', line 16

def self.successful?(params,key)
  valid?(params, key) and (params['RETNCODE'] || params[:RETNCODE]) == '0000'
end

.valid?(params, key) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
# File 'lib/bestpay/notify.rb', line 5

def self.valid?(params,key)
  params = Utils.stringify_hash(params).merge('KEY' => key)

  #这个协议真是傻的没边了。
  params['ORDERID'] = params.delete('ORDERSEQ')
  params['PAYMENT'] = params.delete('ORDERAMOUNT')
  params['PAYDATE'] = params.delete('TRANDATE')

  Utils.build_mac(params,NOTIFY_KEYS) == params['SIGN']
end