module JytPay::Api::QueryOrder
Constants
- QUERY_DRAW_TRAN_CODE
- QUERY_PAY_TRAN_CODE
Public Instance Methods
query_order(flow_id, ori_flow_id, tran_type)
click to toggle source
查询代付代收订单
@param flow_id [ String ] 订单号 @param ori_flow_id [ String ] 原业务订单号 @param tran_type [ String ] 原业务类型:`:pay` or `:draw`
@return [ Hash ] 结果集
* :result [String] 原业务是否成功,`F`, `S`, `P` * :msg [String] 结果说明 * :ret_code [String] 结果 CODE * :flow_id [String] 订单号 * :request_body [String] 请求报文 * :response_body [String] 响应报文
# File lib/jyt_pay/api/query_order.rb, line 24 def query_order(flow_id, ori_flow_id, tran_type) case tran_type.to_sym when :pay server_uri = @uris[:pay] tran_code = QUERY_PAY_TRAN_CODE when :draw server_uri = @uris[:draw] tran_code = QUERY_DRAW_TRAN_CODE else raise 'unknow query tran code' end params = { ori_tran_flowid: ori_flow_id } xml_str = JytPay::Xml.generate(@merchant_id, tran_code, params, flow_id) response = Http.post(@merchant_id, server_uri, tran_code, xml_str, @rsa_private_key, @rsa_jyt_public_key) res = { result: 'P', # 默认 pending msg: response[:body][:tran_resp_desc] || response[:head][:resp_desc], ret_code: response[:body][:tran_resp_code] || response[:head][:resp_code], flow_id: flow_id, vendor_order_id: nil, # jyt 不会返回他们的订单号 request_body: xml_str, response_body: response[:xml_str], } return res if response[:body][:tran_resp_code].nil? res[:result] = case tran_type.to_sym when :pay Http::RetCode.pay_result(response[:body][:tran_resp_code], response[:body][:tran_state]) when :draw Http::RetCode.draw_result(response[:body][:tran_resp_code], response[:body][:tran_state]) end res end