public Result<AlipayOrderQueryResult> QueryOrder(string orderNo) { var model = new AlipayTradeQueryModel { OutTradeNo = orderNo }; var request = new AlipayTradeQueryRequest(); request.SetBizModel(model); try { var response = _alipay.Execute(request); var ok = response is { IsError: false, Msg: "Success", TradeStatus: "TRADE_SUCCESS" }; if ( !ok ) { return new Failure<AlipayOrderQueryResult>(response.SubMsg ?? response.Msg); } return new Success<AlipayOrderQueryResult> { Data = new AlipayOrderQueryResult { AlipayTradeNo = response.TradeNo, AlipayBuyerUserId = response.BuyerUserId, AlipayBuyerLogonId = response.BuyerLogonId, Amount = response.TotalAmount.AsDecimal(), OriginalResult = response } }; } catch ( Exception e ) { return new Failure<AlipayOrderQueryResult>(e.Message); } }
private void Query_Oder(object sender, RoutedEventArgs e) { if (AliPayClient != null) { if (Order_Num.Text != "") { var Query_Request = new AlipayTradeQueryRequest(); var BizContent = new QueryContent(Order_Num.Text, ""); Query_Request.BizContent = JsonConvert.SerializeObject(BizContent); var Query_Response = AliPayClient.Execute(Query_Request); if (Query_Response.Code == "10000") { //var JsonObj = JObject.Parse(Query_Response.Body); Pay_State.Content = $"已支付:{Query_Response.TotalAmount}元"; } else { Pay_State.Content = "等待付款"; } } else { MsBoxShow("订单号不能为空"); } } else { MsBoxShow("请先填写相关API"); } }
public AlipayTradeCloseResponse CleanWaitOrder(EAliPayApplication app, EOrderInfo order, EStoreInfo store = null) { 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); AlipayTradeCloseRequest request = new AlipayTradeCloseRequest(); AlipayTradeCloseModel model = new AlipayTradeCloseModel(); model.OutTradeNo = order.OrderNo; request.SetBizModel(model); AlipayTradeCloseResponse response = null; if (store != null) { response = aliyapClient.Execute(request, null, store.AliPayAuthToke); } else { response = aliyapClient.Execute(request); } return(response); }
/// <inheritdoc /> public ThirdPartyAuthorizeResult Authorize(AuthorizationInput input) { IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, AppPrivateKey, "json", "1.0", "RSA2", AppPublicKey, "utf-8", false); AlipaySystemOauthTokenRequest tokenRequest = new AlipaySystemOauthTokenRequest { Code = input.Code, GrantType = "authorization_code" }; AlipaySystemOauthTokenResponse tokenResponse = client.Execute(tokenRequest); if (tokenResponse.IsError) { throw new UserFriendlyException("认证失败,请重试"); } var thirdPartyUser = _thirdPartyUserRepository .GetAll() .FirstOrDefault(u => u.OpenId == tokenResponse.UserId); if (thirdPartyUser == null) { AlipayUserUserinfoShareRequest userRequest = new AlipayUserUserinfoShareRequest(); AlipayUserUserinfoShareResponse userResponse = client.Execute(userRequest, tokenResponse.AccessToken); if (userResponse.IsError) { throw new UserFriendlyException("认证失败,请重试"); } thirdPartyUser = new ThirdPartyUser { OpenId = tokenResponse.UserId, AccessToken = tokenResponse.AccessToken, Name = userResponse.RealName, NickName = userResponse.NickName, ThirdParty = "Alipay" }; _thirdPartyUserRepository.Insert(thirdPartyUser); CurrentUnitOfWork.SaveChanges(); } thirdPartyUser.AccessToken = tokenResponse.UserId; CurrentUnitOfWork.SaveChanges(); return(new ThirdPartyAuthorizeResult { ThirdPartyUser = new ThirdPartyUserOutput { UserId = thirdPartyUser.UserId, Name = thirdPartyUser.NickName, NickName = thirdPartyUser.NickName }, Token = $"OpenId={tokenResponse.UserId}&date={DateTime.Now:yyyy-MM-dd HH:mm:ss}&type=Alipay".EncryptQueryString(), Success = thirdPartyUser.UserId > 0, RequireCreateNewUser = thirdPartyUser.UserId == 0 });
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); }
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 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 ActionResult GetFile() { IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "2019082766434970", "MIIEpQIBAAKCAQEAsdm9hrmwgGt3FsiUFDr4wZMWMxLXt5mvJUNBMJacYyxbkCkXu+PNk+1ItN6EFdbIjoqLRlKXT4nGZmcSs7RhbWlDSG4Qd/PaAVZmtjEKiNEwCBIoQ2LyhCGuD5c6bA2K1e/HkgEhXnHPDlCJXf0BrkavPaOHYxG3iCQEXRDxGfDjaK3DSu1vPLEqxsMqPDieTDc81pXGQZeH7cW5iGIo4gX0ac+Bmc9vRz5uUbsfkitTvyx49tO9ROGp5XhlrmqMuslFbYpvx8KNcCr+eVVcaHPOpUXRCHXECBpF+jD0ZvMRg5f43dTaOiXtSdMayfeV2BVSN5vkPYUoNPp8amoVFQIDAQABAoIBAATWrrBWpvWndtL43AZ84D2r+cOj9Jh7Jue1n7Vps5GDKG6Qn6Ot++7VWtAI6cEKWeR+4nEkWBeC4RHyJfEbrDbk0T7MN8h7que0aRD13pqATnU5wTysGXr8y5aC/8TmzWsqndxcCYNfR0nVaRdUhdIu/B+KLmnElqCukivSBS02c9o39nNY2WsxTVabKUaoso7IBmM8dFdEBY7AjlEJQfPBUQldTllm8uRXcKItaHh7/WYQ4MeAf1612eao5LKVR9N+XkDEIz+wys48W58bT/McruvIPjLI3S6MLG6loo34czH7YDbLLtarAUaPGs6YFTRXE2s0+eNrCWHRRrMdmAECgYEA7tmsESQwaEOhu4xPYK4qYqVFVSV8Ve2NP6hvr9fQBlgilshBpVwR0MX41TlFG76qdkBSStky333AoNIf2OzjpZNBA0rAVfnHY3tqJwzeJfsOYUmniY6nepBdorgh94b8DdaeurEre7vwqvFMTBGwmDsR4oIOidY49UiSQ8d+ggECgYEAvp7Tp6ApmyO+PI7yujfE1VsNTeHLiVnf87xYnMW87EOjyl2XqiycspBxiVtcy7PZnQVYaFqcAMf1cYb0ti6BiCNXMOMg0eWFpUknYHllsB7pXu7n8Aheu0QkKRlFzkTBlFcs5yRG7V/vfP0DPL53jI54xj8LHS69FIF9ikazaxUCgYEA7hpogZ4F86qYLBKvfr2g2z3OZBc+X5q0WGVdEXqekfSCZrWzW1jxGaKBcG3rCsGDxOZSIvNq14jQ4oEV5nYgagrloJaALjUWI4IATHVzb4Fa0HlQXryrEG+iKHhOxCb4VgNBsPK1Wl/8hyyM1rg7x0X7ikYEoDvCBCMYTCEvaAECgYEAsaCzPoqi+qxOA4R5b0m0o9RbC24TCoSzih7CvCQPLmLBaDvarnsv8b1j70kxqaiIaienAGce5CNw9j96HaIslj3IbAfad31YEnOeu+mj9oB3mz0o6KYEEKEoyRuBzvqHIMIzV5iYd25kbqYetCYQpOvGY4YvxxvcmhUodQf4/RkCgYEA2SM3mgOz+jaBs96JVtTeLeEFIaKmnceD8u+wuuVfulY2aDDkEwYPfHXBqu4EqZjpcDg2l2EBsLRy7Ot7K2EaGJV0s7H1AP/13kziKCl9WwDoDg4Dk7ZRzj378YFehX4b9T3SQ36WMkgFHB9zOcRP5Rf7HO4inN6UqILHSTuTOY4=", "json", "1.0", "RSA2", "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA05z4aIvz0V9DyE/YS72CuCVbb9ncn5EJHGijdQ+qokDXR1e0SNIbZeitNKUL1bfqapjYIDIPON49VHtPFBWz2osSITsv9+lIQUhb/nBvTAhLL2Yebx6/NPC3a+meqm5e53Fu8W6WYvpQGI7zcGMiJaDs19xZHyTGJf0dTVn7+r2/XWA37801W8rADnikIyKm4gu1AiWWtpuVy+bimc6fcFq5dHOnHGlcK+kx+Bm4yRN3aDE8kG2EszLV850KaZwvHlUGdiW3mVixpfbQJV8ei2n0HIwLVGVvt1hjwNGgvrNAuBBc2ACAkk45gg77+pTiHR1XzxyjiXEelGUfFN09wQIDAQAB", "GBK", false); AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); var rand = this.GetRandomMumber(17); request.BizContent = "{" + "\"out_trade_no\":\"" + (201523423420101001 + long.Parse(rand)) + "\"," + "\"seller_id\":\"2088631146114221\"," + "\"total_amount\":0.1," + "\"subject\":\"Iphone6 16G\"," + "\"timeout_express\":\"90m\"," + "\"qr_code_timeout_express\":\"90m\"" + " }"; AlipayTradePrecreateResponse response = client.Execute(request); ViewBag.Src = response.QrCode; return(File(QrCodeHelper.GenQrCode(response.QrCode, 200).ToArray(), @"image/jpeg")); }
/// <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; } }
/// <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 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)); }
public IActionResult Close(string WIDout_trade_no, string WIDtrade_no) { DefaultAopClient client = new DefaultAopClient(_settings.Value.gateway_url, _settings.Value.app_id, _settings.Value.private_key, _settings.Value.format, _settings.Value.version, _settings.Value.sign_type, _settings.Value.alipay_public_key, _settings.Value.charset, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = WIDout_trade_no; // 支付宝交易号,和商户订单号不能同时为空 string trade_no = WIDtrade_no; AlipayTradeCloseModel model = new AlipayTradeCloseModel(); model.OutTradeNo = out_trade_no; model.TradeNo = trade_no; AlipayTradeCloseRequest request = new AlipayTradeCloseRequest(); request.SetBizModel(model); AlipayTradeCloseResponse response = null; try { response = client.Execute(request); } catch (Exception exp) { throw exp; } return(Content(response.Body)); }
/// <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); }
public void should_support_complex_object_in_not_biz_content_mode() { //given IAopClient client = new DefaultAopClient(TestAccount.Sandbox.Gateway, TestAccount.Sandbox.AppId, TestAccount.Sandbox.AppPrivateKey, "json", "1.0", "RSA2", TestAccount.Sandbox.AlipayPublicKey, "utf-8", false); AlipayOpenMiniVersionAuditApplyRequest request = new AlipayOpenMiniVersionAuditApplyRequest(); RegionInfo regionInfo = new RegionInfo { AreaCode = "12345678", AreaName = "测试" }; List <RegionInfo> regionList = new List <RegionInfo> { regionInfo }; request.ServiceRegionInfo = regionList; //when AlipayOpenMiniVersionAuditApplyResponse response = client.Execute(request); //then Assert.AreEqual(response.Code, "40006"); }
/// <summary> /// 获取用户信息 /// </summary> /// <param name="identity"></param> /// <param name="properties"></param> /// <param name="tokens"></param> /// <returns></returns> protected override async Task <AuthenticationTicket> CreateTicketAsync([NotNull] ClaimsIdentity identity, [NotNull] AuthenticationProperties properties, [NotNull] OAuthTokenResponse tokens) { var requestUser = new AlipayUserInfoShareRequest(); var userinfoShareResponse = _alipayClient.Execute(requestUser, tokens.AccessToken); if (userinfoShareResponse.IsError) { Logger.LogError("An error occurred while retrieving the user profile: the remote server " + "returned a {Status} response with the following payload: {Headers} {Body}.", /* Status: */ userinfoShareResponse.Code, /* Headers: */ userinfoShareResponse.Msg, /* Body: */ userinfoShareResponse.Body); throw new HttpRequestException("An error occurred while retrieving user information."); } else { var payload = JObject.FromObject(userinfoShareResponse); var principal = new ClaimsPrincipal(identity); var context = new OAuthCreatingTicketContext(principal, properties, Context, Scheme, Options, Backchannel, tokens, payload); context.RunClaimActions(payload); await Options.Events.CreatingTicket(context); return(new AuthenticationTicket(context.Principal, context.Properties, Scheme.Name)); } }
public JsonResult RefundQuery(string tradeno, string alipayTradeNo, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0", Config.SignType, Config.AlipayPublicKey, 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); try { var response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
/// <summary> /// 发起订单退款 /// </summary> /// <param name="refundRequest">退款申请参数</param> /// <returns></returns> public override ApiResultModel <string> RefundPay(RefundBaseRequest refundRequest) { var res = new ApiResultModel <string>() { Code = ApiResultCode.Fail, Message = "fail" }; string total_fee = refundRequest.OrderMoney.ToString("#0.00"); string refund_fee = refundRequest.RefundMoney.ToString("#0.00"); //退款请求 IAopClient client = new DefaultAopClient(AliPayConfig.gatewayUrl, AliPayConfig.AppId, AliPayConfig.privatekey, "json", "1.0", AliPayConfig.sign_type, AliPayConfig.alipublickey, AliPayConfig.charset, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); AlipayTradeRefundModel alipayModel = new AlipayTradeRefundModel() { OutTradeNo = refundRequest.OrderCode, TradeNo = refundRequest.TradeNo, RefundAmount = refund_fee, RefundReason = "用户申请退款", }; request.SetBizModel(alipayModel); AlipayTradeRefundResponse response = client.Execute(request); //2.2、记录请求日志 //记录支付宝退款调用的日志 //WritePostThirdApi(ThirdPlatformBusinessType.Payment, orderRefund.OrderCode, ThirdPlatformType.Alipay, AliPayConfig.gatewayUrl, request.BizContent, DateTime.Now, response.Body, DateTime.Now, true); if (response.Code != "10000") { res.Message = response.Msg; return(res); } res.Code = ApiResultCode.Success; res.Message = "ok"; return(res); }
public ActionResult GetFileTest() { IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", "2016101300673467", "MIIEogIBAAKCAQEAgV46jh5KmqbMbOFuFBQxnN6f0OngDpSr+Jkphwd7L6zC7N4yB0vF3EoLj/ahrgCEwTFy6oJz+tRif0hlt41KSMJCgJhiM/axrzyzDL7kGF0/ISwy5fZec8n5TGoS5cwNQ5koPO+ZsqGWd8rB7xIgpZ12APCwghUT1yDvxrAUEj78KBUhZfZTxRPZI5coat/fnVkC0EUR1DNzRjps3mDjleLb4g9fRgAxr/y8aUViOcnDZajZyA9RqZtRPWJOk80+rDGXV2/Z7r0EFokDe448PiV0bOK4Ggmmz+ADAsOvrZoGVUcfqo+1jr0KLOOSKdp9Bs6ft84tO3QMGMgFOqH8vwIDAQABAoIBABWd8DzlNOQosQoUlTdHtI6Y6K2ZFvZ4w0+0ECtfBaeOv7ei3Us4zyQjP1FcDeIsdgJuR9yF1el46ciJCW4lbt8/jqs8S1SRiVlV1DlyAF1N34mkgBDLHTdN7ZlmNCgv85tzETU1eEJQG/uCZuuS5N+nsxsvHN9vtDQDbe2OaJwvqmgxjqHvCLbP9v9U41aGyCveYFmnfEM/+2xufRMt9BzpE867ujmFOKyfqRj8fRHER2dlAGpLz9G2gOL5Eo0ve8KVxfFU3U93HRMCp6Yso0haM7nE0aNgYgl+gWMK+WdPOe/6f5MLVRyn9ePJWt2BIeEq2moZuuosE7B/QDID4PkCgYEA2Hqw4QU6/Z/u4Wl7cwgkdBTtZyGpXwCwjsnrFBqKHlJUowyl9HRqG1o7mqbGhS3iOc2UHA+BhNpRxYy0nl4vQUYzWWfkhq/PvYnuD2TzB3ybGd04iu/mY8hzM9VlsT4ojA3uL3QkO6I1pkLh9OyFglctvIs8KDJo4TP7a5T/6UUCgYEAmPxWCttT7O3vjlZQqjOr854l5Kn1xYKxF8PGaqfzHq79vHkhfNYiY/8cqKcJlJh8F+uG5Q6lRIiihwDuo+45MKmKL9ZHQpgBk9SKztpbflK/BR6UAXH/aloMr7j3IBFoJP7AiBpMtWsW6VTtJOwS9DoehkCN4bEZniDVF9o6tDMCgYBxA6xv7TEc02/8kfr21NtjFsHRw4sOo+eIw/VL64cLyWOSM7o34sa6POM9G7AsOwYNszuNYrL1Tpy+C3UH8Jeu9h08obZ2cjZ79xQnSUZvNCgs2ob4UcHveehauR975r14UJV2hKWd1FM511TrbsdMgoLIGdBwE9EZMPAi/AiWGQKBgHyNE9AK+KzwmhQcGdg38UqJ+vfLl5iR6nQao7O5wKm+dj23sJfeDmmzDTYRqC8eZglja5OY9NxzET8wdxlnnZAMt8Byh9mjv8UHSWtXQx35aCNW3dC/at6/KYz23dtx0IQuE7m7D7Cz2xdkWR2yRUwo9Sj/7YNNmDmxKUweE6UZAoGAPAkO10ddoGpNZ1VsIQPfYx/zn9UpIvax9HDkMYkAxMQdmG3h/yLH3x4c6QkytQE2VcLafQRAKc9il9WlgzUoOrzvO3W95XIck5dq16Re5ZZJCzc4jYnUmJ79AG0gJ3GDRBRWFpp/AxJWlMx7nMyNchj9kGQghgdVehWdV/eHmGM=", "json", "1.0", "RSA2", "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4PO7TRZraDCfHVc+xh6xO3pqthcju3GEd/V0bI+v+GU7BWjdNfQhZmqgCVmGFERf8CQFtX5IQk1+FlH3kwimwyl/TM0R+GwJxl8mIkBn6OSCR+WLMfhiYR9J/vCmUlzur9ByB2VuQk/QWAKFMsVUwhUaWNPWxCEN4nBlmgiss8vDgm+npNBfUJoiT/d/0SW2/jJEzFNWjT0P+MB/BKFCXHlW+2eU12uUZHblZ2yw0pDVnP6jUVd5Y4wrtb4TKrLWxgnCaiki4AsuD9AjTMD4kQ33+Dln9JYCyEyhLRDLWldJs9dw+arL95IkUzvfhAf1CWZo0TYBwlBUom6wmzFbewIDAQAB", "GBK", false); //"2019082766434970", // "MIIEpQIBAAKCAQEAsdm9hrmwgGt3FsiUFDr4wZMWMxLXt5mvJUNBMJacYyxbkCkXu+PNk+1ItN6EFdbIjoqLRlKXT4nGZmcSs7RhbWlDSG4Qd/PaAVZmtjEKiNEwCBIoQ2LyhCGuD5c6bA2K1e/HkgEhXnHPDlCJXf0BrkavPaOHYxG3iCQEXRDxGfDjaK3DSu1vPLEqxsMqPDieTDc81pXGQZeH7cW5iGIo4gX0ac+Bmc9vRz5uUbsfkitTvyx49tO9ROGp5XhlrmqMuslFbYpvx8KNcCr+eVVcaHPOpUXRCHXECBpF+jD0ZvMRg5f43dTaOiXtSdMayfeV2BVSN5vkPYUoNPp8amoVFQIDAQABAoIBAATWrrBWpvWndtL43AZ84D2r+cOj9Jh7Jue1n7Vps5GDKG6Qn6Ot++7VWtAI6cEKWeR+4nEkWBeC4RHyJfEbrDbk0T7MN8h7que0aRD13pqATnU5wTysGXr8y5aC/8TmzWsqndxcCYNfR0nVaRdUhdIu/B+KLmnElqCukivSBS02c9o39nNY2WsxTVabKUaoso7IBmM8dFdEBY7AjlEJQfPBUQldTllm8uRXcKItaHh7/WYQ4MeAf1612eao5LKVR9N+XkDEIz+wys48W58bT/McruvIPjLI3S6MLG6loo34czH7YDbLLtarAUaPGs6YFTRXE2s0+eNrCWHRRrMdmAECgYEA7tmsESQwaEOhu4xPYK4qYqVFVSV8Ve2NP6hvr9fQBlgilshBpVwR0MX41TlFG76qdkBSStky333AoNIf2OzjpZNBA0rAVfnHY3tqJwzeJfsOYUmniY6nepBdorgh94b8DdaeurEre7vwqvFMTBGwmDsR4oIOidY49UiSQ8d+ggECgYEAvp7Tp6ApmyO+PI7yujfE1VsNTeHLiVnf87xYnMW87EOjyl2XqiycspBxiVtcy7PZnQVYaFqcAMf1cYb0ti6BiCNXMOMg0eWFpUknYHllsB7pXu7n8Aheu0QkKRlFzkTBlFcs5yRG7V/vfP0DPL53jI54xj8LHS69FIF9ikazaxUCgYEA7hpogZ4F86qYLBKvfr2g2z3OZBc+X5q0WGVdEXqekfSCZrWzW1jxGaKBcG3rCsGDxOZSIvNq14jQ4oEV5nYgagrloJaALjUWI4IATHVzb4Fa0HlQXryrEG+iKHhOxCb4VgNBsPK1Wl/8hyyM1rg7x0X7ikYEoDvCBCMYTCEvaAECgYEAsaCzPoqi+qxOA4R5b0m0o9RbC24TCoSzih7CvCQPLmLBaDvarnsv8b1j70kxqaiIaienAGce5CNw9j96HaIslj3IbAfad31YEnOeu+mj9oB3mz0o6KYEEKEoyRuBzvqHIMIzV5iYd25kbqYetCYQpOvGY4YvxxvcmhUodQf4/RkCgYEA2SM3mgOz+jaBs96JVtTeLeEFIaKmnceD8u+wuuVfulY2aDDkEwYPfHXBqu4EqZjpcDg2l2EBsLRy7Ot7K2EaGJV0s7H1AP/13kziKCl9WwDoDg4Dk7ZRzj378YFehX4b9T3SQ36WMkgFHB9zOcRP5Rf7HO4inN6UqILHSTuTOY4=", // "json", // "1.0", 2088631146114221 // "RSA2", // "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA05z4aIvz0V9DyE/YS72CuCVbb9ncn5EJHGijdQ+qokDXR1e0SNIbZeitNKUL1bfqapjYIDIPON49VHtPFBWz2osSITsv9+lIQUhb/nBvTAhLL2Yebx6/NPC3a+meqm5e53Fu8W6WYvpQGI7zcGMiJaDs19xZHyTGJf0dTVn7+r2/XWA37801W8rADnikIyKm4gu1AiWWtpuVy+bimc6fcFq5dHOnHGlcK+kx+Bm4yRN3aDE8kG2EszLV850KaZwvHlUGdiW3mVixpfbQJV8ei2n0HIwLVGVvt1hjwNGgvrNAuBBc2ACAkk45gg77+pTiHR1XzxyjiXEelGUfFN09wQIDAQAB", // "GBK", false); AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); request.BizContent = "{" + "\"out_trade_no\":\"201523423420101001\"," + "\"seller_id\":\"2088102179325219\"," + "\"total_amount\":0.1," + "\"subject\":\"Iphone6 16G\"," + "\"timeout_express\":\"90m\"," + "\"qr_code_timeout_express\":\"90m\"" + " }"; AlipayTradePrecreateResponse response = client.Execute(request); ViewBag.Src = response.QrCode; return(File(QrCodeHelper.GenQrCode(response.QrCode, 200).ToArray(), @"image/jpeg")); }
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.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; } }
/// <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; } }
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)); }
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 JsonResult Refund(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0", Config.SignType, Config.AlipayPublicKey, 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); try { var response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
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); } }
public static alipay_menu_create_response CreateMenu(string app_id, m_Alipay_Menu menu) { 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); AlipayOpenPublicMenuCreateRequest request = new AlipayOpenPublicMenuCreateRequest(); //request.BizContent = "{" + //" \"button\":[{" + //" \"name\":\"最新优惠\"," + //"\"action_type\":\"link\"," + //"\"action_param\":\"http://m.alipay.com\"," + //"\"icon\":\"http://xxxx/test.jpg\"," + //" \"sub_button\":[{" + //" \"name\":\"流量查询\"," + //"\"action_type\":\"link\"," + //"\"action_param\":\"http://m.alipay.com\"," + //"\"icon\":\"http://example.com/test.jpg\"" + //" }]" + //" }]," + //"\"type\":\"icon\"" + //" }"; request.BizContent = JsonConvert.SerializeObject(menu); AlipayOpenPublicMenuCreateResponse response = client.Execute(request); var rsp = JsonConvert.DeserializeObject <alipay_menu_create_response>(response.Body); if (null == rsp) { return(null); } else { return(rsp); } }
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); } }
/// <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); } }
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; } }
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)); }