V2MerchantBusiModifyRequestDemo.cs 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  1. using System;
  2. using System.Collections.Generic;
  3. using BasePaySdk;
  4. using BasePaySdk.Request;
  5. using Newtonsoft.Json;
  6. using Newtonsoft.Json.Linq;
  7. namespace BasePayDemo
  8. {
  9. /**
  10. * 商户业务开通修改(2022) - 示例
  11. *
  12. * @author sdk-generator
  13. * @Description
  14. */
  15. public class V2MerchantBusiModifyRequestDemo
  16. {
  17. public static void V2MerchantBusiModifyRequestDemoTest()
  18. {
  19. // 1. 数据初始化
  20. InitMerConfig.init();
  21. // 2.组装请求参数
  22. V2MerchantBusiModifyRequest request = new V2MerchantBusiModifyRequest();
  23. // 请求流水号
  24. request.setReqSeqId(DateTime.Now.ToString("yyy-MM-dd HH.mm.ss.fff"));
  25. // 请求日期
  26. request.setReqDate(DateTime.Now.ToString("yyyyMMdd"));
  27. // 汇付客户Id
  28. request.setHuifuId("6666000103668046");
  29. // 设置非必填字段
  30. Dictionary<string, object> extendInfoMap = getExtendInfos();
  31. request.setExtendInfo(extendInfoMap);
  32. try {
  33. // 3. 发起API调用
  34. // 调用接口,使用默认商户配置时可省略配置key
  35. Dictionary<string, Object> result = null;
  36. result = BasePayClient.postRequest(request,null);
  37. // 使用指定配置调用接口
  38. // result = BasePayClient.postRequest(request,null,"merchantKey2");
  39. Console.WriteLine(JsonConvert.SerializeObject(result));
  40. }
  41. catch (Exception ex) {
  42. Console.WriteLine(ex);
  43. }
  44. }
  45. /**
  46. * 非必填字段
  47. * @return
  48. */
  49. private static Dictionary<string, object> getExtendInfos() {
  50. // 设置非必填字段
  51. Dictionary<string, object> extendInfoMap = new Dictionary<string, object>();
  52. // 经营简称
  53. extendInfoMap.Add("short_name", "");
  54. // 税务登记证
  55. extendInfoMap.Add("tax_reg_pic", "");
  56. // 公司照片一
  57. extendInfoMap.Add("comp_pic1", "");
  58. // 公司照片二
  59. extendInfoMap.Add("comp_pic2", "");
  60. // 公司照片三
  61. extendInfoMap.Add("comp_pic3", "");
  62. // 法人身份证反面
  63. extendInfoMap.Add("legal_cert_back_pic", "");
  64. // 法人身份证正面
  65. extendInfoMap.Add("legal_cert_front_pic", "");
  66. // 营业执照图片
  67. extendInfoMap.Add("license_pic", "");
  68. // 组织机构代码证
  69. extendInfoMap.Add("org_code_pic", "");
  70. // 开户许可证
  71. extendInfoMap.Add("reg_acct_pic", "");
  72. // 结算卡反面
  73. extendInfoMap.Add("settle_card_back_pic", "");
  74. // 结算卡正面
  75. extendInfoMap.Add("settle_card_front_pic", "");
  76. // 结算人身份证反面
  77. extendInfoMap.Add("settle_cert_back_pic", "");
  78. // 结算人身份证正面
  79. extendInfoMap.Add("settle_cert_front_pic", "");
  80. // 授权委托书
  81. extendInfoMap.Add("auth_enturst_pic", "http://192.168.85.157:30031/sspm/testVirgo");
  82. // 协议信息实体
  83. extendInfoMap.Add("agreement_info", getAgreementInfo());
  84. // 是否交易手续费外扣
  85. extendInfoMap.Add("out_fee_flag", "2");
  86. // 交易手续费外扣汇付ID
  87. extendInfoMap.Add("out_fee_huifuid", "");
  88. // 交易手续费外扣时的账户类型
  89. extendInfoMap.Add("out_fee_acct_type", "");
  90. // 是否开通网银
  91. extendInfoMap.Add("online_flag", "");
  92. // 是否开通快捷
  93. extendInfoMap.Add("quick_flag", "");
  94. // 是否开通代扣
  95. extendInfoMap.Add("withhold_flag", "");
  96. // 延迟入账开关
  97. extendInfoMap.Add("delay_flag", "Y");
  98. // 开通支付宝预授权
  99. extendInfoMap.Add("alipay_pre_auth_flag", "Y");
  100. // 开通微信预授权
  101. // extendInfoMap.Add("wechatpay_pre_auth_flag", "");
  102. // 商户业务类型
  103. // extendInfoMap.Add("mer_bus_type", "");
  104. // 线上费率配置
  105. // extendInfoMap.Add("online_fee_conf_list", getOnlineFeeConfList());
  106. // 支付宝配置对象
  107. extendInfoMap.Add("ali_conf_list", getAliConfList());
  108. // 微信配置对象
  109. extendInfoMap.Add("wx_conf_list", getWxConfList());
  110. // 银联二维码配置对象
  111. extendInfoMap.Add("union_conf_list", getUnionConfList());
  112. // 银行卡支付配置信息
  113. extendInfoMap.Add("bank_card_conf", getBankCardConf());
  114. // 余额支付配置对象
  115. extendInfoMap.Add("balance_pay_config", getBalancePayConfig());
  116. // 补贴支付
  117. extendInfoMap.Add("combine_pay_config", getCombinePayConfig());
  118. // 线上手续费承担方配置
  119. // extendInfoMap.Add("online_pay_fee_conf_list", getOnlinePayFeeConfList());
  120. // 银行大额转账对象
  121. // extendInfoMap.Add("bank_big_amt_pay_config", getBankBigAmtPayConfig());
  122. // 全域资金管理配置
  123. // extendInfoMap.Add("out_order_funds_config", getOutOrderFundsConfig());
  124. // 汇总结算配置实体
  125. // extendInfoMap.Add("collection_settle_config_list", getCollectionSettleConfigList());
  126. // 微信直连配置对象
  127. // extendInfoMap.Add("wx_zl_conf", getWxZlConf());
  128. // 异步消息接收地址
  129. extendInfoMap.Add("async_return_url", "http://www.baidu55.com/");
  130. // 业务开通结果异步消息接收地址
  131. extendInfoMap.Add("busi_async_return_url", "");
  132. // 交易异步应答地址
  133. extendInfoMap.Add("recon_resp_addr", "http://192.168.85.157:30031/sspm/testVirgo");
  134. // 支付宝直连配置对象
  135. // extendInfoMap.Add("ali_zl_conf", getAliZlConf());
  136. // 开户费用值(元)
  137. // extendInfoMap.Add("enter_fee", "");
  138. // 开户费用类型
  139. // extendInfoMap.Add("enter_fee_flag", "");
  140. return extendInfoMap;
  141. }
  142. private static string getAgreementInfo() {
  143. Dictionary<string, object> obj = new Dictionary<string, object>();
  144. // 协议类型
  145. obj.Add("agreement_type", "0");
  146. // 协议开始日期
  147. obj.Add("agree_begin_date", "20200325");
  148. // 协议结束日期
  149. obj.Add("agree_end_date", "20400325");
  150. // 协议模板号
  151. obj.Add("agreement_model", "202106070100000380");
  152. // 协议模板名称
  153. obj.Add("agreement_name", "电子协议签约模板");
  154. // 协议号
  155. obj.Add("agreement_no", "202106070100000380");
  156. // 签约日期
  157. obj.Add("sign_date", "20200325");
  158. return JsonConvert.SerializeObject(obj);
  159. }
  160. private static string getOnlineFeeConfList() {
  161. Dictionary<string, object> obj = new Dictionary<string, object>();
  162. // 业务类型
  163. // obj.Add("fee_type", "test");
  164. // 银行编码
  165. // obj.Add("bank_id", "test");
  166. // 借贷标志
  167. // obj.Add("dc_flag", "test");
  168. // 费率状态
  169. // obj.Add("stat_flag", "test");
  170. // 手续费(固定/元)
  171. // obj.Add("fix_amt", "");
  172. // 费率(百分比/%)
  173. // obj.Add("fee_rate", "");
  174. // 银行名称
  175. // obj.Add("bank_name", "");
  176. // 银行中文简称
  177. // obj.Add("bank_short_chn", "");
  178. JArray objList = new JArray();
  179. objList.Add(JToken.FromObject(obj));
  180. return JsonConvert.SerializeObject(objList);
  181. }
  182. private static string getAliConfList() {
  183. Dictionary<string, object> obj = new Dictionary<string, object>();
  184. // 手续费(%)
  185. obj.Add("fee_rate", "3.15");
  186. // 支付场景
  187. obj.Add("pay_scene", "1");
  188. // 商户经营类目
  189. obj.Add("mcc", "2016062900190337");
  190. // 子渠道号
  191. obj.Add("pay_channel_id", "10000001");
  192. // 拟申请的间联商户等级
  193. obj.Add("indirect_level", "");
  194. JArray objList = new JArray();
  195. objList.Add(JToken.FromObject(obj));
  196. return JsonConvert.SerializeObject(objList);
  197. }
  198. private static string getWxConfList() {
  199. Dictionary<string, object> obj = new Dictionary<string, object>();
  200. // 手续费(%)
  201. obj.Add("fee_rate", "2.15");
  202. // 支付场景
  203. obj.Add("pay_scene", "10");
  204. // 商户经营类目[参见微信支付宝MCC](https://paas.huifu.com/open/doc/api/#/csfl/api_csfl_zfbmcc);个体工商户、小微商户必填,企业使用fee_rule_id代替原有mcc
  205. obj.Add("mcc", "5943");
  206. // 费率规则ID
  207. obj.Add("fee_rule_id", "765");
  208. // 子渠道号
  209. obj.Add("pay_channel_id", "JP00001");
  210. // 申请服务
  211. obj.Add("service_codes", "");
  212. JArray objList = new JArray();
  213. objList.Add(JToken.FromObject(obj));
  214. return JsonConvert.SerializeObject(objList);
  215. }
  216. private static string getUnionConfList() {
  217. Dictionary<string, object> obj = new Dictionary<string, object>();
  218. // 银联二维码1000以上借记卡费率
  219. obj.Add("debit_fee_rate_up", "6");
  220. // 银联二维码1000以下借记卡费率
  221. obj.Add("debit_fee_rate_down", "2.55");
  222. // 银联二维码1000以下贷记卡费率
  223. obj.Add("credit_fee_rate_down", "1");
  224. // 银联二维码1000以上贷记卡费率
  225. obj.Add("credit_fee_rate_up", "6.566");
  226. // 银行业务手续费类型
  227. obj.Add("charge_cate_code", "");
  228. // 银联二维码1000以上借记卡费率封顶值
  229. obj.Add("debit_fee_limit_up", "641");
  230. // 银联二维码1000以下借记卡费率封顶值
  231. obj.Add("debit_fee_limit_down", "11.3");
  232. JArray objList = new JArray();
  233. objList.Add(JToken.FromObject(obj));
  234. return JsonConvert.SerializeObject(objList);
  235. }
  236. private static string getBankCardConf() {
  237. Dictionary<string, object> obj = new Dictionary<string, object>();
  238. // 借记卡手续费(%)
  239. obj.Add("debit_fee_rate", "3");
  240. // 贷记卡手续费(%)
  241. obj.Add("credit_fee_rate", "6");
  242. // 银行业务手续费类型
  243. obj.Add("charge_cate_code", "02");
  244. // 借记卡封顶值
  245. obj.Add("debit_fee_limit", "5");
  246. // 银联手机闪付借记卡手续费1000以上(%)
  247. obj.Add("cloud_debit_fee_rate_up", "7");
  248. // 银联手机闪付借记卡封顶1000以上(元)
  249. obj.Add("cloud_debit_fee_limit_up", "8.922");
  250. // 银联手机闪付贷记卡手续费1000以上(%)
  251. obj.Add("cloud_credit_fee_rate_up", "4.86");
  252. // 银联手机闪付借记卡手续费1000以下(%)
  253. obj.Add("cloud_debit_fee_rate_down", "0");
  254. // 银联手机闪付借记卡封顶1000以下(元)
  255. obj.Add("cloud_debit_fee_limit_down", "10");
  256. // 银联手机闪付贷记卡手续费1000以下(%)
  257. obj.Add("cloud_credit_fee_rate_down", "2");
  258. // 是否开通小额双免
  259. obj.Add("is_open_small_flag", "0");
  260. // 小额双免单笔限额(元)
  261. obj.Add("small_free_amt", "500");
  262. // 小额双免手续费(%)
  263. obj.Add("small_fee_amt", "1");
  264. return JsonConvert.SerializeObject(obj);
  265. }
  266. private static string getBalancePayConfig() {
  267. Dictionary<string, object> obj = new Dictionary<string, object>();
  268. // 支付手续费(%)
  269. obj.Add("fee_rate", "2");
  270. // 支付固定手续费(元)
  271. obj.Add("fee_fix_amt", "1");
  272. // 费率开关
  273. obj.Add("switch_state", "1");
  274. // 交易手续费外扣时的账户类型
  275. // obj.Add("out_fee_acct_type", "");
  276. // 交易手续费外扣汇付ID
  277. // obj.Add("out_fee_huifuid", "");
  278. // 是否交易手续费外扣
  279. // obj.Add("out_fee_flag", "");
  280. return JsonConvert.SerializeObject(obj);
  281. }
  282. private static string getCombinePayConfig() {
  283. Dictionary<string, object> obj = new Dictionary<string, object>();
  284. // 开通状态
  285. obj.Add("switch_state", "0");
  286. // 支付手续费(%)
  287. obj.Add("fee_rate", "10");
  288. // 支付固定手续费(元)
  289. obj.Add("fee_fix_amt", "5");
  290. // 交易手续费外扣时的账户类型
  291. // obj.Add("out_fee_acct_type", "");
  292. // 交易手续费外扣汇付ID
  293. // obj.Add("out_fee_huifuid", "");
  294. // 是否交易手续费外扣
  295. // obj.Add("out_fee_flag", "");
  296. return JsonConvert.SerializeObject(obj);
  297. }
  298. private static string getOnlinePayFeeConfList() {
  299. Dictionary<string, object> obj = new Dictionary<string, object>();
  300. // 业务类型
  301. // obj.Add("pay_type", "");
  302. // 交易手续费外扣时的账户类型
  303. // obj.Add("out_fee_acct_type", "");
  304. // 交易手续费外扣汇付ID
  305. // obj.Add("out_fee_huifuid", "");
  306. // 是否交易手续费外扣
  307. // obj.Add("out_fee_flag", "");
  308. JArray objList = new JArray();
  309. objList.Add(JToken.FromObject(obj));
  310. return JsonConvert.SerializeObject(objList);
  311. }
  312. private static string getBankBigAmtPayConfig() {
  313. Dictionary<string, object> obj = new Dictionary<string, object>();
  314. // 开关状态
  315. // obj.Add("switch_state", "");
  316. // 大额调账标识申请类型
  317. // obj.Add("biz_type", "");
  318. // 费率(百分比/%)
  319. // obj.Add("fee_rate", "");
  320. // 交易手续费(固定/元)
  321. // obj.Add("fee_fix_amt", "");
  322. // 手续费外扣标记
  323. // obj.Add("out_fee_flag", "");
  324. // 手续费外扣时的汇付ID
  325. // obj.Add("out_fee_huifuid", "");
  326. // 外扣手续费费承担账户号
  327. // obj.Add("out_fee_acct_id", "");
  328. // 银行大额转账单笔额度
  329. // obj.Add("big_amt_limit_per_time", "");
  330. // 银行大额转账单日额度
  331. // obj.Add("big_amt_limit_per_day", "");
  332. return JsonConvert.SerializeObject(obj);
  333. }
  334. private static string getOutOrderAcctCard() {
  335. Dictionary<string, object> obj = new Dictionary<string, object>();
  336. // 结算账户名
  337. // obj.Add("card_name", "test");
  338. // 银行卡号
  339. // obj.Add("card_no", "test");
  340. // 卡类型
  341. // obj.Add("card_type", "test");
  342. // 持卡人证件类型00:身份证;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:00&lt;/font&gt;;card_type为1时选填。
  343. // obj.Add("cert_type", "test");
  344. // 持卡人证件有效期(起始)card_type为1时选填;格式:yyyyMMdd,&lt;font color&#x3D;&quot;green&quot;&gt;示例值:20210830&lt;/font&gt;;&lt;br/&gt;若填写cert_no,cert_validity_type,cert_type需同时填写。
  345. // obj.Add("cert_begin_date", "test");
  346. // 持卡人证件有效期(截止)cert_validity_type变更为0时必填,格式:yyyyMMdd;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:20210830&lt;/font&gt;
  347. // obj.Add("cert_end_date", "test");
  348. // 持卡人证件号码card_type为1时选填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:310112200001018888&lt;/font&gt;;
  349. // obj.Add("cert_no", "test");
  350. // 银行卡绑定手机号
  351. // obj.Add("mp", "test");
  352. // 银行所在省
  353. // obj.Add("prov_id", "");
  354. // 银行所在市
  355. // obj.Add("area_id", "");
  356. // 银行编码
  357. // obj.Add("bank_code", "");
  358. // 支行联行号
  359. // obj.Add("branch_code", "");
  360. // 支行名称
  361. // obj.Add("branch_name", "");
  362. // 持卡人证件有效期类型
  363. // obj.Add("cert_validity_type", "");
  364. // 开户许可证核准号
  365. // obj.Add("open_licence_no", "");
  366. return JsonConvert.SerializeObject(obj);
  367. }
  368. private static string getOutOrderAcctOpenFees() {
  369. Dictionary<string, object> obj = new Dictionary<string, object>();
  370. // 开户手续费(元)
  371. // obj.Add("fee_fix_amt", "test");
  372. // 开户手续费外扣时的账户类型
  373. // obj.Add("out_fee_acct_type", "test");
  374. // 开户手续费外扣汇付ID
  375. // obj.Add("out_fee_huifuid", "test");
  376. return JsonConvert.SerializeObject(obj);
  377. }
  378. private static string getOutOrderFundsConfig() {
  379. Dictionary<string, object> obj = new Dictionary<string, object>();
  380. // 开通状态
  381. // obj.Add("switch_state", "test");
  382. // 自动入账开关
  383. // obj.Add("out_order_auto_acct_flag", "test");
  384. // 批次入账时间10:00-10点批次入账&lt;br/&gt;16:00-16点批次入账&lt;/br&gt;开通批次入账时必填 ,多个批次使用逗号分隔;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:10:00,16:00&lt;/font&gt;
  385. // obj.Add("batch_no", "test");
  386. // 全域资金平台商户ID全域资金平台商户ID,渠道商在银行开通的平台商账号,若为众邦银行则必填,否则不填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:XXXXXXXXX&lt;/font&gt;;
  387. // obj.Add("platform_mer_id", "test");
  388. // 商户与其他支付机构签署的收单协议或证明材料acquiringMode:收单模式时填写;涉及文件类型:F504-(全域资金)商户与其他支付机构签署的收单协议或证明材料;&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:57cc7f00-600a-33ab-b614-6221bbf2e529&lt;/font&gt;
  389. // obj.Add("other_payment_institutions_pic", "test");
  390. // 批量入账开关
  391. // obj.Add("batch_auto_acct_flag", "");
  392. // 支付手续费(%)
  393. // obj.Add("fee_rate", "");
  394. // 手续费最小值(元)
  395. // obj.Add("fee_min_amt", "");
  396. // 交易手续费外扣时的账户类型
  397. // obj.Add("out_fee_acct_type", "");
  398. // 交易手续费外扣标记
  399. // obj.Add("out_fee_flag", "");
  400. // 交易手续费外扣汇付ID
  401. // obj.Add("out_fee_huifuid", "");
  402. // 全域资金开户使用的银行卡信息
  403. // obj.Add("out_order_acct_card", getOutOrderAcctCard());
  404. // 全域资金开户手续费
  405. // obj.Add("out_order_acct_open_fees", getOutOrderAcctOpenFees());
  406. // 全域支付业务模式
  407. // obj.Add("business_model", "");
  408. return JsonConvert.SerializeObject(obj);
  409. }
  410. private static string getCollectionSettleConfigList() {
  411. Dictionary<string, object> obj = new Dictionary<string, object>();
  412. // 归集留存金(元)
  413. // obj.Add("out_resv_amt", "test");
  414. // 转入商户号
  415. // obj.Add("in_huifu_id", "test");
  416. // 转入账户
  417. // obj.Add("in_acct_id", "test");
  418. // 生效日期
  419. // obj.Add("valid_date", "test");
  420. // 功能开关
  421. // obj.Add("switch_state", "");
  422. // 转出账户
  423. // obj.Add("out_acct_id", "");
  424. JArray objList = new JArray();
  425. objList.Add(JToken.FromObject(obj));
  426. return JsonConvert.SerializeObject(objList);
  427. }
  428. private static object getWxZlPayConfList() {
  429. Dictionary<string, object> obj = new Dictionary<string, object>();
  430. // 申请服务
  431. // obj.Add("service_code", "test");
  432. // 功能服务appid
  433. // obj.Add("sub_app_id", "test");
  434. // 功能开关
  435. // obj.Add("switch_state", "test");
  436. // 功能费率(%)
  437. // obj.Add("fee_rate", "test");
  438. JArray objList = new JArray();
  439. objList.Add(JToken.FromObject(obj));
  440. return objList;
  441. }
  442. private static string getFileList() {
  443. Dictionary<string, object> obj = new Dictionary<string, object>();
  444. // 文件类型
  445. // obj.Add("file_type", "test");
  446. // 文件jfileId
  447. // obj.Add("file_id", "test");
  448. JArray objList = new JArray();
  449. objList.Add(JToken.FromObject(obj));
  450. return JsonConvert.SerializeObject(objList);
  451. }
  452. private static string getContactInfo() {
  453. Dictionary<string, object> obj = new Dictionary<string, object>();
  454. // 联系人类型
  455. // obj.Add("contact_type", "test");
  456. // 联系人姓名联系人类型为经办人时必填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:张三&lt;/font&gt;
  457. // obj.Add("contact_name", "test");
  458. // 联系人证件类型联系人类型为经办人时必填;00:身份证01:护照11:港澳台同胞通行证12:外国人居留证13:港澳居民证14:台湾居民证&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:00&lt;/font&gt;;
  459. // obj.Add("cert_type", "test");
  460. // 联系人证件号码联系人类型为经办人时必填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:32090297512026402&lt;/font&gt;
  461. // obj.Add("contact_cert_no", "test");
  462. // 联系人手机号
  463. // obj.Add("contact_mobile_no", "test");
  464. // 联系人电子邮箱
  465. // obj.Add("contact_email", "test");
  466. // 联系人资料联系人类型为经办人时必填F28-联系人身份证国徽面   F29-联系人身份证人像面F227-微信业务办理授权函&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:&lt;/font&gt;
  467. // obj.Add("contact_file_list", getFileList());
  468. // 证件有效期类型
  469. // obj.Add("contact_cert_validity_type", "test");
  470. // 证件有效期开始日期
  471. // obj.Add("contact_cert_begin_date", "test");
  472. // 证件有效期截止日期
  473. // obj.Add("contact_cert_end_date", "");
  474. return JsonConvert.SerializeObject(obj);
  475. }
  476. private static string getCertificateInfo() {
  477. Dictionary<string, object> obj = new Dictionary<string, object>();
  478. // 登记证书类型
  479. // obj.Add("cert_type", "test");
  480. // 证书号
  481. // obj.Add("cert_no", "test");
  482. // 证书商户名称
  483. // obj.Add("cert_mer_name", "test");
  484. // 注册地址
  485. // obj.Add("reg_detail", "test");
  486. // 法人姓名
  487. // obj.Add("legal_name", "test");
  488. // 证书有效期类型
  489. // obj.Add("cert_validity_type", "test");
  490. // 证书有效期开始日期
  491. // obj.Add("cert_begin_date", "test");
  492. // 文件列表
  493. // obj.Add("cert_file_list", getFileList());
  494. // 证书有效期截止日期
  495. // obj.Add("cert_end_date", "");
  496. return JsonConvert.SerializeObject(obj);
  497. }
  498. private static string getUboInfoList() {
  499. Dictionary<string, object> obj = new Dictionary<string, object>();
  500. // 证件类型
  501. // obj.Add("ubo_cert_type", "test");
  502. // 证件号码
  503. // obj.Add("ubo_cert_no", "test");
  504. // 姓名
  505. // obj.Add("ubo_name", "test");
  506. // 受益人证件居住地址
  507. // obj.Add("ubo_cert_doc_address", "test");
  508. // 证件有效类型
  509. // obj.Add("ubo_cert_validity_type", "test");
  510. // 证件有效期开始日期
  511. // obj.Add("ubo_cert_begin_date", "test");
  512. // 文件列表
  513. // obj.Add("ubo_file_list", getFileList());
  514. // 证件有效期截止日期
  515. // obj.Add("ubo_cert_end_date", "");
  516. JArray objList = new JArray();
  517. objList.Add(JToken.FromObject(obj));
  518. return JsonConvert.SerializeObject(objList);
  519. }
  520. private static string getUboInfo() {
  521. Dictionary<string, object> obj = new Dictionary<string, object>();
  522. // 经营者/法人是否为受益人
  523. // obj.Add("ubo_type", "test");
  524. // 受益人信息列表jsonArray格式,当ubo_type为Y时可不填
  525. // obj.Add("ubo_info_list", getUboInfoList());
  526. return JsonConvert.SerializeObject(obj);
  527. }
  528. private static string getSalesInfo() {
  529. Dictionary<string, object> obj = new Dictionary<string, object>();
  530. // 经营场景类型
  531. // obj.Add("sales_scenes_type", "test");
  532. // 功能费率仅支持渠道商传入该字段。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:0.06&lt;/font&gt;平台商户为子商户开通微信直连支付时,不支持该字段,取平台商户费率上送微信。
  533. // obj.Add("fee_rate", "test");
  534. // 线下场所对应的商家公众号APPID开通线下门店场景时,填入。都填入时,取公众号的上送微信。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  535. // obj.Add("biz_sub_jsapi_app_id", "test");
  536. // 线下场所对应的商家小程序APPID开通线下门店场景时,填入。都填入时,取公众号的上送微信。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wxea9c30a90fs8d3fe&lt;/font&gt;
  537. // obj.Add("biz_sub_mini_app_id", "test");
  538. // 服务商公众号 ID开通公众号场景时,直连服务商和商户的公众号 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  539. // obj.Add("jsapi_app_id", "test");
  540. // 商家公众号APPID开通公众号场景时,直连服务商和商户的公众号 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wxea9c30a90fs8d3fe&lt;/font&gt;
  541. // obj.Add("jsapi_sub_app_id", "test");
  542. // 服务商小程序APPID开通小程序场景时,直连服务商和商户的小程序 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  543. // obj.Add("mini_app_id", "test");
  544. // 商家小程序APPID开通小程序场景时,直连服务商和商户的小程序 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  545. // obj.Add("mini_sub_app_id", "test");
  546. // 服务商应用APPID开通 APP 场景时,直连服务商和商户的 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  547. // obj.Add("app_app_id", "test");
  548. // 商家应用APPID开通 APP 场景时,直连服务商和商户的 APP ID,二选一填入。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  549. // obj.Add("app_sub_app_id", "test");
  550. // 互联网网站域名开通互联网场景时填入;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:huifu.com&lt;/font&gt;
  551. // obj.Add("web_domain", "test");
  552. // 互联网网站对应的商家APPID开通互联网场景时填入;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:wx51aa91a575359ff5&lt;/font&gt;
  553. // obj.Add("web_app_id", "test");
  554. // 商家企业微信CorpID开通企业微信场景时填入;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:xxxxx&lt;/font&gt;
  555. // obj.Add("sub_corp_id", "test");
  556. // 文件列表
  557. // obj.Add("sales_scenes_file_list", getFileList());
  558. // 文件列表
  559. // obj.Add("fee_rate_file_list", "");
  560. // 门店名称
  561. // obj.Add("biz_store_name", "");
  562. // 门店省市编码
  563. // obj.Add("biz_address_code", "");
  564. // 门店地址
  565. // obj.Add("biz_store_address", "");
  566. return JsonConvert.SerializeObject(obj);
  567. }
  568. private static string getWxCardInfo() {
  569. Dictionary<string, object> obj = new Dictionary<string, object>();
  570. // 账户类型
  571. // obj.Add("card_type", "test");
  572. // 开户名称
  573. // obj.Add("card_name", "test");
  574. // 开户银行
  575. // obj.Add("bank_code", "test");
  576. // 开户银行省编码
  577. // obj.Add("prov_id", "test");
  578. // 开户银行市编码
  579. // obj.Add("area_id", "test");
  580. // 开户银行联行号开户银行联行号与开户银行全称(含支行)二选一;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:102290026507&lt;/font&gt;
  581. // obj.Add("branch_code", "test");
  582. // 开户银行全称(含支行)开户银行联行号与开户银行全称(含支行)二选一;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:中国工商银行股份有限公司上海市中山北路支行&lt;/font&gt;
  583. // obj.Add("branch_name", "test");
  584. // 银行账号
  585. // obj.Add("card_no", "test");
  586. return JsonConvert.SerializeObject(obj);
  587. }
  588. private static string getWxZlConf() {
  589. Dictionary<string, object> obj = new Dictionary<string, object>();
  590. // 微信子商户号
  591. // obj.Add("sub_mch_id", "test");
  592. // 配置集合
  593. // obj.Add("wx_zl_pay_conf_list", getWxZlPayConfList());
  594. // 操作类型ADD-新增, UPDATE-修改, 默认新增;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:ADD&lt;/font&gt;
  595. // obj.Add("operate_type", "test");
  596. // 联系人信息jsonObject字符串,新增时必填
  597. // obj.Add("contact_info", getContactInfo());
  598. // 特殊主体登记证书jsonObject字符串,商户营业执照类型为政府机关/事业单位/其他组织时,传入相应信息。新增时需填入
  599. // obj.Add("certificate_info", getCertificateInfo());
  600. // 最终受益人信息jsonObject字符串,商户类型为企业时,微信侧必填。(如果基本信息里有的话,可以不传取 huifu_id 对应的信息)。新增时填入
  601. // obj.Add("ubo_info", getUboInfo());
  602. // 经营场景jsonObject字符串,新增时填入
  603. // obj.Add("sales_info", getSalesInfo());
  604. // 银行账户信息jsonObject字符串,该字段不填时,取商户在汇付系统录入的结算账号信息。新增或修改时填入,修改时必填
  605. // obj.Add("wx_card_info", getWxCardInfo());
  606. // 补充说明信息
  607. // obj.Add("business_addition_msg", "");
  608. // 补充说明文件列表
  609. // obj.Add("addition_file_list", getFileList());
  610. return JsonConvert.SerializeObject(obj);
  611. }
  612. private static string getAliZlConf() {
  613. Dictionary<string, object> obj = new Dictionary<string, object>();
  614. // 申请类型
  615. // obj.Add("apply_type", "test");
  616. // 商户支付宝账号
  617. // obj.Add("account", "test");
  618. // 服务费率仅支持渠道商。平台商户调用不支持该字段服务费率(%),0.38~3之间,精确到0.01。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:0.06&lt;/font&gt;
  619. // obj.Add("fee_rate", "test");
  620. // 文件列表
  621. // obj.Add("file_list", getFileList());
  622. // 联系人姓名
  623. // obj.Add("contact_name", "");
  624. // 联系人手机号
  625. // obj.Add("contact_mobile_no", "");
  626. // 联系人电子邮箱
  627. // obj.Add("contact_email", "");
  628. // 订单授权凭证
  629. // obj.Add("order_ticket", "");
  630. // 营业执照编号
  631. // obj.Add("license_code", "");
  632. // 营业执照有效期类型
  633. // obj.Add("license_validity_type", "");
  634. // 营业执照有效期开始日期
  635. // obj.Add("license_begin_date", "");
  636. // 营业执照有效期截止日期
  637. // obj.Add("license_end_date", "");
  638. return JsonConvert.SerializeObject(obj);
  639. }
  640. }
  641. }