/// <summary> /// 写苹果返回记录 /// </summary> /// <param name="detialInfo"></param> /// <param name="receipt"></param> public void WriteReturnAppDetail(ShareDetialInfo detialInfo, AppReceiptInfo receipt) { StringBuilder sqlQuery = new StringBuilder(); sqlQuery.Append("INSERT INTO ReturnAppDetailInfo(UserID,OrderID,PayAmount,Status,quantity,product_id,transaction_id,purchase_date,original_transaction_id,"); sqlQuery.Append("original_purchase_date,app_item_id,version_external_identifier,bid,bvrs)"); sqlQuery.Append(" VALUES("); sqlQuery.Append("@UserID,@OrderID,@PayAmount,@Status,@quantity,@product_id,@transaction_id,@purchase_date,@original_transaction_id,"); sqlQuery.Append("@original_purchase_date,@app_item_id,@version_external_identifier,@bid,@bvrs)"); List <DbParameter> prams = new List <DbParameter>(); prams.Add(Database.MakeInParam("UserID", detialInfo.UserID)); prams.Add(Database.MakeInParam("OrderID", detialInfo.OrderID)); prams.Add(Database.MakeInParam("PayAmount", detialInfo.PayAmount)); prams.Add(Database.MakeInParam("Status", receipt.Status)); prams.Add(Database.MakeInParam("quantity", receipt.Receipt.quantity)); prams.Add(Database.MakeInParam("product_id", receipt.Receipt.product_id)); prams.Add(Database.MakeInParam("transaction_id", receipt.Receipt.transaction_id)); prams.Add(Database.MakeInParam("purchase_date", receipt.Receipt.purchase_date)); prams.Add(Database.MakeInParam("original_transaction_id", receipt.Receipt.original_transaction_id)); prams.Add(Database.MakeInParam("original_purchase_date", receipt.Receipt.original_purchase_date)); prams.Add(Database.MakeInParam("app_item_id", receipt.Receipt.app_item_id)); prams.Add(Database.MakeInParam("version_external_identifier", receipt.Receipt.version_external_identifier)); prams.Add(Database.MakeInParam("bid", receipt.Receipt.bid)); prams.Add(Database.MakeInParam("bvrs", receipt.Receipt.bvrs)); Database.ExecuteNonQuery(CommandType.Text, sqlQuery.ToString(), prams.ToArray()); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { StreamReader sr = new StreamReader(Request.InputStream); receiptData = sr.ReadToEnd(); //苹果返回数据 string rValue = AppInfo(receiptData); AppReceiptInfo receipt = AppReceiptInfo.DeserializeObject(rValue); //订单数据 ShareDetialInfo detailInfo = new ShareDetialInfo(); detailInfo.UserID = userID; detailInfo.OrderID = orderID; detailInfo.PayAmount = payAmount; detailInfo.ShareID = 100; //处理数据 TreasureFacade treasureFacade = new TreasureFacade(); treasureFacade.WriteReturnAppDetail(detailInfo, receipt); if (receipt.Status == 0) { DataSet ds = treasureFacade.GetAppInfoByProductID(receipt.Receipt.product_id); if (ds.Tables[0].Rows.Count == 0) { Response.Write("失败"); return; } //写充值记录 try { Message msg = treasureFacade.FilliedApp(detailInfo); if (msg.Success) { Response.Write("0"); } else { Response.Write(msg.Content); } } catch (Exception ex) { Response.Write(ex.Message); } } else { Response.Write("失败"); } } }
protected void Page_Load(object sender, System.EventArgs e) { if (!base.IsPostBack) { System.IO.StreamReader streamReader = new System.IO.StreamReader(base.Request.InputStream); this.receiptData = streamReader.ReadToEnd(); string jsonText = this.AppInfo(this.receiptData); AppReceiptInfo appReceiptInfo = AppReceiptInfo.DeserializeObject(jsonText); ShareDetialInfo shareDetialInfo = new ShareDetialInfo(); shareDetialInfo.UserID = this.userID; shareDetialInfo.OrderID = this.orderID; shareDetialInfo.PayAmount = this.payAmount; shareDetialInfo.ShareID = 100; TreasureFacade treasureFacade = new TreasureFacade(); treasureFacade.WriteReturnAppDetail(shareDetialInfo, appReceiptInfo); if (appReceiptInfo.Status == 0) { try { Message message = treasureFacade.FilliedApp(shareDetialInfo, appReceiptInfo.Receipt.product_id); if (message.Success) { base.Response.Write("0"); } else { base.Response.Write(message.Content); } return; } catch (System.Exception ex) { base.Response.Write(ex.Message); return; } } base.Response.Write("失败"); } }
/// <summary> /// 写苹果返回记录 /// </summary> /// <param name="detialInfo"></param> /// <param name="receipt"></param> public void WriteReturnAppDetail(ShareDetialInfo detialInfo, AppReceiptInfo receipt) { treasureData.WriteReturnAppDetail(detialInfo, receipt); }