Ejemplo n.º 1
0
    /// <summary>
    /// 在收到VersionResult之后调用,会检测是否只有一次
    /// </summary>
    public static void CheckAndInitAlipay()
    {
        var privateKey = AlipayUtil.Restore(ClientInfoHolder.Instance.AliPkey);

        AlipayPlugin.Init(ClientInfoHolder.Instance.AliPid, ClientInfoHolder.Instance.AliSid, privateKey);
        _hasInittedAlipay = true;
    }
Ejemplo n.º 2
0
        public override void Pay(UserSelectedTrade trade)
        {
            Debug.Log("开始支付宝支付。price:" + trade.Price);
            //var refill = CommonData.RefillList.Find(x => x.Name == re.Trade.PrepaymentName); //通过支付包名称找到支付包
            //if (refill == null)
            //{
            //    Toast.CreateErrorToast("无法找到对应的充值包,name:" + re.Trade.PrepaymentName);
            //    return;
            //}

            //if (!re.HasExtra || string.IsNullOrEmpty(re.Extra))
            //{
            //    LoadingMask.EndLoading();
            //    Toast.CreateErrorToast("解析订单数据失败!");
            //    Debug.LogError("没有找到extra数据。");
            //    return;
            //}


            try
            {
                // Android支付宝的参数为
                // {"notifyUrl":"支付宝插件中用到的NotifyUrl"};
                // 不再使用PayChannel.channel_url
                //var json = re.Extra;

                //var rootNode = JsonNode.FromJson(json);

                //const string key = "notifyUrl";
                //var value = "";
                //if (rootNode.SubNodeNames.Contains(key))
                //{
                //    value = rootNode[key].Value.ToString();
                //}
                //else
                //{
                //    Debug.LogWarning("没有找到" + key + "的内容。");
                //}

                var subject     = trade.DisplayName;
                var body        = trade.DisplayName;
                var price       = trade.Price.ToString("0.00");
                var outTradeNum = Guid.NewGuid().ToString();
                var notifyUrl   = ClientInfoHolder.Instance.AliNotifyUrl;

                PayTrades.Add(outTradeNum, trade);

                UMengPlugin.Event("alipay_pay_start", new Dictionary <string, object> {
                    { "price", trade.Price }
                });

                AlipayPlugin.Pay(subject, body, price, outTradeNum, notifyUrl);
            }
            catch (Exception e)
            {
                //LoadingMask.EndLoading();
                //Toast.CreateErrorToast("解析订单数据失败!");
                Debug.LogError("解析TradeNoResult中的extra失败:" + e.StackTrace);
            }
        }
Ejemplo n.º 3
0
    private void Awake()
    {
        DontDestroyOnLoad(gameObject);
        Instance = this;
        //InvokeRepeating("CheckPulse", 30f, 30f);

        AlipayPlugin.AddListener(this);
    }
Ejemplo n.º 4
0
 void InitAlipay()
 {
     AlipayPlugin.Init(ClientInfoHolder.Instance.AliPid, ClientInfoHolder.Instance.AliSid,
                       ClientInfoHolder.Instance.AliPkey);
 }