Sha256: 253b84cb64dc43971548350e55928fa8e249072eebf146c222cee9bb3ae7a44d

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

require 'json'

module LlPay
  module Service

    SECURITY_PAY_REQUIRED_PARAMS = %w(busi_partner dt_order info_order money_order name_goods no_order notify_url oid_partner risk_item sign_type valid_order)
    def self.securitypay_pay_json(params, options = {})
      # params = LlPay::Utils.stringify_keys(params)
      # options = LlPay::Utils.stringify_keys(options)

      check_required_params(params, SECURITY_PAY_REQUIRED_PARAMS)

      params['sign_type'] = options['sign_type'] || LlPay.sign_type

      params = { 'oid_partner' => LlPay.oid_partner }.merge(params)

      sign_params = { 'busi_partner' => params['busi_partner'],
                      'dt_order' => params['dt_order'],
                      'money_order' => params['money_order'],
                      'no_order' => params['no_order'],
                      'notify_url' => params['notify_url'],
                      'oid_partner' => params['oid_partner'],
                      'risk_item' => params['risk_item'],
                      'sign_type' => params['sign_type'],
                      'valid_order' => params['valid_order']
                    }

      params['sign'] = LlPay::Sign.generate(sign_params)

      params.to_json
    end

    def self.check_required_params(params, names)
      names.each do |name|
        warn("ll_pay Warn: missing required option: #{name}") unless params.has_key?(name)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ll_pay-0.4.0 lib/ll_pay/service.rb
ll_pay-0.3.0 lib/ll_pay/service.rb