コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        /// <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;
            }
        }
コード例 #3
0
        /// <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("批量付款提交成功"));
        }