/// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        Debug.LogWarning("OnPrePay=======partnerId==:" + e.prepay_id + "===" + e.storeName.ToString());

        //判断是否需要重发支付
        if (SDKManager.GetReSendPay(e.storeName.ToString()))
        {
            OnPayInfo onPayInfo = new OnPayInfo();
            onPayInfo.isSuccess = true;
            onPayInfo.goodsId   = e.goodsID;
            onPayInfo.storeName = e.storeName;
            onPayInfo.receipt   = e.mch_orderID;
            onPayInfo.price     = payInfo.price;
            PayReSend.Instance.AddPrePayID(onPayInfo);
        }

        if (SDKManager.GetPrePay(e.storeName.ToString()))
        {
            payInfo.orderID   = e.mch_orderID;
            payInfo.prepay_id = e.prepay_id;

            SDKManagerNew.Pay(payInfo);
            StartLongTimeNoResponse();
        }
    }
    /// <summary>
    /// 从sdk返回支付结果
    /// </summary>
    /// <param name="result"></param>
    /// <param name="goodID"></param>
    /// <param name="Mch_orderID"></param>
    public void SetPayResult(OnPayInfo info)
    {
        if (info.storeName != StoreName.VIVO)
        {
            return;
        }

        Debug.LogWarning("vivoPay Result======" + info.isSuccess);


        var goodsInfo = GetGoodsInfo(goodsID);

        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = info.isSuccess;
        payInfo.goodsId   = goodsID;
        payInfo.orderID   = mch_orderID;
        payInfo.goodsType = GetGoodType(goodsID);
        payInfo.storeName = StoreName.VIVO;

        payInfo.currency = goodsInfo.isoCurrencyCode;
        payInfo.price    = (float)goodsInfo.localizedPrice;

        Debug.Log("SetPayResult " + payInfo.price + " goodsID " + goodsID);

        payInfo.receipt = mch_orderID;

        PayCallBack(payInfo);
    }
Esempio n. 3
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != StoreName.VIVO)
        {
            return;
        }

        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=partnerId==");

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.VIVO;
        onPayInfo.receipt   = e.mch_orderID;
        onPayInfo.price     = price;
        PayReSend.Instance.AddPrePayID(onPayInfo);
        //IndentListener(e.goodsID,e.mch_orderID, e.prepay_id, onPayInfo.price);


        PayInfo payInfo = new PayInfo(e.goodsID, GetGoodsInfo(e.goodsID).localizedTitle, "", FrameWork.SDKManager.GoodsType.NORMAL, e.mch_orderID, price, GetGoodsInfo(goodsID).isoCurrencyCode, GetUserID(), e.storeName.ToString());

        payInfo.prepay_id = e.prepay_id;
        SDKManagerNew.Pay(payInfo);
    }
Esempio n. 4
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != StoreName.WX)
        {
            return;
        }

        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=partnerId==");
        DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);

        string nonceStr       = "Random" + UnityEngine.Random.Range(10000, 99999).ToString();
        string timeStamp      = (new DateTime(DateTime.UtcNow.Ticks - dt1970.Ticks).AddHours(8).Ticks / 10000000).ToString();
        string stringA        = "appid=" + appid + "&" + "nonceStr=" + nonceStr + "&packageValue=Sign=WXPay&" + "partnerId=" + mchID + "&" + "prepayId=" + e.prepay_id + "&timeStamp=" + timeStamp;
        string stringSignTemp = stringA + "&key=" + appSecret;
        string sign           = MD5Tool.GetMD5FromString(stringSignTemp);

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.WX;
        onPayInfo.receipt   = e.mch_orderID;
        onPayInfo.price     = payInfo.price;
        onPayInfo.goodsName = payInfo.goodsName;
        PayReSend.Instance.AddPrePayID(onPayInfo);
        IndentListener(e.goodsID, e.mch_orderID, e.prepay_id, nonceStr, timeStamp, sign, payInfo.price);
    }
Esempio n. 5
0
    public override void Pay(PayInfo info)
    {
        if (listener == null || listener.m_StoreController == null)
        {
            OnPayInfo payInfo = new OnPayInfo();
            payInfo.isSuccess = false;
            payInfo.storeName = storeName;
            payInfo.goodsId   = info.goodsID;
            payInfo.userID    = info.userID;
            if (listener == null)
            {
                payInfo.error = "No Initialize";
            }
            else
            {
                payInfo.error = "Initialize Failed";
            }

            PayCallBack(payInfo);
            return;
        }

        if (Application.isEditor)
        {
            ConfirmPay(info.goodsID, info.tag, storeName.ToString());
        }
        else
        {
            listener.PurchaseProduct(info.goodsID);
        }
    }
Esempio n. 6
0
    /// <summary>
    /// 添加预支付ID
    /// </summary>
    public void AddPrePayID(OnPayInfo onPayInfo)
    {
        localPayInfo.payInfos.Add(onPayInfo);
        WriteData();
        ReadData();

        Debug.LogWarning("已经写入预支付订单" + localPayInfo.payInfos.Count);
    }
Esempio n. 7
0
    /// <summary>
    /// 添加预支付ID
    /// </summary>
    public void AddPrePayID(OnPayInfo onPayInfo)
    {
        onPayInfo.userID = SDKManager.UserID;
        localPayInfo.payInfos.Add(onPayInfo);
        WriteData();
        ReadData();

        Debug.LogWarning("已经写入预支付订单" + localPayInfo.payInfos.Count);
    }
    public void CheckRecipe(OnPayInfo info)
    {
        StoreBuyGoods2Server msg = new StoreBuyGoods2Server();

        msg.storeName = info.storeName;
        msg.receipt   = info.receipt;
        msg.id        = info.goodsId;
        SetBuyResendMessage(msg, false);
        // JsonMessageProcessingController.SendMessage(msg);
        Debug.Log(" 当前游戏服务器验证");
    }
Esempio n. 9
0
 private static void PayCallBack(OnPayInfo info)
 {
     if (info.isSuccess)
     {
         verificationInterface.CheckRecipe(info);
     }
     else
     {
         OnVerificationResult(info.isSuccess, info.goodsId);
     }
 }
Esempio n. 10
0
    private void OnPurchaseSuccess(Product t, string receipt)
    {
        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = true;
        payInfo.goodsId   = t.definition.id;
        payInfo.goodsType = ProductType2GoodsType(t.definition.type);
        payInfo.receipt   = receipt;
        payInfo.storeName = storeName;

        PayCallBack(payInfo);
    }
Esempio n. 11
0
 private static void PayCallBack(OnPayInfo info)
 {
     if (info.isSuccess)
     {
         verificationInterface.CheckRecipe(info);
     }
     else
     {
         Debug.LogWarning("PaymentVerificationManager PayCallBack=========" + info.goodsId);
         int code = info.isSuccess ? 0 : -1;
         OnVerificationResult(code, info.goodsId, false, info.receipt);
     }
 }
    public override void Pay(string goodsID, string tag, FrameWork.SDKManager.GoodsType goodsType = FrameWork.SDKManager.GoodsType.NORMAL, string orderID = null)
    {
        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = true;
        payInfo.goodsId   = goodsID;
        payInfo.goodsType = goodsType;
        payInfo.receipt   = "";
        payInfo.storeName = StoreName.None;

        Debug.Log("DefaultIAPImplement.Pay :" + goodsID);
        PayCallBack(payInfo);
    }
Esempio n. 13
0
    /// <summary>
    /// 从sdk返回支付结果
    /// </summary>
    /// <param name="result"></param>
    /// <param name="goodID"></param>
    /// <param name="Mch_orderID"></param>
    public void SetPayResult(string result, string goodID, string Mch_orderID)
    {
        Debug.LogWarning("wxPay Result======" + result);

        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = (result == "0");
        payInfo.goodsId   = goodID;
        //payInfo.goodsType = DataGenerateManager<StoreDataGenerate>.GetData(goodID).m_ProductType;
        payInfo.receipt   = Mch_orderID;
        payInfo.storeName = StoreName.WX;

        PayCallBack(payInfo);
    }
Esempio n. 14
0
    /// <summary>
    /// 从sdk返回支付结果
    /// </summary>
    /// <param name="result"></param>
    /// <param name="goodID"></param>
    /// <param name="Mch_orderID"></param>
    public void SetPayResult(OnPayInfo info)
    {
        Debug.LogWarning("wxPay Result======" + info.isSuccess);

        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = info.isSuccess;
        payInfo.goodsId   = goodsID;
        payInfo.goodsType = GetGoodType(goodsID);
        payInfo.receipt   = prepayID;
        payInfo.storeName = StoreName.WX;

        PayCallBack(payInfo);
    }
Esempio n. 15
0
    public override void Pay(PayInfo l_payInfo)
    {
        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = true;
        payInfo.goodsId   = l_payInfo.goodsID;
        payInfo.goodsType = l_payInfo.goodsType;
        payInfo.receipt   = "";
        payInfo.storeName = StoreName.None;

        Debug.Log("DefaultIAPImplement.Pay :" + payInfo.goodsId);
        PayReSend.Instance.AddPrePayID(payInfo);
        PayCallBack(payInfo);
    }
    public void CheckRecipe(OnPayInfo info)
    {
        StoreBuyGoods2Server msg = new StoreBuyGoods2Server();

        msg.storeName = info.storeName;
        msg.receipt   = info.receipt;
        msg.id        = info.goodsId;
        ResendMessageManager.AddResendMessage(msg, typeof(StoreBuyGoods2Client).Name, (resMsg) =>
        {
            StoreBuyGoods2Client e = (StoreBuyGoods2Client)resMsg;
            PaymentVerificationManager.OnVerificationResult(e.code == 0, e.id, e.repeatReceipt, e.receipt);
        });
        // JsonMessageProcessingController.SendMessage(msg);
        Debug.Log(" 当前游戏服务器验证");
    }
Esempio n. 17
0
    public override void Pay(PayInfo l_payInfo)
    {
        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = true;
        payInfo.goodsId   = l_payInfo.goodsID;
        payInfo.goodsType = l_payInfo.goodsType;
        payInfo.price     = l_payInfo.price;
        payInfo.receipt   = "";
        payInfo.storeName = StoreName.None;
        payInfo.goodsName = l_payInfo.goodsName;

        Debug.Log("DefaultIAPImplement.Pay :" + l_payInfo.goodsID);
        PayCallBack(payInfo);
    }
    private void OnPurchaseFailed(Product t, PurchaseFailureReason t1)
    {
        Debug.Log("OnPurchaseFailed ! t:" + t + " PurchaseFailureReason:" + t1);

        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = false;
        if (t != null)
        {
            Debug.Log("OnPurchaseFailed ! t.definition:" + t.definition);
            payInfo.goodsId   = t.definition.id;
            payInfo.goodsType = ProductType2GoodsType(t.definition.type);
        }
        PayCallBack(payInfo);
    }
Esempio n. 19
0
    /// <summary>
    /// 从sdk返回支付结果
    /// </summary>
    /// <param name="result"></param>
    /// <param name="goodID"></param>
    /// <param name="Mch_orderID"></param>
    public void SetPayResult(string result, string goodID, string Mch_orderID)
    {
        Debug.LogWarning("wxPay Result======" + result);



        OnPayInfo payInfo = new OnPayInfo();

        payInfo.isSuccess = (result == "0");
        payInfo.goodsId   = goodID;
        payInfo.goodsType = GetGoodType(goodID);
        payInfo.receipt   = Mch_orderID;
        payInfo.storeName = StoreName.WX;

        PayCallBack(payInfo);
    }
Esempio n. 20
0
    /// <summary>
    /// 重发购买
    /// </summary>
    public void ReSendPay()
    {
        Debug.LogWarning("重发支付" + localPayInfo.payInfos.Count);
        GlobalEvent.AddTypeEvent <StoreBuyGoods2Client>(OnStoreBuyGood);

        for (int i = 0; i < localPayInfo.payInfos.Count; i++)
        {
            OnPayInfo payInfo = localPayInfo.payInfos[i];
            if (string.IsNullOrEmpty(payInfo.userID) || payInfo.userID == SDKManager.UserID)
            {
                Debug.LogWarning("重发购买+" + payInfo.goodsId + "==receipt==" + payInfo.receipt);
                //发送消息
                StoreBuyGoods2Server.SenBuyMsg(payInfo.goodsId, 1, localPayInfo.payInfos[i].storeName, payInfo.receipt);
            }
        }
    }
Esempio n. 21
0
 private static void PayCallBack(OnPayInfo info)
 {
     if (info.isSuccess)
     {
         //if(string.IsNullOrEmpty(info.receipt))
         //{
         //    info.receipt = Guid.NewGuid().ToString();
         //}
         verificationInterface.CheckRecipe(info);
     }
     else
     {
         Debug.Log("PaymentVerificationManager info.goodsId " + info.goodsId);
         int code = info.isSuccess ? 0 : -1;
         OnVerificationResult(code, info.goodsId, false, info.receipt, info.error, info.storeName);
     }
 }
Esempio n. 22
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != StoreName.VIVO)
        {
            return;
        }

        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=partnerId==");

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.VIVO;
        onPayInfo.receipt   = e.mch_orderID;
        PayReSend.Instance.AddPrePayID(onPayInfo);
        IndentListener(e.goodsID, e.mch_orderID, e.prepay_id);
    }
Esempio n. 23
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=partnerId==");
        DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);

        string nonceStr       = "Random" + UnityEngine.Random.Range(10000, 99999).ToString();
        string timeStamp      = (new DateTime(DateTime.UtcNow.Ticks - dt1970.Ticks).AddHours(8).Ticks / 10000000).ToString();
        string stringA        = "appid=wx3ce30b3054987098&" + "nonceStr=" + nonceStr + "&packageValue=Sign=WXPay&" + "partnerId=1526756671&" + "prepayId=" + e.prepay_id + "&timeStamp=" + timeStamp;
        string stringSignTemp = stringA + "&key=a8f73a2a5ecfafab1ea80515ef0efbad";
        string sign           = MD5Tool.GetMD5FromString(stringSignTemp);

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.WX;
        //WXPayReSend.Instance.AddPrePayID(onPayInfo);
        IndentListener(e.prepay_id, nonceStr, timeStamp, sign);
    }
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != GetStoreName())
        {
            return;
        }

        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=partnerId==");

        //判断是否需要重发支付
        if (SDKManager.GetReSendPay(storeName.ToString()))
        {
            OnPayInfo onPayInfo = new OnPayInfo();
            onPayInfo.isSuccess = true;
            onPayInfo.goodsId   = e.goodsID;
            onPayInfo.storeName = GetStoreName();
            onPayInfo.receipt   = e.mch_orderID;
            onPayInfo.price     = payInfo.price;
            PayReSend.Instance.AddPrePayID(onPayInfo);
        }

        IndentListener(e.goodsID, e.mch_orderID, e.prepay_id, payInfo.price);
    }
Esempio n. 25
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != StoreName.IAppPay)
        {
            return;
        }
        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=prepay_id==");
        //DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);

        string nonceStr  = "";
        string timeStamp = "";

        string sign = "";

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.IAppPay;
        onPayInfo.receipt   = e.mch_orderID;
        PayReSend.Instance.AddPrePayID(onPayInfo);
        IndentListener(e.goodsID, e.mch_orderID, e.prepay_id, nonceStr, timeStamp, sign);
    }
Esempio n. 26
0
    /// <summary>
    /// 获得预支付订单
    /// </summary>
    /// <param name="e"></param>
    /// <param name="args"></param>
    private void OnPrePay(PrePay2Client e, object[] args)
    {
        if (e.storeName != StoreName.IAppPay)
        {
            return;
        }
        Debug.LogWarning("OnPrePay=========:" + e.prepay_id + "=prepay_id==");
        //DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);

        OnPayInfo onPayInfo = new OnPayInfo();

        onPayInfo.isSuccess = true;
        onPayInfo.goodsId   = e.goodsID;
        onPayInfo.storeName = StoreName.IAppPay;
        onPayInfo.receipt   = e.mch_orderID;
        PayReSend.Instance.AddPrePayID(onPayInfo);
        //IndentListener(e.goodsID,e.mch_orderID, e.prepay_id, nonceStr, timeStamp, sign);
        PayInfo payInfo = new PayInfo(e.goodsID, GetGoodsInfo(e.goodsID).localizedTitle, "", FrameWork.SDKManager.GoodsType.NORMAL, e.mch_orderID, 0, GetGoodsInfo(goodsID).isoCurrencyCode, GetUserID(), StoreName.IAppPay.ToString());

        payInfo.prepay_id = e.prepay_id;

        SDKManagerNew.Pay(payInfo);
    }
Esempio n. 27
0
 private static void PayCallBack(OnPayInfo info)
 {
     verificationInterface.CheckRecipe(info);
 }