class Baidupay::Client
Attributes
app_key[RW]
deal_id[RW]
private_key[RW]
public_key[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/baidupay/client.rb, line 5 def initialize(options) options = ::Baidupay::Utils.stringify_keys(options) @deal_id = options['deal_id'] @app_key = options['app_key'] @public_key = options['public_key'] @private_key = options['private_key'] end
Public Instance Methods
sign(params)
click to toggle source
# File lib/baidupay/client.rb, line 13 def sign(params) string = params_to_string(prepare_params(params)) ::Baidupay::Sign::RSA.sign(private_key, string) end
verify?(params)
click to toggle source
# File lib/baidupay/client.rb, line 18 def verify?(params) params = Utils.stringify_keys(params) sign = params.delete('rsaSign') string = params_to_string(params) ::Baidupay::Sign::RSA.verify?(public_key, string, sign) end
Private Instance Methods
params_to_string(params)
click to toggle source
# File lib/baidupay/client.rb, line 35 def params_to_string(params) params.sort.map { |item| item.join('=') }.join('&') end
prepare_params(params)
click to toggle source
# File lib/baidupay/client.rb, line 27 def prepare_params(params) params = ::Baidupay::Utils.stringify_keys(params) prepare_params = { 'appKey' => app_key, 'dealId' => deal_id, 'tpOrderId' => params['tp_order_id'] } prepare_params end