V2MerchantBusiRealnameRequestDemo.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. * 微信实名认证 - 示例
  11. *
  12. * @author sdk-generator
  13. * @Description
  14. */
  15. public class V2MerchantBusiRealnameRequestDemo
  16. {
  17. public static void V2MerchantBusiRealnameRequestDemoTest()
  18. {
  19. // 1. 数据初始化
  20. InitMerConfig.init();
  21. // 2.组装请求参数
  22. V2MerchantBusiRealnameRequest request = new V2MerchantBusiRealnameRequest();
  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("6666000104854510");
  29. // 联系人姓名
  30. request.setName("小枫");
  31. // 联系人手机号
  32. request.setMobile("17521205027");
  33. // 联系人身份证号码
  34. request.setIdCardNumber("130224198806083798");
  35. // 联系人类型
  36. request.setContactType("SUPER");
  37. // 设置非必填字段
  38. Dictionary<string, object> extendInfoMap = getExtendInfos();
  39. request.setExtendInfo(extendInfoMap);
  40. try {
  41. // 3. 发起API调用
  42. // 调用接口,使用默认商户配置时可省略配置key
  43. Dictionary<string, Object> result = null;
  44. result = BasePayClient.postRequest(request,null);
  45. // 使用指定配置调用接口
  46. // result = BasePayClient.postRequest(request,null,"merchantKey2");
  47. Console.WriteLine(JsonConvert.SerializeObject(result));
  48. }
  49. catch (Exception ex) {
  50. Console.WriteLine(ex);
  51. }
  52. }
  53. /**
  54. * 非必填字段
  55. * @return
  56. */
  57. private static Dictionary<string, object> getExtendInfos() {
  58. // 设置非必填字段
  59. Dictionary<string, object> extendInfoMap = new Dictionary<string, object>();
  60. // 子渠道号
  61. extendInfoMap.Add("pay_channel_id", "JP00001");
  62. // 支付场景
  63. extendInfoMap.Add("pay_scene", "01");
  64. // 经营者/法人是否为受益人
  65. extendInfoMap.Add("owner", "N");
  66. // 法人证件居住地址
  67. extendInfoMap.Add("identification_address", "上海市徐汇区宜山路789号789室");
  68. // 受益人信息
  69. extendInfoMap.Add("ubo_info_list", getUboInfoList());
  70. // 联系人证件类型
  71. extendInfoMap.Add("contact_id_doc_type", "01");
  72. // 联系人证件有效期开始时间
  73. extendInfoMap.Add("contact_period_begin", "1990-03-07");
  74. // 联系人证件有效期结束时间
  75. extendInfoMap.Add("contact_period_end", "长期");
  76. // 证书类型
  77. extendInfoMap.Add("cert_type", "CERTIFICATE_TYPE_2389");
  78. // 证书编号
  79. extendInfoMap.Add("cert_number", "1234567892");
  80. // 证书照片
  81. extendInfoMap.Add("cert_copy", "");
  82. // 小微经营类型
  83. extendInfoMap.Add("micro_biz_type", "");
  84. // 门店名称
  85. extendInfoMap.Add("store_name", "");
  86. // 门店门头照片
  87. extendInfoMap.Add("store_header_copy", "");
  88. // 店内环境照片
  89. extendInfoMap.Add("store_indoor_copy", "");
  90. // 门店省市编码
  91. extendInfoMap.Add("store_address_code", "");
  92. // 门店地址
  93. extendInfoMap.Add("store_address", "");
  94. // 身份证件正面照片
  95. extendInfoMap.Add("identification_front_copy", "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4");
  96. // 身份证件反面照片
  97. extendInfoMap.Add("identification_back_copy", "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4");
  98. // 单位证明函照片
  99. extendInfoMap.Add("company_prove_copy", "");
  100. // 是否金融机构
  101. extendInfoMap.Add("finance_institution_flag", "N");
  102. // 金融机构类型
  103. extendInfoMap.Add("finance_type", "");
  104. // 特殊行业Id
  105. extendInfoMap.Add("category_id", "");
  106. // 文件列表
  107. extendInfoMap.Add("special_file_info_list", getSpecialFileInfoList());
  108. return extendInfoMap;
  109. }
  110. private static string getUboInfoList() {
  111. Dictionary<string, object> obj = new Dictionary<string, object>();
  112. // 受益人证件类型
  113. obj.Add("ubo_id_doc_type", "00");
  114. // 证件正面照片
  115. obj.Add("ubo_id_doc_copy", "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4");
  116. // 受益人证件姓名
  117. obj.Add("ubo_id_doc_name", "杨雷");
  118. // 受益人证件号码
  119. obj.Add("ubo_id_doc_number", "110101199003072631");
  120. // 证件居住地址
  121. obj.Add("ubo_id_doc_address", "上海市徐汇区宜山路789号");
  122. // 证件有效期开始时间
  123. obj.Add("ubo_period_begin", "19900307");
  124. // 证件有效期结束时间
  125. obj.Add("ubo_period_end", "长期");
  126. // 证件反面照片
  127. obj.Add("ubo_id_doc_copy_back", "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4");
  128. JArray objList = new JArray();
  129. objList.Add(JToken.FromObject(obj));
  130. return JsonConvert.SerializeObject(objList);
  131. }
  132. private static string getSpecialFileInfoList() {
  133. Dictionary<string, object> obj = new Dictionary<string, object>();
  134. // 文件类型
  135. obj.Add("file_type", "F33");
  136. // 文件jfileID
  137. obj.Add("file_id", "49ac7d9b-851c-31b4-8b21-2983ea97b98c");
  138. JArray objList = new JArray();
  139. objList.Add(JToken.FromObject(obj));
  140. return JsonConvert.SerializeObject(objList);
  141. }
  142. }
  143. }