浏览代码

修复消费者-支付接口
支付宝支付金额改为分

lcl 1 年之前
父节点
当前提交
9c49d10e25
共有 2 个文件被更改,包括 9 次插入8 次删除
  1. 2 2
      Areas/Api/Controllers/Main/ConsumerOrdersController.cs
  2. 7 6
      Util/HaoDa/HaoDaHelper.cs

+ 2 - 2
Areas/Api/Controllers/Main/ConsumerOrdersController.cs

@@ -97,9 +97,9 @@ namespace MySystem.Areas.Api.Controllers.v1
             ConsumerOrderForNoUtil.AddConsumerOrderForNo(OrderNo, int.Parse(infos.Data.ToString()));
             if (PayMode == 1)
             {
-                string backString = HaoDaHelper.Instance.Alipay(merchantAdd.SubMchid, merchantAdd.AlipayPid, OrderNo, PayMoney.ToString(), SpHost + "/api/alipay/hdnotice", openid, function.get_Random(4), ledgerModel);
+                string backString = HaoDaHelper.Instance.Alipay(merchantAdd.OutMchtNo, merchantAdd.StoreNo, OrderNo, PayMoney, SpHost + "/api/alipay/hdnotice", openid, function.get_Random(4), ledgerModel);
                 JsonData obj = JsonMapper.ToObject(backString);
-                if (obj["resultCode"].ToString() == "10000")
+                if (obj["resultCode"].ToString() == "1")
                 {
                     string tradeNo = obj["prePayId"].ToString();
                     Obj.Add("respCode", obj["resultCode"].ToString());

+ 7 - 6
Util/HaoDa/HaoDaHelper.cs

@@ -312,8 +312,8 @@ namespace MySystem
             reqdic.Add("mchtNo", mchtNo); //盒子的商户编号
             reqdic.Add("storeNo", storeNo); //盒子的门店编码	
             reqdic.Add("outOrderNo", outOrderNo); //商户订单号
-            int payMonth = (int)(transAmount * 100);
-            reqdic.Add("transAmount", payMonth); //交易金额,单位:分
+            int payAmount = (int)(transAmount * 100);
+            reqdic.Add("transAmount", payAmount); //交易金额,单位:分
             reqdic.Add("callbackUrl", callbackUrl); //交易完成之后,商户接收交易结果通知的地址	
             reqdic.Add("subOpenId", subOpenId); //用户子标识
             reqdic.Add("confirmCode", confirmCode); //支付确认码,由4位纯数字组成,每次请求时随机生成	
@@ -346,14 +346,15 @@ namespace MySystem
         /// <param name="confirmCode">支付确认码,由4位纯数字组成,每次请求时随机生成</param>
         /// <param name="ledgerModel">分账类型:1不分账 2分账,注意只有开通了分账才能传这个字段</param>
         /// <returns></returns>
-        public string Alipay(string mchtNo, string storeNo, string outOrderNo, string transAmount, string callbackUrl, string subOpenId, string confirmCode, string ledgerModel)
+        public string Alipay(string mchtNo, string storeNo, string outOrderNo, decimal transAmount, string callbackUrl, string subOpenId, string confirmCode, string ledgerModel)
         {
             function.WriteLog(DateTime.Now.ToString(), "好哒支付宝服务窗支付");
             Dictionary<string, object> reqdic = new Dictionary<string, object>();
             reqdic.Add("mchtNo", mchtNo); //盒子的商户编号
             reqdic.Add("storeNo", storeNo); //盒子的门店编码	
             reqdic.Add("outOrderNo", outOrderNo); //商户订单号
-            reqdic.Add("transAmount", transAmount); //交易金额,单位:分	
+            int payAmount = (int)(transAmount * 100);
+            reqdic.Add("transAmount", payAmount); //交易金额,单位:分	
             reqdic.Add("callbackUrl", callbackUrl); //交易完成之后,商户接收交易结果通知的地址
             reqdic.Add("subOpenId", subOpenId); //支付宝用户标识	
             reqdic.Add("confirmCode", confirmCode); //支付确认码,由4位纯数字组成,每次请求时随机生成
@@ -365,8 +366,8 @@ namespace MySystem
             string head = Newtonsoft.Json.JsonConvert.SerializeObject(headdic);
             function.WriteLog("请求头\n" + head, "好哒支付宝服务窗支付");
             function.WriteLog("请求参数\n" + req, "好哒支付宝服务窗支付");
-            function.WriteLog("请求地址:" + BoxRequestUrl + "/hzg/v2/unitedtrade/wechat_js_pay", "好哒支付宝服务窗支付");
-            string result = PostWebRequest(BoxRequestUrl + "/hzg/v2/unitedtrade/wechat_js_pay", req, headdic);
+            function.WriteLog("请求地址:" + BoxRequestUrl + "/api/hzg/v2/unitedtrade/ali_js_pay", "好哒支付宝服务窗支付");
+            string result = PostWebRequest(BoxRequestUrl + "/api/hzg/v2/unitedtrade/ali_js_pay", req, headdic);
             function.WriteLog("返回\n" + result + "\n\n", "好哒支付宝服务窗支付");
 
             return result;