/// <summary> /// /// </summary> /// <param name="itemInfo"></param> public static void InitDistribution(Model.Finance.Withdraw itemInfo) { var info = new WithdrawSuppTranLog { trade_no = BLL.Finance.WithdrawSuppTranLog.Instance.GenerateOrderId(), mode = 1, settledId = itemInfo.ID, withdrawNo = itemInfo.Tranno, batchNo = 1, userid = itemInfo.Userid, balance = 0M, suppid = itemInfo.SuppId, bankCode = itemInfo.PayeeBank, bankName = BLL.Withdraw.ChannelWithdraw.GetSettleBankName(itemInfo.PayeeBank), bankBranch = itemInfo.Payeeaddress, bankAccountName = itemInfo.PayeeName, bankAccount = itemInfo.Account, amount = itemInfo.Amount - itemInfo.Charges, charges = itemInfo.Charges, ext1 = itemInfo.AccoutType.ToString(CultureInfo.InvariantCulture), ext2 = itemInfo.BankProvince, ext3 = itemInfo.BankCity, balance2 = 0, status = 1 }; int id = BLL.Finance.WithdrawSuppTranLog.Instance.Add(info); if (id > 0) { ReqDistribution(info); } }
/// <summary> /// /// </summary> /// <param name="info"></param> public static void ReqDistribution(WithdrawSuppTranLog info) { bool result = false; switch (info.suppid) { case 101: { var alipay = new Alipay.BatchPay(); result = alipay.PayReq(info); } break; } }
/// <summary> /// /// </summary> /// <param name="info"></param> /// <returns></returns> public bool PayReq(WithdrawSuppTranLog info) { ////////////////////////////////////////////请求参数//////////////////////////////////////////// //服务器异步通知页面路径 string notify_url = NotifyUrl; //需http://格式的完整路径,不允许加?id=123这类自定义参数 //付款账号 string email = SuppUserName; //必填 //付款账户名 string account_name = SuppInfo.puserid1; //必填,个人支付宝账号是真实姓名公司支付宝账号是公司名称 //付款当天日期 string pay_date = DateTime.Now.ToString("yyyyMMdd"); //必填,格式:年[4位]月[2位]日[2位],如:20100801 //批次号 string batch_no = info.trade_no; //必填,格式:当天日期[8位]+序列号[3至16位],如:201008010000001 //付款总金额 string batch_fee = info.amount.ToString("f2"); //必填,即参数detail_data的值中所有金额的总和 //付款笔数 string batch_num = "1"; //必填,即参数detail_data的值中,“|”字符出现的数量加1,最大支持1000笔(即“|”字符出现的数量999个) //付款详细数据 string detail_data = string.Format("{0}^{1}^{2}^{3:f2}^7uka" , info.trade_no , info.bankAccount , info.bankAccountName , info.amount); //必填,格式:流水号1^收款方帐号1^真实姓名^付款金额1^备注说明1|流水号2^收款方帐号2^真实姓名^付款金额2^备注说明2.... //////////////////////////////////////////////////////////////////////////////////////////////// //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("partner", Config.Partner); sParaTemp.Add("_input_charset", Config.Input_charset.ToLower()); sParaTemp.Add("service", "batch_trans_notify"); sParaTemp.Add("notify_url", notify_url); sParaTemp.Add("email", email); sParaTemp.Add("account_name", account_name); sParaTemp.Add("pay_date", pay_date); sParaTemp.Add("batch_no", batch_no); sParaTemp.Add("batch_fee", batch_fee); sParaTemp.Add("batch_num", batch_num); sParaTemp.Add("detail_data", detail_data); //建立请求 string retText = Submit.BuildRequest(sParaTemp); info.supp_message = retText; LogWrite("retText=>" + retText); return(retText.Contains("批量付款提交成功")); }