You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
1.2 KiB

using ProtoCSStruct;
using Sog;
using Sog.Crypto;
namespace HttpProxyPay
{
public class GooglePaySvc
{
public static void OnCltPayGoogleSuccReq(uint remoteAppID, ref SSPayGoogleSuccessReq req)
{
bool ret = CheckGooglePay(req.PurchaseData.ToString(), req.Signature.ToString());
if (ret == false)
{
TraceLog.Error("GooglePaySvc.OnCltPayGoogleSuccReq uid {0} purchase data check failed");
SSPayGoogleSuccessRes res = new SSPayGoogleSuccessRes {Ret = -1, Uid = req.Uid};
HttpProxyPayServerUtils.GetPacketSender().SendToServerByID(remoteAppID,
(int)SSGameMsgID.PayGoogleSuccessRes, ref res, req.Uid);
return;
}
// todo 最好根据google最新接口去google服务器校验一下订单信息
}
public static bool CheckGooglePay(string purchaseData, string signature)
{
string publicKeyBase64 = HttpProxyPayServerUtils.GetServerConfig().googlePayPublicKey;
return GooglePaySecurity.CheckSignatureCS(purchaseData, signature, publicKeyBase64);
}
}
}