/// <summary> /// 查询订单 /// </summary> public ActionResult Query() { DefaultAopClient client = new DefaultAopClient(Help.gatewayUrl, Help.app_id, Help.private_key, "json", "1.0", Help.sign_type, Help.alipay_public_key, Help.charset, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = "22222"; // 支付宝交易号,和商户订单号不能同时为空 string trade_no = "222222"; AlipayTradeQueryModel model = new AlipayTradeQueryModel(); model.OutTradeNo = out_trade_no; model.TradeNo = trade_no; AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.SetBizModel(model); AlipayTradeQueryResponse response = null; try { response = client.Execute(request); return(Content(response.Body)); } catch (Exception exp) { throw exp; } }
public static AlipayMobilePublicMenuGetResponse MenuGet() { IAopClient client = new DefaultAopClient(AlipayFuwuConfig.serverUrl, AlipayFuwuConfig.appId, AlipayFuwuConfig.merchant_private_key); AlipayMobilePublicMenuGetRequest request = new AlipayMobilePublicMenuGetRequest(); return(client.Execute <AlipayMobilePublicMenuGetResponse>(request)); }
private IAopClient GetClient() { IAopClient client = new DefaultAopClient(serverUrl, appId, private_key, "json", "utf-8", "RSA", public_key); client = new DefaultAopClient(serverUrl, appId, private_key, "json", "utf-8"); return(client); }
/// <summary> /// 单笔转账到支付宝账户接口 /// </summary> /// <param name="payeeAccount">收款方账户</param> /// <param name="realName">真实姓名</param> /// <param name="amount">转账金额</param> /// <param name="outBizNo">订单号</param> /// <returns></returns> public static string FundTrans(string payeeAccount, string realName, string amount, string outBizNo) { //https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer IAopClient client = new DefaultAopClient(ServerUrl, AppId, AppPrivateKey, "json", "1.0", SignType, AlipayPublicKey, Charset, false); AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest(); request.BizContent = "{" + "\"out_biz_no\":\"" + outBizNo + "\"," + "\"payee_type\":\"ALIPAY_LOGONID\"," + //收款方账户类型。 "\"payee_account\":\"" + payeeAccount + "\"," + //收款方账户。与payee_type配合使用。付款方和收款方不能是同一个账户。 "\"amount\":\"" + amount + "\"," + //转账金额,金额必须大于等于0.1元 "\"payer_show_name\":\"上海晶歌文化传播有限公司\"," + //付款方姓名 "\"payee_real_name\":\"" + realName + "\"," + //收款方真实姓名(最长支持100个英文/50个汉字)。 如果本参数不为空,则会校验该账户在支付宝登记的实名是否与收款方真实姓名一致。 "\"remark\":\"退还押金\"" + //转账备注 " }"; AlipayFundTransToaccountTransferResponse response = client.Execute(request); if (response.Code == "10000") { return("10000"); } else { return(response.Body); } }
public static string TradeRefund(string outTradeNo, string refundAmount) { //https://docs.open.alipay.com/api_1/alipay.trade.refund IAopClient client = new DefaultAopClient(ServerUrl, AppId, AppPrivateKey, "json", "1.0", SignType, AlipayPublicKey, Charset, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = "{" + "\"out_trade_no\":\"" + outTradeNo + "\"," + "\"trade_no\":\"\"," + "\"refund_amount\":" + refundAmount + "," + "\"refund_reason\":\"正常退款\"," + "\"out_request_no\":\"HZ01RF001\"," + "\"operator_id\":\"OP001\"," + "\"store_id\":\"NJ_S_001\"," + "\"terminal_id\":\"NJ_T_001\"" + " }"; AlipayTradeRefundResponse response = client.Execute(request); if (response.Code == "10000") { return("10000"); } else { return(response.Body); } }
protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName == "receive") { int orderid = int.Parse(e.CommandArgument.ToString()); string sql = "update [Order] set [State]='已成交' where OrderID=" + orderid; if (db.exsql(sql)) { Response.Write("<script>alert('收货成功')</script>"); Bind(); } } if (e.CommandName == "pay") { int orderid = int.Parse(e.CommandArgument.ToString()); string totalprice = ((Label)e.Item.FindControl("totalprice")).Text; DefaultAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", config.sign_type, config.alipay_public_key, config.charset, false); // 外部订单号,商户网站订单系统中唯一的订单号 string out_trade_no = orderid.ToString(); // 订单名称 string subject = "安徽大学校园物品交易系统结算中心"; // 付款金额 string total_amout = totalprice; // 商品描述 string body = "test"; // 组装业务参数model AlipayTradePagePayModel model = new AlipayTradePagePayModel(); model.Body = body; model.Subject = subject; model.TotalAmount = total_amout; model.OutTradeNo = out_trade_no; model.ProductCode = "FAST_INSTANT_TRADE_PAY"; AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); // 设置同步回调地址 request.SetReturnUrl(config.nataddress + "/Return_url.aspx"); // 设置异步通知接收地址 request.SetNotifyUrl(config.nataddress + "/Notify_url.aspx"); // 将业务model载入到request request.SetBizModel(model); AlipayTradePagePayResponse response = null; try { response = client.pageExecute(request, null, "post"); Response.Write(response.Body); } catch (Exception exp) { throw exp; } } }
/// <summary> /// 阿里手机网页支付 /// </summary> /// <param name="totalAmount">支付金额</param> /// <param name="outTradeNo">系统订单号码</param> /// <param name="notifyUrl">订单成功返回路径</param> /// <param name="body">内容</param> /// <param name="subject">订单名称</param> /// <returns></returns> public string CreateAlipayWapOrder(string totalAmount, string outTradeNo, string notifyUrl, string body, string subject) { DefaultAopClient client = new DefaultAopClient(gatewayUrl, app_id, private_key, "json", "1.0", sign_type, alipay_public_key, charset, false); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeWapPayModel model = new AlipayTradeWapPayModel(); model.Body = body; model.Subject = subject; model.TotalAmount = totalAmount; model.OutTradeNo = outTradeNo; model.ProductCode = "QUICK_WAP_WAY"; //订单号 model.TimeoutExpress = "30m"; AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); request.SetBizModel(model); request.SetNotifyUrl(notifyUrl); // 设置同步回调地址 request.SetReturnUrl(notifyUrl); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeWapPayResponse response = null; try { response = client.pageExecute(request, null, "post"); return(response.Body); } catch (Exception exp) { throw exp; } }
public JsonResult OrderCloseInfo(string tradeno, string alipayTradeNo) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false); AlipayTradeCloseModel model = new AlipayTradeCloseModel(); // 商户订单号,和交易号不能同时为空 model.OutTradeNo = tradeno; // 支付宝交易号,和商户订单号不能同时为空 model.TradeNo = alipayTradeNo; AlipayTradeCloseRequest request = new AlipayTradeCloseRequest(); request.SetBizModel(model); AlipayTradeCloseResponse response = null; try { response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
protected void BtnAlipay_Click(object sender, EventArgs e) { DefaultAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", config.sign_type, config.alipay_public_key, config.charset, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = WIDout_trade_no.Text.Trim(); // 支付宝交易号,和商户订单号不能同时为空 string trade_no = WIDtrade_no.Text.Trim(); // 请求退款接口时,传入的退款号,如果在退款时未传入该值,则该值为创建交易时的商户订单号,必填。 string out_request_no = WIDout_request_no.Text.Trim(); AlipayTradeFastpayRefundQueryModel model = new AlipayTradeFastpayRefundQueryModel(); model.OutTradeNo = out_trade_no; model.TradeNo = trade_no; model.OutRequestNo = out_request_no; AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest(); request.SetBizModel(model); AlipayTradeFastpayRefundQueryResponse response = null; try { response = client.Execute(request); WIDresule.Text = response.Body; } catch (Exception exp) { throw exp; } }
protected void BtnAlipay_Click(object sender, EventArgs e) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.merchant_private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, true); // 商户订单号,和交易号不能同时为空 string out_trade_no = WIDout_trade_no.Text.Trim(); // 支付宝交易号,和商户订单号不能同时为空 string trade_no = WIDtrade_no.Text.Trim(); AlipayTradeQueryModel model = new AlipayTradeQueryModel(); model.OutTradeNo = out_trade_no; model.TradeNo = trade_no; AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.SetBizModel(model); AlipayTradeQueryResponse response = null; try { response = client.Execute(request); WIDresule.Text = response.Body; } catch (Exception exp) { throw exp; } }
public async Task <IActionResult> Detail(DetailModel detailModel) { if (detailModel.OrginDate != null) { detailModel.NoSearch = false; string reportdate = DateTimeToDateClass.DateStrToDateStr(detailModel.OrginDate); IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", Program.Websiteconfig.AliPayAppID, Program.Websiteconfig.AliPayPrivateKey, "json", "1.0", "RSA2", Program.Websiteconfig.AliPayPublicKey, "utf-8", false); var pageindex = 1; while (true) { AlipayUserInviteOfflinedetailQueryRequest request = new AlipayUserInviteOfflinedetailQueryRequest(); request.BizContent = "{" + "\"pid\":\"" + Program.Websiteconfig.Pid + "\"," + "\"report_date\":\"" + reportdate + "\"," + //"\"partner_id\":\"" + partner_id + "\"," + "\"page\":" + pageindex + "," + "\"page_size\":" + 500 + " }"; AlipayUserInviteOfflinedetailQueryResponse response = client.Execute(request); if (response.OfflineDetailInfoList != null) { detailModel.DataModelList.AddRange(response.OfflineDetailInfoList); detailModel.NoData = false; pageindex++; } else { break; } } } return(View(detailModel)); }
/// <summary> /// 生成APP支付订单信息 /// </summary> /// <returns></returns> public static string GetAlipayOrderInfo(decimal amount, string orderNumber) { IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", Config.APPID, Config.APP_PRIVATE_KEY, "json", "1.0", "RSA2", Config.ALIPAY_PUBLIC_KEY, Config.CHARSET, false); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = "订单付款{0}".FormatWith(orderNumber); model.Subject = "五福天下商城订单付款"; model.TotalAmount = amount.ToString(); model.ProductCode = "QUICK_MSECURITY_PAY"; model.OutTradeNo = orderNumber; model.TimeoutExpress = "30m"; request.SetBizModel(model); request.SetNotifyUrl("http://m.wftx666.com"); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = client.SdkExecute(request); //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 //return HttpUtility.HtmlEncode(response.Body); return(response.Body); //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。 }
public AlipayTradePrecreateResponse BuildNew(EAliPayApplication app, EStoreInfo store, EUserInfo AgentUI, string TotalAmt, bool needNotifyUrl = true, bool needControl = true) { string NotifyUrl = ConfigurationManager.AppSettings["Main_SiteUrl"] + "AliPay/PayNotify"; _OrderNo = StringHelper.GenerateOrderNo(); IAopClient aliyapClient = new DefaultAopClient("https://openapi.alipay.com/gateway.do", app.AppId, app.Merchant_Private_Key, "json", "1.0", "RSA2", app.Merchant_Public_key, "GBK", false); AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); model.SellerId = store.AliPayAccount; NLogHelper.InfoTxt("当面付OrderNo:" + _OrderNo); model.OutTradeNo = _OrderNo; model.TotalAmount = TotalAmt; model.Subject = "#" + AgentUI.Name + " 收银台"; model.Body = app.AppName + "-商品"; model.ExtendParams = new Aop.Api.Domain.ExtendParams(); model.ExtendParams.SysServiceProviderId = app.AppId; if (needControl) { model.DisablePayChannels = "balance,moneyFund,creditCard,creditCardExpress,creditCardCartoon,debitCardExpress,point,bankPay"; } request.SetBizModel(model); if (needNotifyUrl) { request.SetNotifyUrl(NotifyUrl); } AlipayTradePrecreateResponse response = aliyapClient.Execute(request, null, store.AliPayAuthToke); return(response); }
public string appid = ConfigurationManager.AppSettings["aliAppId"];//应用2.0签约2017120190774565 #endregion /// <summary> /// .NET服务端SDK生成APP支付订单信息示例 /// </summary> /// //.NET服务端SDK生成APP支付订单信息示例(https://docs.open.alipay.com/54/106370/)根据文档上的说法,这样就行了。 /// <summary> /// 这个行了 /// </summary> /// <param name="totalAmount"></param> /// <param name="outTradeNo"></param> /// <param name="notifyUrl"></param> /// <returns></returns> public string CreateAlipayOrder(string totalAmount, string outTradeNo, string notifyUrl) { IAopClient client = new DefaultAopClient(gateway, appid, app_private_key, "json", "1.0", "RSA2", alipay_public_key, charset, false); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 request.SetApiVersion("1.0"); AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = "body"; model.Subject = "App支付"; model.TotalAmount = totalAmount; model.ProductCode = "QUICK_MSECURITY_PAY"; //订单号 model.OutTradeNo = outTradeNo; model.TimeoutExpress = "30m"; request.SetBizModel(model); request.SetNotifyUrl(notifyUrl); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = client.SdkExecute(request); //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 var a = response.Body; return(response.Body); //return HttpUtility.HtmlEncode(response.Body).Replace("&","&"); //Response.Write(HttpUtility.HtmlEncode(response.Body)); //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。 }
public static int AlipayAPPOrderQuery(string out_trade_no) { DefaultAopClient client = new DefaultAopClient(AlipayConfig.mobile_gatewayUrl, AlipayConfig.mobile_app_id, AlipayConfig.mobile_private_key_value, "json", "1.0", AlipayConfig.sign_type, AlipayConfig.mobile_public_key_value, AlipayConfig.charset, false); AlipayTradeQueryModel model = new AlipayTradeQueryModel(); model.OutTradeNo = out_trade_no; AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.BizContent = "{\"out_trade_no\":\"" + out_trade_no + "\"}"; request.SetBizModel(model); AlipayTradeQueryResponse response = new AlipayTradeQueryResponse(); try { response = client.Execute(request); if (response.TradeStatus.Equals(AliPayTradeStatus.WAIT_BUYER_PAY.ToString())) { return(1); } if (response.TradeStatus.Equals(AliPayTradeStatus.TRADE_SUCCESS.ToString())) { Web.APPCode.PaymentHelper.SaveRoomFee(out_trade_no, "APP支付宝支付", "支付宝"); return(2); } return(3); } catch (Exception exp) { LogHelper.WriteError("PaymentHelper", "AlipayAPPOrderQuery", exp); return(3); } }
public AlipayUserUserinfoShareResponse GetAliUserInfo(string accessToken) { AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest(); IAopClient client = new DefaultAopClient(this.serverUrl, this.appId, this.privateKey); return(client.Execute <AlipayUserUserinfoShareResponse>(request, accessToken)); }
/// <summary> /// 订单退款 /// </summary> /// <param name="tradeno">商户订单号</param> /// <param name="alipayTradeNo">支付宝交易号</param> /// <param name="refundAmount">退款金额</param> /// <param name="refundReason">退款原因</param> /// <param name="refundNo">退款单号</param> public ActionResult RefundInfo(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false); AlipayTradeRefundModel model = new AlipayTradeRefundModel(); // 商户订单号,和交易号不能同时为空 model.OutTradeNo = tradeno; // 支付宝交易号,和商户订单号不能同时为空 model.TradeNo = alipayTradeNo; // 退款金额,不能大于订单总金额 model.RefundAmount = refundAmount; // 退款原因 model.RefundReason = refundReason; // 退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 model.OutRequestNo = refundNo; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = null; try { response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
/// <summary> /// 退款查询 /// </summary> /// <param name="tradeno">商户订单号</param> /// <param name="alipayTradeNo">支付宝交易号</param> /// <param name="refundNo">退款单号</param> /// <returns></returns> public ActionResult RefundQueryInfo(string tradeno, string alipayTradeNo, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false); if (string.IsNullOrEmpty(refundNo)) { refundNo = tradeno; } AlipayTradeFastpayRefundQueryModel model = new AlipayTradeFastpayRefundQueryModel(); model.OutTradeNo = tradeno; model.TradeNo = alipayTradeNo; model.OutRequestNo = refundNo; AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest(); request.SetBizModel(model); AlipayTradeFastpayRefundQueryResponse response = null; try { response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
public static IAopClient GetAlipayClient() { string serviceUrl = WeixinConfig.serviceUrl; string appId = WeixinConfig.aliAppId; string privateKey = WeixinConfig.privateKey; string publivKey = WeixinConfig.publicKey; string format = WeixinConfig.format; string version = WeixinConfig.version; string signType = WeixinConfig.signType; string charset = WeixinConfig.charset; bool keyFromFile = WeixinConfig.keyFromFile; IAopClient client = new DefaultAopClient(serviceUrl, appId, privateKey, format, version, signType, publivKey, charset, keyFromFile); return(client); }
public static string ProcessRequest(OrderListModel orderList, long orderId, string wapSpId) { DefaultAopClient client = new DefaultAopClient(wapConfig.gatewayUrl, wapConfig.app_id, wapConfig.private_key, "json", "1.0", wapConfig.sign_type, wapConfig.alipay_public_key, wapConfig.charset, false); AlipayTradeWapPayModel model = ConvertToModel(orderList, orderId); AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); // 设置同步回调地址 string retunUrl = string.Format(wapConfig.RETURN_URL, wapSpId, orderId); request.SetReturnUrl(retunUrl); // 设置异步通知接收地址 request.SetNotifyUrl(wapConfig.NOTIFY_URL); // 将业务model载入到request request.SetBizModel(model); AlipayTradeWapPayResponse response = null; try { //因为是页面跳转类服务,使用pageExecute方法得到form表单后输出给前端跳转 response = client.pageExecute(request, null, "post"); if (response != null && !response.IsError) { return(response.Body); } } catch (Exception exp) { LogUtil.Error(exp.Message); } return(string.Empty); }
public static m_Alipay_Server_Token askTokenByOldFromServer(string app_id, string refresh_token) { try { IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", app_id, "\\RSA\\merchant_private_key_2048.txt", "json", "1.0", "RSA2", "\\RSA\\alipay_public_key_sha256.txt", "GBK", true); AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); request.GrantType = "refresh_token"; //request.Code = "4b203fe6c11548bcabd8da5bb087a83b"; request.RefreshToken = refresh_token;//"201208134b203fe6c11548bcabd8da5bb087a83b"; AlipaySystemOauthTokenResponse response = client.Execute(request); var token = JsonConvert.DeserializeObject <m_Alipay_Server_Token>(response.Body); if (null == token) { return(null); } else { return(token); } } catch (Exception ex) { //记录日志 } return(null); }
/// <summary> /// 生成RSA签名后的订单字符串,给客户端用的 /// </summary> /// <param name="body"></param> /// <param name="subject"></param> /// <param name="out_trade_no"></param> /// <param name="timeout_express"></param> /// <param name="total_amount"></param> /// <param name="product_code"></param> /// <param name="notify_url"></param> /// <returns></returns> public static string CreateRSASignedOrderString(string body, string subject, string out_trade_no, string timeout_express, string total_amount) { //从pem文件中读取 APP_PRIVATE_KEY = GetCurrentPathByAbs() + "rsa_private_key.pem"; ALIPAY_PUBLIC_KEY = GetCurrentPathByAbs() + "rsa_alipay_public_key.pem"; //最后一个参数为false直接将私钥内容写入代码,true从pem文件中读取 IAopClient client = new DefaultAopClient(gateway, APPID, APP_PRIVATE_KEY, format, version, sign_type, ALIPAY_PUBLIC_KEY, CHARSET, true); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = body; model.Subject = subject; model.TotalAmount = total_amount; model.ProductCode = product_code; model.OutTradeNo = out_trade_no; model.TimeoutExpress = timeout_express; request.SetBizModel(model); request.SetNotifyUrl(notify_url); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = client.SdkExecute(request); string resp = response.Body; return(resp); }
public AlipayTradePrecreateResponse BuildPartyPay(EAliPayApplication app, EStoreInfo store, EUserInfo AgentUI, string TotalAmt, bool needNotifyUrl = true) { string NotifyUrl = ConfigurationManager.AppSettings["Main_SiteUrl"] + "AliPay/PayNotify"; _OrderNo = StringHelper.GenerateOrderNo(); IAopClient aliyapClient = new DefaultAopClient("https://openapi.alipay.com/gateway.do", app.AppId, app.Merchant_Private_Key, "json", "1.0", "RSA2", app.Merchant_Public_key, "GBK", false); AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); model.SellerId = store.AliPayAccount; model.OutTradeNo = _OrderNo; model.TotalAmount = TotalAmt; model.Subject = "#" + AgentUI.Name + " 收银台"; model.Body = app.AppName + "-商品"; model.ExtendParams.HbFqNum = "3"; model.ExtendParams.HbFqSellerPercent = "0"; request.SetBizModel(model); if (needNotifyUrl) { request.SetNotifyUrl(NotifyUrl); } AlipayTradePrecreateResponse response = aliyapClient.Execute(request, null, store.AliPayAuthToke); return(response); }
public void PayRequest(string tradeno, string subject, string totalAmout, string itemBody) { DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0", Config.SignType, Config.AlipayPublicKey, Config.CharSet, false); // 组装业务参数model AlipayTradePagePayModel model = new AlipayTradePagePayModel(); model.Body = itemBody; model.Subject = subject; model.TotalAmount = totalAmout; model.OutTradeNo = tradeno; model.ProductCode = "FAST_INSTANT_TRADE_PAY"; AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); // 设置同步回调地址 request.SetReturnUrl("http://localhost:5003/Pay/Callback"); // 设置异步通知接收地址 request.SetNotifyUrl(""); // 将业务model载入到request request.SetBizModel(model); var response = client.SdkExecute(request); Console.WriteLine($"订单支付发起成功,订单号:{tradeno}"); //跳转支付宝支付 Response.Redirect(Config.Gatewayurl + "?" + response.Body); }
public ApiMessage <string> Alipay(PayModel pm) { var api = new ApiMessage <string>(); IAopClient client = new DefaultAopClient(URL, APPID, APP_PRIVATE_KEY, "json", "1.0", RSA2, ALIPAY_PUBLIC_KEY, CHARSET, false); AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); var res = bll.CkeckData(pm, UserInfo); if (!res.Success) { api.Success = false; api.Msg = res.Msg; return(api); } var oData = res.Data; model.Body = oData.Body; model.Subject = oData.Subject; model.TotalAmount = oData.TotalAmount.ToString(); model.ProductCode = "QUICK_MSECURITY_PAY"; model.OutTradeNo = oData.OutTradeNo; AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); request.SetBizModel(model); request.SetNotifyUrl(ConfigHelper.WebSiteUrl + "/api/payment/updateorder/alipay"); AlipayTradeAppPayResponse response = client.SdkExecute(request); api.Data = response.Body; return(api); }
private static string GetOrderInfo(string amount) { //EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX); IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false); AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); AlipayTradeWapPayModel model = new AlipayTradeWapPayModel { Body = HttpUtility.UrlEncode("门诊挂号"), //"我是测试数据", Subject = HttpUtility.UrlEncode("门诊挂号缴费"), // "App支付测试DoNet", TotalAmount = amount, //"0.01", ProductCode = "QUICK_WAP_WAY", OutTradeNo = "2020060111510", //TimeoutExpress = "120m", TimeExpire = DateTime.Now.AddMinutes(60).ToString("yyyy-MM-dd HH:mm"), QuitUrl = "http://www.taobao.com/product/113714.html", }; request.SetBizModel(model); //request.SetNotifyUrl("外网商户可以访问的异步地址"); request.SetReturnUrl("https://wwww.baidu.com"); AlipayTradeWapPayResponse response = client.pageExecute(request); return(response.Body); //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 //Response.Write(HttpUtility.HtmlEncode(response.Body)); }
public IActionResult Test() { DefaultAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", "2016090800466366", "MIIEogIBAAKCAQEAuCcfh+EJHfMwzXC6b8HfzjYDcH7y79dKAdh5Y5rXOO/4y9stKke+F4Pdp7BOzu6N8/jse7xxCiVLdyUO0L/ck5hOWna//fdQPcSbEyYBUQn+CQy7+uDbsZRniXeeaHJBnK5fot3oHzpHe4dScnvG5NKRJAYsaQW5vD8cVc/m31yuocbyPgqUllblK3h8Lg/nh64bKl8e0Hck1EgGm7+W0+IojM9rcMY1BrdIlUiuP25u8I3zPFH5Tjk4otCvm+xDsukeJiftmDrhtmW3cGtTpNFtr6DK+acfNVccyiaGeCidvLcT3ziO8V7Cy1oQVk+8j5qg83xzCslvF0kZwwrQXwIDAQABAoIBAErfbUx7zI8mz5LX4JWLyAk5oNBebTvi1q5Fa6V50UPPHeMUrBpirQE2liqV3pT4HTMy5EOy7GrpmvNIV+u79lz0MfdKDOmfYjqa80ony6U9YNIhIVTxk6Fx617TCc8BlXe01iGMA9KeiW3KKVVuygFDM8vnzqqsr0XAiy7ApuftP4ujFCJhDZ/PSaKB1/YNJQjz/2GRjqbYT5irre3Mjz7FgyN19CJmSnjshdixp0ItOTQ7QsHYE537gGZhEXs+RDFopF+w4y45kfUUh1IpBxD7jlD1zO3OHXJxBqSiJxz4iO8FS/OYdQUMoGpTtJc6bMnmZcLSwnfV9RTIB381BoECgYEA7+AcpfIpKWgc1zOJRKTjBdKe77LTjto30UlyeskpUofKVRqEYTgALL7POlH16L9gA2R8HvsSEmAPGw7P4ptYO+Kfi3TeiG6RwT5K+JSB8g0xqwvDEVOD3May+nfnaz5sMktWNirSFHbbymfh99mj+4E1drv3cOuDJR6v2qicTyECgYEAxIgcUkcG6CpHagxYfaboyvmglbq/9ZD+ruZSvqG877NT0NLqEPZ6ZOd6AS9m/GsC6pUABtFfXK256oZ7H8bqsfIFTfoUbjiy3fXNuniuvqtLTGL+2kyCazhV15kLtX24wCV6M32Yc1DvGPywAI40UG9D6D2MTCuu7KgO715or38CgYA9p8AVU0oLL4yCL+fvceY8X+ekOrWv+RzxuUwojT4GzYpPF5LBHlDFL4I6PkjTuyTlmlVg7S229WPMk6ERYNZsBhL2GGL+dFUYc3d3r0w7N/L1QP+xm2LAQ35LbLhZ02CiCMUvBRCcW/SgcNUfDJzej1Z7n1K5fn9l8h5HOKF8oQKBgBP7Hp4C2KHsAny2qpyDxrE0Ne5jITcPOcWAZzM4cGQSYFgfyWpWFNWDbzUFo7vQCWjeIzWOPdrHUtqUN5pgd+YFjCKEZWVbYFwOrI7jzChYc/xdKDn7g1rxTFDyH22hTZJDfSwU/dXjiZuJvT8hNhJjbY0EDOqFmnA3GeWePJhzAoGAXioZrM79oG/iN59XuAA5Arl5UjkCsKPa1rfALCSfEoJfvH1UAQ1SbuM0MMIAOGJc/yPdDjyv8Kdy7z867gxo6m0vuLdyJ6qL/KI//mNLJpW30I6/pYsWO1LIIxusxTkv459mvGufn1WH0LHpAf4b84/uq2EDszVat7MEt48NlSI=", "json", "2.0", "RSA2", "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyWWqIIJ0KKDUPk6fgbxXLxCDqVWTvV4mplocxRsjFPvZC2e4uHs6hq3n8/bc/ZnLcavDTCx56L+TsTKN8w4984pqYPgkYXjWl26hMvVJ2GizjRGw+FeM+1uqiWzrDflX3Cp/o8HKSeFqjA+HXpX+nFg94XJfYIAf8vtHKCusdJE6YRmUZ7lCYH01M59b3KQBeX2q304GwC27xgZ1ZOuqGdngNeeTo0WgTpfKOzgQkUVDNLjVJhxk6i71vzfJ5QUUVIEff1UNlLK1C/kCGDaSY8DGPXni+BfdQekVxdqO1aV5JvaZVW9KrxnXfyAf0FYelBbqym4qzJu98+8eee/oyQIDAQAB", "UTF-8", false); var model = new AlipayOpenAuthTokenAppModel { //如果使用app_auth_code换取token,则为authorization_code,如果使用refresh_token换取新的token,则为refresh_token GrantType = "authorization_code", //与refresh_token二选一,用户对应用授权后得到,即第一步中开发者获取到的app_auth_code值 Code = "ab64829e4d5b4e2aabd2ab6bae0dcB72", //与code二选一,可为空,刷新令牌时使用 RefreshToken = "" }; AlipayOpenAuthTokenAppRequest request = new AlipayOpenAuthTokenAppRequest(); request.SetBizModel(model); request.SetReturnUrl(""); var response = client.Execute(request); return(new JsonResult(new { data = response })); }
public void PayRequest() { DefaultAopClient client = new DefaultAopClient(Gatewayurl, AppId, PrivateKey, "json", "2.0", SignType, AlipayPublicKey, CharSet, false); string tradeno = "1"; // 外部订单号,商户网站订单系统中唯一的订单号 // 组装业务参数model AlipayTradePagePayModel model = new AlipayTradePagePayModel(); model.Body = "商品描述"; // 商品描述 model.Subject = "订单名称"; // 订单名称 model.TotalAmount = "0.01"; // 付款金额 model.OutTradeNo = tradeno; // 外部订单号,商户网站订单系统中唯一的订单号 model.ProductCode = "FAST_INSTANT_TRADE_PAY"; AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); // 设置同步回调地址 request.SetReturnUrl("http://localhost:58616/Home/Callback"); // 设置异步通知接收地址 request.SetNotifyUrl("http://localhost:58616/Home/Notify"); // 将业务model载入到request request.SetBizModel(model); var response = client.SdkExecute(request); Console.WriteLine($"订单支付发起成功,订单号:{tradeno}"); //跳转支付宝支付 Response.Redirect(Gatewayurl + "?" + response.Body); }
public ActionResult AlipayOrder(string orderNo) { IAopClient client = new DefaultAopClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.APP_PRIVATE_KEY, "json", "1.0", "RSA", AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.CHARSET, true); ////实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = "我是测试数据"; model.Subject = "App支付测试DoNet"; model.TotalAmount = "0.01"; model.ProductCode = "QUICK_MSECURITY_PAY"; model.OutTradeNo = "sadfa" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); // model.TimeoutExpress = "30m"; request.SetBizModel(model); request.SetNotifyUrl(AlipayConfig.NOTIFY_URL); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = client.SdkExecute(request); return(Json(new ResultMessage() { Code = 0, Msg = HttpUtility.HtmlEncode(response.Body) })); //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 // Response.Write(HttpUtility.HtmlEncode(response.Body)); //log4netHelper.Info(string.Format("支付宝订单参数:{0}", HttpUtility.HtmlDecode(response.Body))); //bool flag = AlipaySignature.RSACheckV1(GetRequestPost(), AlipayConfig.APP_PUBLIC_KEY, AlipayConfig.CHARSET, "RSA", false); //log4netHelper.Info(string.Format("验签结果:{0}", flag)); //return Json(new Result(0, HttpUtility.HtmlEncode(response.Body))); //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。 }
/// <summary> /// 获取预交易二维码 /// </summary> /// <param name="info"></param> public string GetPayQrCode(PayInfo info) { IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", Com.Alipay.Config.APP_ID, Com.Alipay.Config.Private_key); AlipayAcquirePrecreateRequest request = new AlipayAcquirePrecreateRequest(); request.SellerId = info.AlipayId; request.SetNotifyUrl("https://www.gotopsports.com/service/NotifyAlipay.aspx"); request.OutTradeNo = info.BillId; string subject; string body; PayHelper.GetSubjectAndBody(info, out subject, out body); request.Subject = subject; request.Body = body; request.TotalFee = info.PayAmount.ToString(); request.ItBPay = "1d"; var response = client.Execute <AlipayAcquirePrecreateResponse>(request); //调用成功,则处理业务逻辑 if (response.IsSuccess == "T") { return(response.QrCode); } return(null); }
private static IAopClient GetAlipayClient() { //֧�������ص�ַ // -----ɳ���ַ----- string serverUrl = "http://openapi.alipaydev.com/gateway.do"; // -----���ϵ�ַ----- // string serverUrl = "https://openapi.alipay.com/gateway.do"; //Ӧ��ID string appId = "2013092500031084"; //�̻�˽Կ string privateKeyPem = GetCurrentPath() + "aop-sandbox-RSA-private-c#.pem"; IAopClient client = new DefaultAopClient(serverUrl, appId, privateKeyPem); return client; }