void androidSpadePay(HTPayInfo payInfo) { AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic <AndroidJavaObject>("currentActivity"); HTPayExtend extendPay = new HTPayExtend(); extendPay.is_pay_month = payInfo.isPayMonth ? (short)1 : (short)0; string extend = extendPay.toJson(); jo.Call("Purchase", payInfo.price, payInfo.count, payInfo.productId, payInfo.serverId, payInfo.productName, payInfo.productDes, payInfo.url, payInfo.appOrderId, extend); }
//支付 public void Pay(string strMsg) { HTPayInfo payInfo = JSON.Instance.ToObject <HTPayInfo>(strMsg); if (payInfo != null) { payInfo.price = payInfo.price / 100; #if UNITY_IPHONE Purchase(payInfo.price, payInfo.count, payInfo.productId, payInfo.serverId, payInfo.productName, payInfo.productDes, payInfo.url, payInfo.appOrderId); #elif UNITY_ANDROID androidSpadePay(payInfo); #endif } }
string generateSpade(PayData data) { HTPayInfo info = new HTPayInfo(); AccountData ad = Native.mInstace.m_thridParty.GetAccountData(); info.price = m_data.Price; info.count = 1; info.productId = m_data.ID.ToString(); info.productName = string.IsNullOrEmpty(m_data.SpadeName) ? " " : m_data.SpadeName; info.productDes = string.IsNullOrEmpty(m_data.SpadeDes) ? " " : m_data.SpadeDes; info.serverId = ""; info.url = ad.payCallback; info.appOrderId = data.orderId; info.isPayMonth = m_data.Type == 0; return(fastJSON.JSON.Instance.ToJSON(info)); }