class UmfReqDataUtil

Public Instance Methods

makeRequestData(params, method) click to toggle source

组织请求数据

# File lib/UmfReqDataUtil.rb, line 13
def makeRequestData(params, method)
  UmfLogger.logInfoMsg("--------------------log start---------------------")
  funcode = params["service"]
  UmfLogger.logInfoMsg("[UMF SDK]本次请求 service = " + funcode)
  # UmfLogger.logInfoMsg("[UMF SDK]本次请求原始参数 " + params.to_s)
  # 对请求数据进行有效性验证
  UmfCheckReqDataAndEncrypt.new.doCheck(params)
  # 敏感字段加密
  params = UmfCheckReqDataAndEncrypt.new.doEncrypt(params)
  # 获取请求数据签名密文串
  sign = getSignData(params)
  UmfLogger.logInfoMsg("[UMF SDK]本次请求方式 " + method)
  # 获取平台URL
  url = UMF_PAY_REQ_URL
  reqData = ReqData.new
  if method == UMF_METHOD_GET # 获取GET方式请求数据对象
    param = UmfStringUtil.new.getPlainSortByAndWithSignType(params)
    # reqData.setUrl(url + "?" + param + "&sign=" + URI::encode(sign))
    reqData.setUrl(url + "?" + param + "&sign=" + CGI.escape(sign))
  elsif method == UMF_METHOD_POST # 获取POST方式请求数据对象
    reqData.setUrl(url)
    params = params.merge({"sign"=>CGI.escape(sign)})
    reqData.setField(params)
    UmfLogger.logInfoMsg("[UMF SDK]本次请求原始参数处理后参数 " + params.to_s)
  end
  return reqData
end

Private Instance Methods

getSignData(params) click to toggle source

获取签名密文串

# File lib/UmfReqDataUtil.rb, line 44
def getSignData(params)
  plain = UmfStringUtil.new.getPlainSortByAndWithoutSignType(params)
  merId = params["mer_id"]
  sign = UmfRSACryptUtil.new.sign(plain, merId,"sha1")
  return sign
end