protected override void DeserializeSuccessFields(List <KeyValuePair <string, string> > values, IJsonParser jsonParser, XElement xml) { device_info = GetValue(values, "device_info"); openid = GetValue(values, "openid"); is_subscribe = GetValue(values, "is_subscribe") == "Y"; trade_type = (TradeType)Enum.Parse(typeof(TradeType), GetValue(values, "trade_type")); bank_type = Bank.Find(GetValue(values, "bank_type")); fee_type = Currency.Find(GetValue(values, "fee_type")); total_fee = GetIntValue(values, "total_fee") ?? 0; settlement_total_fee = GetIntValue(values, "settlement_total_fee"); coupon_fee = GetIntValue(values, "coupon_fee"); cash_fee = GetIntValue(values, "cash_fee") ?? 0; cash_fee_type = Currency.Find(GetValue(values, "cash_fee_type")); transaction_id = GetValue(values, "transaction_id"); out_trade_no = GetValue(values, "out_trade_no"); attach = GetValue(values, "attach"); time_end = DateTime.ParseExact(GetValue(values, "time_end"), "yyyMMddHHmmss", null); var d = GetValue(values, "detail"); if (d != null) { detail = jsonParser.Build <GoodDetails>(jsonParser.Parse(d)); } }