public void OnPayComplete(string responseJsonData) { string formattedResponse = CanvasFacebook.FormatResult(responseJsonData); var result = new PayResult(formattedResponse); CallbackManager.OnFacebookResponse(result); }
public PayResult Pay(PayInfo info) { var dict = new Dictionary <string, string>(); dict["pay_memberid"] = this.appid; dict["pay_orderid"] = info.OrderNo; dict["pay_amount"] = ((decimal)(info.Amount) * 0.01m).ToString("F2"); dict["pay_applydate"] = DateTime.Now.ToString(); dict["pay_bankcode"] = "Wxzf"; dict["pay_notifyurl"] = this.notifyUrl; dict["pay_callbackurl"] = info.ReturnUrl; dict["tongdao"] = this.tongdao; dict["pay_md5sign"] = GetSign(dict); var sb = new StringBuilder(); sb.Append(@"<!doctype html>\r\n"); sb.Append(@"<html>"); sb.Append(@"<head>"); sb.Append(@" <meta charset=""utf8"">"); sb.Append(@" <title>正在转到付款页</title>"); sb.Append(@"</head>"); sb.Append(@"<body onLoad=""document.pay.submit()"">"); sb.Append(@" <form name=""pay"" action=""http://www.linkillybb.cn/pay_Index.html"" method=""post"">"); foreach (var item in dict) { sb.Append(@" <input type=""hidden"" name=""" + item.Key + @""" value=""" + item.Value + @""">"); } sb.Append(@" </form>"); sb.Append(@"</body>"); sb.Append(@"</html>"); string payContent = sb.ToString(); var result = new PayResult(); if (!string.IsNullOrEmpty(payContent)) { result.ResultType = PayResultType.Html; result.ResultData = payContent; result.Status = ResultStatus.Succ; } else { result.Status = ResultStatus.Fail; } return(result); }
private async Task <PayResult> PayBillAsync(WebView target) { PayResult result = new PayResult(); string pivot = "Regisztrált kártyák:"; string script = $"$('div.xt_field:contains(\"{pivot}\")').closest('div > table > tbody > tr:nth-child(1)').children('td:nth-child(3)').find('input.button').click()"; bool success = await NavigateHandler(async() => await InvokeAndWait(target, script)); if (!success) { result.Error = "Payment failed (com error)!"; return(result); } string checkScript = "$.makeArray($(\"h2\").map(function() { return $(this).text().trim(); }))"; List <string> resultTexts = await EvaluateAndDeserializeAsync <List <string> >(target, checkScript); string checkPivot = "A tranzakció sikeres volt."; if (resultTexts.Contains(checkPivot)) { result.Success = true; } else { // TODO log string errorDetail = string.Join("; ", resultTexts); result.Error = $"Payment failed: {errorDetail}"; } return(result); }
public PayResult Pay(PayInfo info) { string payurl = Pay(new PayRequest() { Amount = info.Amount, Ext = info.Attach, Name = info.Name, OrderNo = info.OrderNo, ReturnUrl = info.ReturnUrl }); var result = new PayResult(); if (!string.IsNullOrEmpty(payurl)) { result.ResultType = PayResultType.Url; result.ResultData = payurl; result.Status = ResultStatus.Succ; } else { result.Status = ResultStatus.Fail; } return(result); }
/// <summary> /// 验证结果调用 /// </summary> /// <param name="code">是否成功</param> /// <param name="goodsID">物品ID</param> /// <param name="repeatReceipt">是否是重复的订单凭据</param> /// <param name="receipt">回执,商户订单号等</param> public static void OnVerificationResult(int code, string goodsID, bool repeatReceipt, string receipt, string error, StoreName storeName) { try { if (onVerificationResultCallBack != null) { PayResult result = new PayResult(code, goodsID, error, storeName); Debug.Log("验证回调 code " + code + " goodsID " + goodsID); onVerificationResultCallBack(result); } } catch (Exception e) { Debug.LogError(e); } if (code == 0 || code == ErrorCodeDefine.StorePay_RepeatReceipt || repeatReceipt) { Debug.Log("订单确认" + goodsID); SDKManager.ConfirmPay(storeName.ToString(), goodsID, receipt); } //验证成功 if (code != 0) { Debug.LogError("凭据验证失败! goodID:" + goodsID); } }
private async Task <PayResult <T> > PostRequestBase <T, TU>(TU model, string url) where T : class { try { var t = await _httpClient.PostAsync( url, new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json")); if (t.StatusCode != HttpStatusCode.OK) { return(PayResult <T> .Failed(new PayError { Code = t.StatusCode, Description = $"Couldn't send request or request is not valid! Server respond with status code {t.StatusCode}." })); } var f = await t.Content.ReadAsAsync <T>(); return(PayResult <T> .Invoke(f)); } catch (Exception exception) { return(PayResult <T> .Failed(new PayError { Code = "1000", Description = $"Could not send request!\n{exception}." })); } }
public void Submit(string provider) { PayProvider pay = LoadProvider(provider); if (pay != null) { if (pay.IsNeedSubmit) { try { IPayOrder order = GetPayOrder(pay.Key); if (order == null) { throw new Exception("获取订单信息错误!"); } if (pay.IsOnlinePay) { OnSubmit(pay.Submit(this, pay.PackData(order), SubmitText, ReturnUrl)); } else { PaymentResult result; bool value; if (pay.IsCheckMoney) { value = CheckMoney(order, out result); } else { result = new PayResult() { TradeNo = order.TradeNo, PayTradeNo = order.TradeNo, Status = "Success", TotalFee = order.TotalFee }; value = true; } OnCallback(pay, value, result); OnRedirect(this, pay, result, value); //try { Response.Redirect(ReturnUrl, true); } //catch (Exception) { } } } catch (Exception ex) { OnError(ex.Message); } } else { OnError(string.Concat("第三方支付\"", provider, "\"不支持提交!")); } } else { OnError(string.Concat("第三方支付\"", provider, "\"不被支持或已禁用!")); } }
private static void OnVerificationResultCallBack(PayResult result) { Debug.Log("支付返回:" + result.code); if (OnPayCallBack != null) { OnPayCallBack(result); } }
private PayResult ValidateOrderNum(string ordernum) { var result = new PayResult(); if (ordernum.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; return(result); } if (model.status == 1) { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; return(result); } result.msg = "验证通过"; result.success = true; result.status = 200; return(result); } else if (ordernum.StartsWith("B")) { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(ordernum); if (model == null) { result.msg = "该订单号不存在"; result.success = false; result.status = 201; return(result); } if (model.payment_status == 2) //已付款 { result.msg = "该订单已经支付,请不要重复支付"; result.success = false; result.status = 202; return(result); } result.msg = "验证通过"; result.success = true; result.status = 200; return(result); } else { result.msg = "订单号不正确"; result.success = false; result.status = 203; return(result); } }
public PayResult Pay(PayInfo info) { var dict = new Dictionary <string, string>(); dict["version"] = "1.0"; dict["customerid"] = this.appid; dict["sdorderno"] = info.OrderNo; dict["total_fee"] = ((decimal)(info.Amount) * 0.01m).ToString("F2"); dict["paytype"] = "wxh5"; //dict["bankcode"] = ""; dict["notifyurl"] = this.notifyUrl; dict["returnurl"] = info.ReturnUrl; //dict["get_code"] = ""; dict["sign"] = GetSign(dict); var sb = new StringBuilder(); sb.Append(@"<!doctype html>\r\n"); sb.Append(@"<html>"); sb.Append(@"<head>"); sb.Append(@" <meta charset=""utf8"">"); sb.Append(@" <title>正在转到付款页</title>"); sb.Append(@"</head>"); sb.Append(@"<body onLoad=""document.pay.submit()"">"); sb.Append(@" <form name=""pay"" action=""http://www.yunjianpay.com/apisubmit"" method=""post"">"); sb.Append(@" <input type=""hidden"" name=""version"" value=""" + dict["version"] + @""">"); sb.Append(@" <input type=""hidden"" name=""customerid"" value=""" + dict["customerid"] + @""">"); sb.Append(@" <input type=""hidden"" name=""sdorderno"" value=""" + dict["sdorderno"] + @""">"); sb.Append(@" <input type=""hidden"" name=""total_fee"" value=""" + dict["total_fee"] + @""">"); sb.Append(@" <input type=""hidden"" name=""paytype"" value=""" + dict["paytype"] + @""">"); sb.Append(@" <input type=""hidden"" name=""notifyurl"" value=""" + dict["notifyurl"] + @""">"); sb.Append(@" <input type=""hidden"" name=""returnurl"" value=""" + dict["returnurl"] + @""">"); sb.Append(@" <input type=""hidden"" name=""sign"" value=""" + dict["sign"] + @""">"); sb.Append(@" </form>"); sb.Append(@"</body>"); sb.Append(@"</html>"); string payContent = sb.ToString(); var result = new PayResult(); if (!string.IsNullOrEmpty(payContent)) { result.ResultType = PayResultType.Html; result.ResultData = payContent; result.Status = ResultStatus.Succ; } else { result.Status = ResultStatus.Fail; } return(result); }
/// <summary> /// 微信支付 /// </summary> /// <param name="orderObj"></param> /// <param name="cityMorder"></param> /// <returns></returns> public object PayOrder(object orderObj, CityMorders cityMorder, TransactionModel tran, ref int orderId) { CityMordersBLL cityMordersBLL = new CityMordersBLL(); QiyeGoodsOrder order = (QiyeGoodsOrder)orderObj; cityMorder.payment_free = order.BuyPrice; if (tran == null || tran.sqlArray.Count() <= 0) { log4net.LogHelper.WriteInfo(this.GetType(), "独立模板生成订单失败,sql为空"); return(""); } TransactionModel tranModel = new TransactionModel(); tranModel.Add(cityMordersBLL.BuildAddSql(cityMorder)); foreach (string sqlitem in tran.sqlArray) { tranModel.Add(sqlitem); } if (!ExecuteTransactionDataCorect(tranModel.sqlArray, tranModel.ParameterArray)) { log4net.LogHelper.WriteInfo(this.GetType(), "独立模板生成订单失败" + JsonConvert.SerializeObject(tran)); return(""); } QiyeStore store = QiyeStoreBLL.SingleModel.GetModel(order.StoreId); if (store != null) { //清除商品缓存 QiyeGoodsBLL.SingleModel.RemoveEntGoodListCache(store.Aid); } order = GetModelByOrderNum(order.OrderNum); if (order == null) { log4net.LogHelper.WriteInfo(this.GetType(), $"独立模板生成订单失败,获取不到生成的订单【{order.OrderNum}】"); return(""); } if (order.OrderId <= 0) { log4net.LogHelper.WriteInfo(this.GetType(), "独立模板生成订单OrderId失败" + JsonConvert.SerializeObject(tranModel)); return(""); } cityMorder.Id = order.OrderId; orderId = order.OrderId; //为0不需进入生成微信预支付订单的流程(免费订单) if (order.BuyPrice == 0) { PayResult payresult = new PayResult(); new CityMordersBLL(payresult, cityMorder).QiyePayOrder(0, order); return(new { orderid = order.Id, dbOrder = order.Id }); } else //生成微信预支付订单 { return(new { orderid = order.OrderId, dbOrder = order.Id }); } }
public sealed override bool AsyncCallback(Controller context, out PaymentResult result) { PayResult presult = new PayResult(); SortedDictionary <string, string> sPara = GetRequest(context.Request.Form); if (sPara.Count > 0) { bool refund = "batch_refund_notify".Equals(context.Request.Form["notify_type"]); string id = refund ? context.Request.Form["batch_no"] : context.Request.Form["out_trade_no"]; presult.NotifyId = context.Request.Form["notify_id"]; if (Verify(sPara, presult.NotifyId, context.Request.Form["sign"], id)) { if (refund) { string details = context.Request.Form["result_details"]; RefundResult rresult = FormatResult(details); rresult.NotifyId = presult.NotifyId; rresult.BatchNo = id; rresult.SuccessNum = int.Parse(context.Request.Form["success_num"]); rresult.Message = details; result = rresult; return(true); } else { presult.TradeNo = id; presult.PayTradeNo = context.Request.Form["trade_no"]; presult.Status = context.Request.Form["trade_status"]; presult.TotalFee = Money.Parse(context.Request.Form["total_fee"]); if ("TRADE_FINISHED".Equals(presult.Status) || "TRADE_SUCCESS".Equals(presult.Status)) { presult.Message = "验证成功"; result = presult; return(true); } else { presult.Message = string.Concat("trade_status=", presult.Status); } } } else { presult.Message = "验证失败"; } } else { presult.Message = "无返回参数"; } result = presult; return(false); }
//支付回调 public void OnPaySuc(string jsonData) { PayResult data = parsePayResult(jsonData); if (data == null) { Debug.Log("The data parse error." + jsonData); return; } if (SDKInterface.Instance.OnPaySuc != null) { SDKInterface.Instance.OnPaySuc.Invoke(data); } }
public async Task StartProgressBar(string url) { bool rate = Preferences.Get("rate", true); if (Xamarin.Essentials.Connectivity.NetworkAccess != Xamarin.Essentials.NetworkAccess.Internet) { Device.BeginInvokeOnMainThread(async() => await DisplayAlert(AppResources.ErrorTitle, AppResources.ErrorNoInternet, "OK")); return; } // Loading settings Configurations.LoadingConfig = new LoadingConfig { IndicatorColor = (Color)Application.Current.Resources["MainColor"], OverlayColor = Color.Black, Opacity = 0.6, DefaultMessage = "Оплата", }; await Loading.Instance.StartAsync(async progress => { // some heavy process. PayResult result = await server.GetPayResult(url); if (result.error != null && result.Equals("")) { await DisplayAlert(AppResources.ErrorTitle, result.error, "OK"); try { _ = await Navigation.PopAsync(); } catch { } } else { await Navigation.PopToRootAsync(); await DisplayAlert(AppResources.AlertSuccess, result.message, "OK"); if (rate) { await PopupNavigation.Instance.PushAsync(new RatingAppMarketDialog()); } if (idRequset != null) { await GetCodePay(); } } }); }
public async Task <PayResult> PayBillAsync(Card card) { await Task.Delay(TimeSpan.FromMilliseconds(500)); // payment is successful if card is 'cardx' or non-default bool success = card.Id == "cardx" || !card.Default; PayResult result = new PayResult { Success = success, Error = success ? null : "Error detail about failed payment." }; return(result); }
public async Task <PayResult <VerifyResponseModel> > VerifyAsync(VerifyRequestModel model) { var errors = new List <PayError>(); model.Api = _configuration.Api; model.ValidateVerifyRequestModel(errors); if (errors.Any()) { return(PayResult <VerifyResponseModel> .Failed(errors.ToArray())); } var t = await PostRequestBase <VerifyResponseModel, VerifyRequestModel>(model, _verifyUrl); return(PayResult <VerifyResponseModel> .Invoke(t.Result)); }
public PayResult Pay(PayInfo info) { var url = "http://pay.dkg88.com/api/pay"; Dictionary <string, string> nvc = new Dictionary <string, string>(); nvc["account"] = this.appid; nvc["order"] = info.OrderNo; nvc["paytype"] = "wxwap"; //微信WAP //nvc["type"] = ""; nvc["money"] = ((decimal)(info.Amount) * 0.01m).ToString(); //nvc["body"] = ""; nvc["ext"] = Base64Helper.Base64Encode(info.Attach); nvc["notify"] = this.notifyUrl; nvc["callback"] = info.ReturnUrl; nvc["ip"] = info.IP; nvc["sign"] = getSign(nvc); string ps = CreateParams(nvc); var resultString = PostWebRequest(url, ps, Encoding.GetEncoding("utf-8")); var result = new PayResult(); result.Status = ResultStatus.Fail; if (!string.IsNullOrEmpty(resultString)) { dynamic obj = JsonConvert.DeserializeObject <dynamic>(resultString); if (obj != null) { int code = obj.code; if (code == 1) { string payurl = obj.payurl; result.ResultType = PayResultType.Url; result.ResultData = payurl; result.Status = ResultStatus.Succ; } } } return(result); }
public override void onPaySuccess(PayResult payResult) { showLog("onPaySuccess", "orderId: " + payResult.orderId + ", cpOrderId: " + payResult.cpOrderId + " ,extraParam" + payResult.extraParam); onUpdateRoleInfo(); //GameNet.CMD_GP_ShopItemInfo kNetInfo = new GameNet.CMD_GP_ShopItemInfo(); //kNetInfo.Init(); //Buffer.BlockCopy(System.Text.Encoding.Default.GetBytes(m_kUid), 0, kNetInfo.szUID, 0, Encoding.Default.GetBytes(m_kUid).Length); //Buffer.BlockCopy(System.Text.Encoding.Default.GetBytes(payResult.cpOrderId), 0, kNetInfo.szOrderID, 0, Encoding.Default.GetBytes(payResult.cpOrderId).Length); //kNetInfo.wItemID = m_ItemID; //kNetInfo.wAmount = m_Amount; //kNetInfo.wCount = m_Count; //GameNet.UserInfo.getInstance().queryAddShopItem(kNetInfo); GameNet.UserInfo.getInstance().reqAccountInfo(5); //5s之后向服务器请求最新用户数据 GameSceneUIHandler.ShowLog("购买成功,请耐心等待"); }
public PayResult ToPayResult() { try { PayResult result = new PayResult(); result.appid = GetValue("appid") == null ? "" : GetValue("appid").ToString(); result.mch_id = GetValue("mch_id") == null ? "" : GetValue("mch_id").ToString(); result.attach = GetValue("attach") == null ? "" : GetValue("attach").ToString(); result.err_code = GetValue("err_code") == null ? "" : GetValue("err_code").ToString(); result.err_code_des = GetValue("err_code_des") == null ? "" : GetValue("err_code_des").ToString(); result.fee_type = GetValue("fee_type") == null ? "" : GetValue("fee_type").ToString(); result.is_subscribe = GetValue("is_subscribe") == null ? "" : GetValue("is_subscribe").ToString(); result.openid = GetValue("openid") == null ? "" : GetValue("openid").ToString(); result.out_trade_no = GetValue("out_trade_no") == null ? "" : GetValue("out_trade_no").ToString(); result.result_code = GetValue("result_code") == null ? "" : GetValue("result_code").ToString(); result.time_end = DateTime.ParseExact(GetValue("time_end").ToString(), "yyyyMMddHHmmss", null); result.total_fee = Convert.ToInt32(GetValue("total_fee").ToString()); result.trade_type = GetValue("trade_type") == null ? "" : GetValue("trade_type").ToString(); result.transaction_id = GetValue("transaction_id") == null ? "" : GetValue("transaction_id").ToString(); if (!string.IsNullOrEmpty(result.attach)) { //支付类型是在支付的时候paytype参数带过来的 string paytype = WxUtils.getAttachValue(result.attach, "paytype"); if (!string.IsNullOrEmpty(paytype)) { int type; if (int.TryParse(paytype, out type)) { result.paytype = type; } } else { log4net.LogHelper.WriteError(typeof(ResultNotify), new WxPayException("警报:回调函数获取不到支付类型!")); } } if (string.IsNullOrEmpty(result.transaction_id) || string.IsNullOrEmpty(result.openid)) { return(null); } return(result); } catch (Exception ex) { throw ex; } }
static int get_extension(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); PayResult obj = (PayResult)o; string ret = obj.extension; LuaDLL.lua_pushstring(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index extension on a nil value")); } }
static int set_productID(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); PayResult obj = (PayResult)o; string arg0 = ToLua.CheckString(L, 2); obj.productID = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index productID on a nil value")); } }
public override PayResult Notify(IDictionary <string, string> dicParams, PayChannel channel) { var payResult = PayResult.IsFailed(); if (dicParams["paystatus"].ToUpper() == "SUCCESS") { payResult.Success = true; payResult.MerchantOrderNo = dicParams["customerbillno"]; payResult.OrderAmount = dicParams["preorderamount"].TryDecimal(0).Value; payResult.OrderNo = dicParams["orderno"]; payResult.IsVerify = Verify(dicParams, channel); } else { payResult.Success = false; } return(payResult); }
public PayResult Pay(PayInfo info) { string html = DoPay(new DoPayInfo { OrderName = info.Name, OrderNo = info.OrderNo, TotalFee = info.Amount, ReturnUrl = info.ReturnUrl }); var payResult = new PayResult() { Data = null, ResultData = html, ResultType = PayResultType.Html, Status = ResultStatus.Succ }; return(payResult); }
public PayResult GetOrderPaidStatus(string xmlParamter) { WeiXinPayData responseData = new WeiXinPayData(xmlParamter); SortedDictionary <string, object> sortedDictionary = responseData.SortedDictionary; PayResult payResult = new PayResult(); if (sortedDictionary.Count == 0) { return(payResult); } if (sortedDictionary.ContainsKey(Common.WeiXinPayInfo.Sign) == false) { return(payResult); } if (sortedDictionary.ContainsKey(Common.WeiXinPayInfo.TransactionId) == false) { return(payResult); } WeiXinPayData checkData = new WeiXinPayData(); checkData.SetDictionaryValue(Common.WeiXinPayInfo.TransactionId, sortedDictionary[Common.WeiXinPayInfo.TransactionId]); checkData.SetDictionaryValue(Common.WeiXinPayInfo.Appid, WeiXinPayInfo.WeiXinPayAppId); checkData.SetDictionaryValue(Common.WeiXinPayInfo.MchId, WeiXinPayInfo.WeiXinPayMchid); checkData.SetDictionaryValue(Common.WeiXinPayInfo.NonceStr, DateTime.Now.Ticks); checkData.SetDictionaryValue(Common.WeiXinPayInfo.SignType, "MD5"); checkData.SetDictionaryValue(Common.WeiXinPayInfo.Sign, checkData.MakeSign()); string responseXmlPostRequest = _iWebUtilService.PostRequest( WeiXinPayInfo.WeiXinPayServerUrl, checkData.ToXml()); WeiXinPayData response = new WeiXinPayData(responseXmlPostRequest); string returnCode = response.GetDictionaryValue(Common.WeiXinPayInfo.ReturnCode)?.ToString() ?? ""; string resultCode = response.GetDictionaryValue(Common.WeiXinPayInfo.ResultCode)?.ToString() ?? ""; if (returnCode == "SUCCESS" && resultCode == "SUCCESS") { payResult.IsSuccess = true; payResult.OrderRef = response.GetDictionaryValue(Common.WeiXinPayInfo.OutTradeNo).ToString(); payResult.GatewayRef = response.GetDictionaryValue(Common.WeiXinPayInfo.TransactionId).ToString(); } return(payResult); }
//----------------------------------------------------------------------------------------- // Description : Callback URL로 반환된 결제 결과 받아오기 (json) // - 결제가 성공한 경우 callback_url로 결제 결과가 반환됩니다. (json) // - 전달받은 Callback URL 을 통해서 결과값을 받아서 가맹점에 맞는 충전, 구매 등의 로직을 수행하도록 합니다. //----------------------------------------------------------------------------------------- public ActionResult POQCallback() { StreamReader objStreamReader = new StreamReader(Request.GetBufferlessInputStream(), Encoding.GetEncoding("utf-8")); string strResponse = objStreamReader.ReadToEnd(); objStreamReader.Close(); //-- Callback URL로 반환된 결제 결과 받기 if (string.IsNullOrEmpty(strResponse)) { Response.Write("{\"code\":9999, \"message\":\"Response data is empty\"}"); } //-- JSON 파싱 PayResult objJsonData = JsonConvert.DeserializeObject <PayResult>(strResponse); string strResponseCode = "{\"code\":0, \"message\":\"success\"}"; POQResp objRespData = JsonConvert.DeserializeObject <POQResp>(strResponseCode); if (objRespData.code.Equals(0)) { TCashMst objTCashMst = new TCashMst(); objTCashMst.UserID = objJsonData.user_id; //--가맹점 결제자(회원) 아이디(email, 영문 및 숫자 가능) objTCashMst.UserName = objJsonData.user_name; //--가맹점 결제자(회원) 이름 objTCashMst.OrderNo = objJsonData.order_no; //--가맹점의 주문 번호 objTCashMst.TID = objJsonData.tid; //--결제고유번호 objTCashMst.CID = objJsonData.cid; //--승인번호 objTCashMst.PayAmt = objJsonData.amount; //--결제요청 금액 objTCashMst.PGCode = objJsonData.pgcode; //--결제요청한 pg명 string strPayHash = objJsonData.payhash; //--파라메터 검증을 위한 SHA256 hash 값 SHA256(user_id +amount + tid +결제용 API Key) * 일부 결제 수단은 전달되지 않습니다.(가상계좌 등) objCashDao.InsertCash(objTCashMst); return(RedirectToAction("POQCallback", "Home")); } else { return(RedirectToAction("POQCancel", "Home")); } }
static int _CreatePayResult(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 0) { PayResult obj = new PayResult(); ToLua.PushObject(L, obj); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: PayResult.New")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public async Task <PayResult <PayResponseModel> > AuthorizeAsync(PayRequestModel model) { var errors = new List <PayError>(); model.Api = _configuration.Api; model.ValidateModel(errors); if (errors.Any()) { return(PayResult <PayResponseModel> .Failed(errors.ToArray())); } var t = await PostRequestBase <PayResponseModel, PayRequestModel>(model, _requestUrl); if (t.Succeeded) { return(PayResult <PayResponseModel> .Invoke(t.Result)); } errors.AddRange(t.Errors); return(PayResult <PayResponseModel> .Failed(errors.ToArray())); }
public override bool Callback(Controller context, out PaymentResult result) { PayResult presult = new PayResult(); SortedDictionary <string, string> sPara = GetRequest(context.Request.QueryString); if (sPara.Count > 0) { string id = context.Request.QueryString["out_trade_no"]; presult.NotifyId = context.Request.QueryString["notify_id"]; if (Verify(sPara, presult.NotifyId, context.Request.QueryString["sign"], id)) { presult.TradeNo = id; presult.PayTradeNo = context.Request.QueryString["trade_no"]; presult.Status = context.Request.QueryString["trade_status"]; presult.TotalFee = Money.Parse(context.Request.QueryString["total_fee"]); if ("TRADE_FINISHED".Equals(presult.Status) || "TRADE_SUCCESS".Equals(presult.Status)) { presult.Message = "验证成功"; result = presult; return(true); } else { presult.Message = string.Concat("trade_status=", presult.Status); } } else { presult.Message = "验证失败"; } } else { presult.Message = "无返回参数"; } result = presult; return(false); }
public ActionResult Index() { string privateKey = ConfigurationManager.AppSettings["privateKey"]; PayShowModel payShowModel = new PayShowModel() { tradeNo = Guid.NewGuid().ToString("N") }; Dictionary <string, object> dict = new Dictionary <string, object>(); dict.Add("signType", "RSA"); dict.Add("appId", "qTCH30NzGx4Kws9k"); dict.Add("payMode", "ActiveCode"); dict.Add("tradeType", ConfigurationManager.AppSettings["tradeType"]); dict.Add("merchantSn", ConfigurationManager.AppSettings["merchantSn"]); dict.Add("outTradeNo", payShowModel.tradeNo); dict.Add("totalFee", 1); dict.Add("notifyUrl", "https://uat_activity.niceloo.com/Notify");//HttpUtility.UrlEncode(" dict.Add("attach", "000"); string sign = PayHelper.Sign(dict, privateKey); dict.Add("goodsBody", "商品名称介绍"); dict.Add("goodsDetail", "商品详细介绍"); dict.Add("sign", sign); //发送请求 string result = PayHelper.SendPost("https://open.smart4s.com/Api/Service/Pay/Mode/trade", dict); Response.Write("请求结果:" + result); PayResult payResult = Newtonsoft.Json.JsonConvert.DeserializeObject <PayResult>(result); if (payResult != null && payResult.data != null) { payShowModel.PayImgUrl = PayHelper.GenerateImgCode("", payResult.data.payQRCodeUrl); } return(View(payShowModel)); }
public PayResult GetOrderPaidStatus(string xmlParamter) { Dictionary <string, string> aliPayResponse = new Dictionary <string, string>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlParamter); XmlNode xmlNode = xmlDoc.FirstChild; XmlNodeList nodes = xmlNode.ChildNodes; foreach (XmlNode xn in nodes) { XmlElement xe = (XmlElement)xn; aliPayResponse[xe.Name] = xe.InnerText; } var result = new PayResult(); if (aliPayResponse.Count == 0) { return(result); } if (aliPayResponse.ContainsKey(Common.AliPayInfo.TradeNo) == false) { return(result); } if (aliPayResponse.ContainsKey(Common.AliPayInfo.OutTradeNo) == false) { return(result); } bool isPaid = string.CompareOrdinal(aliPayResponse[Common.AliPayInfo.TradeStatus], Common.AliPayInfo.TradeSuccess) == 0 || string.CompareOrdinal(aliPayResponse[Common.AliPayInfo.TradeStatus], Common.AliPayInfo.TradeFinished) == 0; result.IsSuccess = isPaid; result.OrderRef = aliPayResponse[Common.AliPayInfo.OutTradeNo]; result.GatewayRef = aliPayResponse[Common.AliPayInfo.TradeNo]; result.IsSuccess = AlipaySignature.RSACheckV1(aliPayResponse, AliPayInfo.AliPayPublicKey, "utf-8", "RSA2", false); return(result); }
public WeNoticeBack(PayResult returnCode) { ReturnCode = returnCode; }
public void OnPayComplete(ResultContainer resultContainer) { var result = new PayResult(resultContainer); CallbackManager.OnFacebookResponse(result); }