using System; using System.Collections.Generic; using BasePaySdk; using BasePaySdk.Request; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace BasePayDemo { /** * 修改子账户配置(2022) - 示例 * * @author sdk-generator * @Description */ public class V2MerchantSettleModifyRequestDemo { public static void V2MerchantSettleModifyRequestDemoTest() { // 1. 数据初始化 InitMerConfig.init(); // 2.组装请求参数 V2MerchantSettleModifyRequest request = new V2MerchantSettleModifyRequest(); // 请求流水号 request.setReqSeqId(DateTime.Now.ToString("yyy-MM-dd HH.mm.ss.fff")); // 请求日期 request.setReqDate(DateTime.Now.ToString("yyyyMMdd")); // 商户/用户汇付Id request.setHuifuId("6666000106071234"); // 上级汇付Id request.setUpperHuifuId("6666000106065087"); // 子账户号 request.setAcctId("C01571234"); // 设置非必填字段 Dictionary extendInfoMap = getExtendInfos(); request.setExtendInfo(extendInfoMap); try { // 3. 发起API调用 // 调用接口,使用默认商户配置时可省略配置key Dictionary result = null; result = BasePayClient.postRequest(request,null); // 使用指定配置调用接口 // result = BasePayClient.postRequest(request,null,"merchantKey2"); Console.WriteLine(JsonConvert.SerializeObject(result)); } catch (Exception ex) { Console.WriteLine(ex); } } /** * 非必填字段 * @return */ private static Dictionary getExtendInfos() { // 设置非必填字段 Dictionary extendInfoMap = new Dictionary(); // 结算卡信息配置 extendInfoMap.Add("card_info", getCardInfo()); // 结算规则配置 extendInfoMap.Add("settle_config", getSettleConfig()); // 异步请求地址 extendInfoMap.Add("async_return_url", ""); // 汇总结算配置实体 // extendInfoMap.Add("collection_settle_config", getCollectionSettleConfig()); return extendInfoMap; } private static string getCardInfo() { Dictionary obj = new Dictionary(); // 结算账户类型 obj.Add("card_type", "0"); // 结算账户名 obj.Add("card_name", "张三"); // 结算账号 obj.Add("card_no", "6225682141111111111"); // 银行所在省 obj.Add("prov_id", "310000"); // 银行所在市 obj.Add("area_id", "310100"); // 银行编号参考: [银行编码](https://paas.huifu.com/open/doc/api/#/csfl/api_csfl_yhbm) ; <font color="green">示例值:01020000 </font> <br/>当card_type=0时必填, 当card_type=1或2时非必填 obj.Add("bank_code", "01030000"); // 联行号参考:[银行支行编码](https://paas.huifu.com/open/doc/api/#/csfl/api_csfl_yhzhbm) 当card_type=0时必填, 当card_type=1或2时非必填 <br/><font color="green">示例值:102290026507</font> obj.Add("branch_code", "103290040169"); // 支行名称开户支行名称。 当card_type=0时必填, 当card_type=1或2时非必填; <br/><font color="green">示例值:中国工商银行上海市中山北路支行</font> obj.Add("branch_name", "中国农业银行股份有限公司XXX支行"); // 持卡人证件类型参见《[自然人证件类型](https://paas.huifu.com/open/doc/api/#/api_ggcsbm?id=%e8%87%aa%e7%84%b6%e4%ba%ba%e8%af%81%e4%bb%b6%e7%b1%bb%e5%9e%8b)》 当card_type=0时为空, 当card_type=1或2时必填;<font color="green">示例值:00</font> obj.Add("cert_type", "00"); // 持卡人证件有效期截止日期日期格式:yyyyMMdd,以北京时间为准。<font color="green">示例值:20220125</font>,当cert_validity_type=0时必填;当cert_validity_type=1时为空 obj.Add("cert_end_date", "20221212"); // 持卡人证件号码 obj.Add("cert_no", "220105198806082098"); // 持卡人证件有效期类型 obj.Add("cert_validity_type", "0"); // 持卡人证件有效期开始 obj.Add("cert_begin_date", "20220101"); // 结算人手机号 obj.Add("mp", "17521216927"); return JsonConvert.SerializeObject(obj); } private static string getSettleConfig() { Dictionary obj = new Dictionary(); // 状态 obj.Add("settle_status", "0"); // 结算周期 obj.Add("settle_cycle", "D1"); // 结算手续费外扣商户号填写承担手续费的汇付商户号;当out_settle_flag=1时必填,否则非必填;<font color="green">示例值:6666000123123123</font> obj.Add("out_settle_huifuid", "6666000106071234"); // 起结金额 obj.Add("min_amt", "1"); // 留存金额 obj.Add("remained_amt", "2"); // 结算摘要 obj.Add("settle_abstract", "abstract"); // 手续费外扣标记 obj.Add("out_settle_flag", "1"); // 结算手续费外扣账户类型 obj.Add("out_settle_acct_type", "01"); // 节假日结算手续费率(%) obj.Add("fixed_ratio", "66.88"); // 结算方式 obj.Add("settle_pattern", "P0"); // 结算批次号 obj.Add("settle_batch_no", "0"); // 是否优先到账 obj.Add("is_priority_receipt", "N"); // 自定义结算处理时间 obj.Add("settle_time", "211221"); // 节假日结算手续费固定金额(元) obj.Add("constant_amt", "66.99"); // 卡序列号 obj.Add("token_no", ""); return JsonConvert.SerializeObject(obj); } private static string getCollectionSettleConfig() { Dictionary obj = new Dictionary(); // 归集留存金(元) // obj.Add("out_resv_amt", "test"); // 转入账户 // obj.Add("in_acct_id", "test"); // 转入商户号 // obj.Add("in_huifu_id", "test"); // 生效日期 // obj.Add("valid_date", "test"); // 功能开关 // obj.Add("switch_state", ""); // 转出账户 // obj.Add("out_acct_id", ""); return JsonConvert.SerializeObject(obj); } } }