示例#1
0
		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);
			}
		}
示例#2
0
        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");
            }
        }
示例#3
0
        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);
        }
示例#4
0
        /// <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
            });
示例#5
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);
 }
示例#6
0
        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);
        }
示例#7
0
        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);
        }
示例#8
0
        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"));
        }
示例#9
0
        /// <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;
            }
        }
示例#10
0
        /// <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;
            }
        }
示例#11
0
 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));
 }
示例#12
0
        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));
        }
示例#13
0
        /// <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));
            }
        }
示例#16
0
        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;
            }
        }
示例#17
0
        /// <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);
        }
示例#18
0
        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"));
        }
示例#19
0
        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;
            }
        }
示例#20
0
    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;
        }
    }
示例#21
0
        /// <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));
        }
示例#23
0
        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 }));
        }
示例#24
0
        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;
            }
        }
示例#25
0
        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);
            }
        }
示例#26
0
        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);
            }
        }
示例#27
0
        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);
            }
        }
示例#28
0
        /// <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;
            }
        }
示例#30
0
        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));
        }