public string PayTest(EAliPayApplication app, EStoreInfo store, out AliPayResult status) { 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); _handler = new F2FPayHandler(); EUserInfo ui = new EUserInfo(); ui.Name = "Check Store"; AlipayTradePrecreateResponse builder = _handler.BuildNew(app, store, ui, "1.00"); if (builder.Code == "10000") { status = AliPayResult.SUCCESS; } else { status = AliPayResult.FAILED; } return(builder.Code); }
protected void Page_Load(object sender, EventArgs e) { var type = Request.RequestType.ToUpper(); var result = new AliPayResult() { Status = "FAILED", Msg = "", Body = "" }; if (type.Equals("POST")) { try { var requestStr = ReadStream(Request.InputStream); var logMsg = bool.Parse(ConfigurationManager.AppSettings["LogMsg"].ToString()); if (logMsg) { Logger.Log(requestStr); } var turnOn = bool.Parse(ConfigurationManager.AppSettings["AllowPay"].ToString()); if (turnOn) { if (Config.WapAccounts.Count > 0) { // 外部订单号,商户网站订单系统中唯一的订单号 string out_trade_no = Request.Form["out_trade_no"]; // 订单名称 string subject = Request.Form["subject"]; // 付款金额 string total_amout = Request.Form["total_amout"]; // 商品描述 string body = Request.Form["body"]; // 支付中途退出返回商户网站地址 string quit_url = Request.Form["quit_url"]; // 支付成功回调商户地址 string notify_url = Request.Form["notify_url"]; string key = Request.Form["key"]; var msg = AddNewOrder(out_trade_no, total_amout, subject, body, key); if (string.IsNullOrEmpty(msg)) { var aliAccount = Config.WapAccounts[0]; var alipayPublicKey = string.Format(Config.alipay_public_key, aliAccount.AppName); var alipayPrivateKey = string.Format(Config.merchant_private_key, aliAccount.AppName); DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, aliAccount.AppId, alipayPrivateKey, "json", "1.0", Config.sign_type, alipayPublicKey, Config.charset, true); // 组装业务参数model AlipayTradeWapPayModel model = new AlipayTradeWapPayModel(); model.Body = body; model.Subject = subject; model.TotalAmount = total_amout; model.OutTradeNo = out_trade_no; model.ProductCode = "QUICK_WAP_WAY"; model.QuitUrl = quit_url; AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); // 设置支付完成同步回调地址 // request.SetReturnUrl(""); // 设置支付完成异步通知接收地址 request.SetNotifyUrl("http://139.196.211.10/payapi/Notify_url.aspx"); // 将业务model载入到request request.SetBizModel(model); AlipayTradeWapPayResponse response = client.pageExecute(request, null, "post"); result.Body = response.Body; result.Status = "SUCCESS"; } else { result.Msg = msg; } } else { result.Msg = "无可用通道..."; } } else { result.Msg = "通道维护中..."; } } catch (Exception ex) { Logger.Log("Exception:" + ex.ToString()); result.Msg = "请求支付宝服务遇到异常,请联系客服!"; } } else { result.Msg = "请发送POST请求"; } Response.ContentType = "application/json; charset=utf-8"; Response.Write(JsonConvert.SerializeObject(result)); }
public string PartPayQR(EAliPayApplication app, EUserInfo AgentUi, EStoreInfo storeInfo, string TotalAmount, out AliPayResult status) { string result = ""; /* * IAlipayTradeService serviceClient = F2FBiz.CreateClientInstance(AliPayConfig.serverUrl, AliPayConfig.appId, AliPayConfig.merchant_private_key, AliPayConfig.version, * AliPayConfig.sign_type, AliPayConfig.alipay_public_key, AliPayConfig.charset); */ 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); _handler = new F2FPayHandler(); AlipayTradePrecreateResponse builder = _handler.BuildNew(app, storeInfo, AgentUi, TotalAmount); if (builder.Code == "10000") { result = _handler.CreateF2FQR(builder.QrCode, true); status = AliPayResult.SUCCESS; } else { if (builder.Code == "20001") { status = AliPayResult.AUTHERROR; } else { result = "[Error Message]" + builder.Msg + "[Sub Msg]" + builder.SubMsg; status = AliPayResult.FAILED; } } return(result); }