hexiaojie 8 meses atrás
pai
commit
978c4c72e9

+ 8 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -229,5 +229,13 @@ namespace GFGGame
                 { OrderTempId = tempOrderId });
             return response;
         }
+        
+        //创建微信订单
+        public static async ETTask<S2C_CreateWeChatPayOrder> ReqCreateWeChatOrder(long tempOrderId)
+        {
+            var response = (S2C_CreateWeChatPayOrder)await MessageHelper.SendToServer(new C2S_CreateWeChatPayOrder()
+                { OrderTempId = tempOrderId });
+            return response;
+        }
     }
 }

+ 12 - 6
GameClient/Assets/Game/HotUpdate/Views/Store/StorePayPropView.cs

@@ -64,21 +64,27 @@ namespace GFGGame
 
         private async void OnVxBtnBuyClick()
         {
-            string timestamp = ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
+            S2C_CreateWeChatPayOrder response = await ShopSProxy.ReqCreateWeChatOrder(_tempOrderId);
+            if (response == null || response.Error != ErrorCode.ERR_Success)
+            {
+                //TODO 提示调起支付宝失败
+                return;
+            }
+
             string APP_ID = "wxd9772f42f126413f";
             string MCH_ID = "200768907612";
-            string prepayid = "wx201411101639507cbf6ffd8b0779950874";
+            string prepayid = response.PrepayIdStr;
             string packageValue = "Sign=WXPay";
-            string noncestr = "5K8264ILTKCH16CQ2502SI8ZNMI4POJ5";
-            string sign = "C380BEC2BFD727A4B6845133519F3AD6";
+            string noncestr = response.NonceStr;
+            string sign = response.Sign;
             AliManagerr.Instance.PayVx(APP_ID, MCH_ID, prepayid, packageValue,
-                noncestr, timestamp, sign);
+                noncestr, response.Timestamp, sign);
         }
 
         private async void OnAliBtnBuyClick()
         {
             S2C_CreateAliOrder response = await ShopSProxy.ReqCreateAliOrder(_tempOrderId);
-            if (response == null || string.IsNullOrEmpty(response.AliOrderStr))
+            if (response == null || response.Error != ErrorCode.ERR_Success)
             {
                 //TODO 提示调起支付宝失败
                 return;

+ 1 - 1
GameClient/Assets/Game/Launcher/Platform/Pay/AliPayManagerInit.cs

@@ -57,7 +57,7 @@ namespace GFGGame.Launcher
         /// <param name="mchId">MCH_ID:商户号,由微信支付平台提供。</param>
         /// <param name="prepayId">prepayid:通过调用统一下单接口得到的预支付交易会话ID。是微信支付在后台创建订单时返回的参数。</param>
         /// <param name="packageValue">packageValue:签名方式,通常为 "Sign=WXPay",如果需要做其他支付方式,可以修改这个值。</param>
-        /// <param name="nonceStr">packageValue:签名方式,通常为 "Sign=WXPay",如果需要做其他支付方式,可以修改这个值。</param>
+        /// <param name="nonceStr">这是一个随机字符串,用于防止请求被重放。</param>
         /// <param name="timestamp">timestamp:时间戳,当前时间的秒级表示。这个值在每次请求时需要实时获取。</param>
         /// <param name="sign">sign:签名,必须按照微信支付要求的方式来计算签名。签名的计算规则涉及到其他参数,需要商户自己计算。</param>
         /// <param name="callBackObjectName"></param>

+ 1 - 1
GameClient/GameClient.sln.DotSettings.user

@@ -1,3 +1,3 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEditorUtility_002Ecs_002Fl_003AC_0021_003FUsers_003Fss510_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8d4895b259be41298a685a0c9b42357576b400_003F3f_003Fa805acc1_003FEditorUtility_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
-	<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">SOLUTION</s:String></wpf:ResourceDictionary>
+	</wpf:ResourceDictionary>