/// <summary>
        /// 生成支付参数
        /// </summary>
        /// <param name="user_id">用户ID</param>
        /// <param name="PackageType">套餐ID  1初级代理  2高级代理  3升级代理</param>
        /// <returns></returns>
        // GET: A_Pay
        public ActionResult GeneralPayParam(int user_id, int TemplateID)
        {
            try
            {
                string appid = CheckAPPID();

                if (TemplateID <= 0)
                {
                    return(Fail("套餐信息异常!"));
                }
                dm_alipay_templateEntity dm_Alipay_TemplateEntity = dM_Alipay_TemplateIBLL.GetEntityByCache(TemplateID, appid);
                if (dm_Alipay_TemplateEntity.IsEmpty())
                {
                    return(Fail("套餐信息异常!"));
                }

                dm_basesettingEntity dm_BasesettingEntity = dM_BaseSettingIBLL.GetEntityByCache(appid);
                if (dm_BasesettingEntity == null)
                {
                    return(Fail("基础配置获取失败!"));
                }

                string     out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssfff") + user_id.ToString().PadLeft(6, '0');
                IAopClient client       = new DefaultAopClient("https://openapi.alipay.com/gateway.do", dm_BasesettingEntity.alipay_appid, dm_BasesettingEntity.merchant_private_key, "json", "1.0", "RSA2", "utf-8", false, AliPayHelper.GetCertParams(dm_BasesettingEntity.alipay_appid, base.Server));
                //IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", dm_BasesettingEntity.alipay_appid, dm_BasesettingEntity.merchant_private_key, "json", "1.0", "RSA2", dm_BasesettingEntity.alipay_public_key, "GBK", false);
                AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
                request.SetNotifyUrl(dm_BasesettingEntity.alipay_notifyurl);
                request.SetReturnUrl(dm_BasesettingEntity.alipay_notifyurl);

                request.BizContent = GetBizContent1(user_id, TemplateID, dm_Alipay_TemplateEntity.name, dm_Alipay_TemplateEntity.finishprice, out_trade_no);
                AlipayTradeAppPayResponse response = client.SdkExecute(request);

                dm_alipay_recordEntity dm_Alipay_RecordEntity = new dm_alipay_recordEntity();
                dm_Alipay_RecordEntity.user_id      = user_id;
                dm_Alipay_RecordEntity.total_amount = dm_Alipay_TemplateEntity.finishprice;
                dm_Alipay_RecordEntity.templateid   = TemplateID;
                dm_Alipay_RecordEntity.subject      = dm_Alipay_TemplateEntity.name;
                dm_Alipay_RecordEntity.out_trade_no = out_trade_no;
                dM_Alipay_RecordIBLL.SaveEntity(0, dm_Alipay_RecordEntity);

                return(Success("支付参数获取成功!", new { PayParam = response.Body }));
            }
            catch (Exception ex)
            {
                return(FailException(ex));
            }
        }
        /// <summary>
        /// 生成支付参数
        /// </summary>
        /// <param name="user_id">用户ID</param>
        /// <param name="PackageType">套餐ID  1初级代理  2高级代理  3升级代理</param>
        /// <returns></returns>
        // GET: A_Pay
        public ActionResult GeneralPayParam(int user_id, int TemplateID)
        {
            try
            {
                string appid = CheckAPPID();

                if (TemplateID <= 0)
                {
                    return(Fail("套餐信息异常!"));
                }
                dm_alipay_templateEntity dm_Alipay_TemplateEntity = dM_Alipay_TemplateIBLL.GetEntityByCache(TemplateID, appid);
                if (dm_Alipay_TemplateEntity.IsEmpty())
                {
                    return(Fail("套餐信息异常!"));
                }

                dm_basesettingEntity dm_BasesettingEntity = dM_BaseSettingIBLL.GetEntityByCache(appid);
                if (dm_BasesettingEntity == null)
                {
                    return(Fail("基础配置获取失败!"));
                }

                string     out_trade_no          = DateTime.Now.ToString("yyyyMMddHHmmssfff") + user_id.ToString().PadLeft(6, '0');
                IAopClient client                = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", dm_BasesettingEntity.alipay_appid, dm_BasesettingEntity.merchant_private_key, "json", "1.0", "RSA2", dm_BasesettingEntity.alipay_public_key, "GBK", false);
                AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
                request.SetNotifyUrl(dm_BasesettingEntity.alipay_notifyurl);
                request.SetReturnUrl(dm_BasesettingEntity.alipay_notifyurl);

                request.BizContent = "{" +
                                     "\"timeout_express\":\"90m\"," +
                                     "\"total_amount\":\"" + dm_Alipay_TemplateEntity.finishprice + "\"," +
                                     "\"product_code\":\"QUICK_MSECURITY_PAY\"," +
                                     "\"body\":\"" + dm_Alipay_TemplateEntity.name + "\"," +
                                     "\"subject\":\"" + dm_Alipay_TemplateEntity.name + "\"," +
                                     "\"out_trade_no\":\"" + out_trade_no + "\"," +
                                     "\"time_expire\":\"" + DateTime.Now.AddMinutes(30).ToString("yyyy-MM-dd HH:mm:ss") + "\"," +
                                     "\"goods_type\":\"1\"," +
                                     //"\"promo_params\":\"{\\\"storeIdType\\\":\\\"1\\\"}\"," +
                                     "\"passback_params\":\"" + HttpUtility.UrlEncode(dm_Alipay_TemplateEntity.name) + "\"," +
                                     "\"extend_params\":{" +
                                     "\"sys_service_provider_id\":\"" + user_id + "\"," +
                                     "\"hb_fq_num\":\"3\"," +
                                     "\"hb_fq_seller_percent\":\"100\"," +
                                     "\"industry_reflux_info\":\"{\\\\\\\"scene_code\\\\\\\":\\\\\\\"metro_tradeorder\\\\\\\",\\\\\\\"channel\\\\\\\":\\\\\\\"xxxx\\\\\\\",\\\\\\\"scene_data\\\\\\\":{\\\\\\\"asset_name\\\\\\\":\\\\\\\"ALIPAY\\\\\\\"}}\"," +
                                     "\"card_type\":\"S0JP0000\"" +
                                     "    }," +
                                     "\"merchant_order_no\":\"20201008001\"," +
                                     "\"enable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
                                     "\"store_id\":\"NJ_001\"," +
                                     "\"specified_channel\":\"pcredit\"," +
                                     "\"disable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
                                     "      \"goods_detail\":[{" +
                                     "        \"goods_id\":\"" + TemplateID + "\"," +
                                     "\"alipay_goods_id\":\"20010001\"," +
                                     "\"goods_name\":\"" + dm_Alipay_TemplateEntity.name + "\"," +
                                     "\"quantity\":1," +
                                     "\"price\":2000," +
                                     "\"goods_category\":\"34543238\"," +
                                     "\"categories_tree\":\"124868003|126232002|126252004\"," +
                                     "\"body\":\"" + dm_Alipay_TemplateEntity.name + "\"," +
                                     "\"show_url\":\"http://www.alipay.com/xxx.jpg\"" +
                                     "        }]," +
                                     "\"ext_user_info\":{" +
                                     "\"name\":\"" + dm_Alipay_TemplateEntity.name + "\"," +
                                     "\"mobile\":\"16587658765\"," +
                                     "\"cert_type\":\"IDENTITY_CARD\"," +
                                     "\"cert_no\":\"362334768769238881\"," +
                                     "\"min_age\":\"18\"," +
                                     "\"fix_buyer\":\"F\"," +
                                     "\"need_check_info\":\"F\"" +
                                     "    }," +
                                     "\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\"," +
                                     "\"agreement_sign_params\":{" +
                                     "\"personal_product_code\":\"CYCLE_PAY_AUTH_P\"," +
                                     "\"sign_scene\":\"INDUSTRY|DIGITAL_MEDIA\"," +
                                     "\"external_agreement_no\":\"test20190701\"," +
                                     "\"external_logon_id\":\"13852852877\"," +
                                     "\"access_params\":{" +
                                     "\"channel\":\"ALIPAYAPP\"" +
                                     "      }," +
                                     "\"sub_merchant\":{" +
                                     "\"sub_merchant_id\":\"2088123412341234\"," +
                                     "\"sub_merchant_name\":\"哆来米\"," +
                                     "\"sub_merchant_service_name\":\"能省钱更能赚钱\"," +
                                     "\"sub_merchant_service_description\":\"副业才有未来\"" +
                                     "      }," +
                                     "\"period_rule_params\":{" +
                                     "\"period_type\":\"DAY\"," +
                                     "\"period\":3," +
                                     "\"execute_time\":\"2019-01-23\"," +
                                     "\"single_amount\":10.99," +
                                     "\"total_amount\":600," +
                                     "\"total_payments\":12" +
                                     "      }" +
                                     "    }" +
                                     "  }";
                AlipayTradeAppPayResponse response = client.SdkExecute(request);
                dm_alipay_recordEntity    dm_Alipay_RecordEntity = new dm_alipay_recordEntity();
                dm_Alipay_RecordEntity.user_id      = user_id;
                dm_Alipay_RecordEntity.total_amount = dm_Alipay_TemplateEntity.finishprice;
                dm_Alipay_RecordEntity.templateid   = TemplateID;
                dm_Alipay_RecordEntity.subject      = dm_Alipay_TemplateEntity.name;
                dm_Alipay_RecordEntity.out_trade_no = out_trade_no;
                dM_Alipay_RecordIBLL.SaveEntity(0, dm_Alipay_RecordEntity);

                return(Success("支付参数获取成功!", new { PayParam = response.Body }));
            }
            catch (Exception ex)
            {
                return(FailException(ex));
            }
        }
Esempio n. 3
0
 public ActionResult SaveForm(int keyValue, dm_alipay_templateEntity entity)
 {
     dM_Alipay_TemplateIBLL.SaveEntity(keyValue, entity);
     return(Success("保存成功!"));
 }