Преглед изворни кода

修复支付宝签约成功状态判断bug

lcl пре 1 година
родитељ
комит
a047750cbd
1 измењених фајлова са 19 додато и 6 уклоњено
  1. 19 6
      AppStart/Helper/CheckAlipaySignService.cs

+ 19 - 6
AppStart/Helper/CheckAlipaySignService.cs

@@ -81,18 +81,31 @@ namespace MySystem
                     }
                     else if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_CONFIRM_SUCCESS")
                     {
+                        //{"alipay_open_agent_order_query_response":{"code":"10000","msg":"Success","order_no":"20230704034000100000030319581766","product_agent_status_infos":[{"product_code":"FACE_TO_FACE_PAYMENT","product_name":"当面付","status":"EFFECTED"}],"order_status":"MERCHANT_CONFIRM_SUCCESS","merchant_pid":"2088641525908640"},"sign":"UyyrAf+Q+2jd5VVsaKUyWTMW8gFadUWWQIoYSTLzYFx0NOetjbN4XE9xq2kYvoJIYgQQOhohDKyAZZ7FOnOz9J849AXaqW1VYfVY9FSDvnSCdcUrAdyXGQEp7TcbnMtP5RTXZO+VCKRpvvUc/LVdXMPMetUbzhyaahQf/T512aQNuYFjxH5QfMdzGDwevt47iNoANITwXqns1A+ETBCuxHlx2Ps7WXpPxzqvFYK9CBD5MQCaq7IrDityzAUcMFiMjE3LlXb1zgg6PlsHnJBZm0Zde1PYzKZcHKnx2bxWl2upwpC3uj6drxzkGqzcZ4D21cTlndm8GIRLo2XHpd79Hw=="}
                         MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
                         if (merchantadd != null)
                         {
                             merchantadd.AlipayPid = dic["alipay_open_agent_order_query_response"]["merchant_pid"].ToString();
-                            if(dic["alipay_open_agent_order_query_response"]["restrict_infos"].Count > 0)
+                            if(content.Contains("restrict_infos"))
                             {
-                                merchantadd.QueryCount = -1;
-                                merchantadd.AlipayRemark = dic["alipay_open_agent_order_query_response"]["restrict_infos"][0]["restrict_reason"].ToString();
-                                MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
-                                if (merchant != null)
+                                if(dic["alipay_open_agent_order_query_response"]["restrict_infos"].Count > 0)
+                                {
+                                    merchantadd.QueryCount = -1;
+                                    merchantadd.AlipayRemark = dic["alipay_open_agent_order_query_response"]["restrict_infos"][0]["restrict_reason"].ToString();
+                                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                    if (merchant != null)
+                                    {
+                                        merchant.QueryCount = -1;
+                                    }
+                                }
+                                else
                                 {
-                                    merchant.QueryCount = -1;
+                                    merchantadd.QueryCount = 2;
+                                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                    if (merchant != null)
+                                    {
+                                        merchant.QueryCount = 2;
+                                    }
                                 }
                             }
                             else