Browse Source

修复微信支付查询的问题

张洋 3 years ago
parent
commit
d5dbad5c58
1 changed files with 18 additions and 12 deletions
  1. 18 12
      zhipuzi_pos_windows/wnd/CWeixinzhifuShoukuanWnd.cpp

+ 18 - 12
zhipuzi_pos_windows/wnd/CWeixinzhifuShoukuanWnd.cpp

@@ -753,6 +753,8 @@ void CWeixinzhifuShoukuanWnd::HandleShoukuanPassword()
 		else if (m_nType == 2)
 		{
 			url = "/dinnercash/queryorderstatus";
+
+			params["is_clear"] = "1";
 		}
 		bool ret = CZhipuziHttpClient::GetInstance()->Request(url.c_str(), params, response);
 		if (ret == false)
@@ -827,21 +829,25 @@ void CWeixinzhifuShoukuanWnd::HandleShoukuanPassword()
 
 			break;
 		}
-		else if (s_status == "closed")
-		{
-			//表示顾客那边出问题,已经失败了
-			m_shoukuan_status = 4;
+		else if (s_status == "fail")
+		{			
+			if (data.HasMember("message") && CLewaimaiJson::ToString(data["message"]).length() > 0)
+			{
+				//返回了message,表示顾客主动关闭了支付
+				//表示顾客那边出问题,已经失败了
+				m_shoukuan_status = 4;
 
-			m_fail_message = L"顾客取消支付,请重新扫码收款";
+				m_fail_message = L"顾客取消支付,请重新扫码收款";
 
-			SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
+				SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
 
-			break;
-		}
-		else if (s_status == "fail")
-		{
-			//这个只是表示状态未知
-			Sleep(1000);
+				break;
+			}
+			else
+			{
+				//这个只是表示状态未知
+				Sleep(1000);
+			}
 		}
 		else
 		{