V2MerchantBusiAliRealnameApplyRequestDemo.cs 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  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 V2MerchantBusiAliRealnameApplyRequestDemo
  16. {
  17. public static void V2MerchantBusiAliRealnameApplyRequestDemoTest()
  18. {
  19. // 1. 数据初始化
  20. InitMerConfig.init();
  21. // 2.组装请求参数
  22. V2MerchantBusiAliRealnameApplyRequest request = new V2MerchantBusiAliRealnameApplyRequest();
  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("6666000105418240");
  29. // 主体信息
  30. request.setAuthIdentityInfo(getAuthIdentityInfo());
  31. // 联系人信息
  32. request.setContactPersonInfo(getContactPersonInfo());
  33. // 设置非必填字段
  34. Dictionary<string, object> extendInfoMap = getExtendInfos();
  35. request.setExtendInfo(extendInfoMap);
  36. try {
  37. // 3. 发起API调用
  38. // 调用接口,使用默认商户配置时可省略配置key
  39. Dictionary<string, Object> result = null;
  40. result = BasePayClient.postRequest(request,null);
  41. // 使用指定配置调用接口
  42. // result = BasePayClient.postRequest(request,null,"merchantKey2");
  43. Console.WriteLine(JsonConvert.SerializeObject(result));
  44. }
  45. catch (Exception ex) {
  46. Console.WriteLine(ex);
  47. }
  48. }
  49. /**
  50. * 非必填字段
  51. * @return
  52. */
  53. private static Dictionary<string, object> getExtendInfos() {
  54. // 设置非必填字段
  55. Dictionary<string, object> extendInfoMap = new Dictionary<string, object>();
  56. // 子渠道号
  57. extendInfoMap.Add("pay_channel_id", "10000001");
  58. // 业务开通类型
  59. extendInfoMap.Add("pay_scene", "1");
  60. // 法人身份信息
  61. extendInfoMap.Add("legal_person_info", getLegalPersonInfo());
  62. // 受益人信息
  63. extendInfoMap.Add("ubo_info", getUboInfo());
  64. return extendInfoMap;
  65. }
  66. private static string getCertificateInfo() {
  67. Dictionary<string, object> obj = new Dictionary<string, object>();
  68. // 登记证书类型**证照类型为登记证书时(certificate_type&#x3D;REGISTER_CERT)必填**。枚举:&lt;br/&gt;统一社会信用代码证书(CERTIFICATE_TYPE_2389)&lt;br/&gt;慈善组织公开募捐资格证书(CERTIFICATE_TYPE_2397)&lt;br/&gt;社会团体法人登记证书(CERTIFICATE_TYPE_2394)&lt;br/&gt;民办非企业单位登记证书(CERTIFICATE_TYPE_2395)&lt;br/&gt;基金会法人登记证书(CERTIFICATE_TYPE_2396)&lt;br/&gt;农民专业合作社法人营业执照(CERTIFICATE_TYPE_2398)&lt;br/&gt;宗教活动场所登记证(CERTIFICATE_TYPE_2399)&lt;br/&gt;其他证书/批文/证明(CERTIFICATE_TYPE_2400)&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:CERTIFICATE_TYPE_2389&lt;/font&gt;
  69. obj.Add("cert_type", "CERTIFICATE_TYPE_2389");
  70. // 证照编号
  71. obj.Add("cert_number", "9111000071093465XC");
  72. // 证照图片
  73. obj.Add("cert_copy", "afce08c5-1548-30f8-bf70-1752c3012f66");
  74. // 证照商户名称
  75. obj.Add("cert_merchant_name", "新新饭店");
  76. // 证照法人姓名
  77. obj.Add("cert_legal_person", "李四");
  78. // 证照注册地址
  79. obj.Add("cert_company_address", "浙江省杭州市西湖区1街道10号");
  80. // 证照生效时间
  81. obj.Add("effect_time", "19990101");
  82. // 证照过期时间
  83. obj.Add("expire_time", "长期");
  84. return JsonConvert.SerializeObject(obj);
  85. }
  86. private static string getSupportCredentials() {
  87. Dictionary<string, object> obj = new Dictionary<string, object>();
  88. // 小微经营类型
  89. obj.Add("micro_biz_type", "MICRO_TYPE_STORE");
  90. // 门店名称
  91. obj.Add("store_name", "张三");
  92. // 门店省市编码
  93. obj.Add("province_code", "310000");
  94. // 门店省份
  95. obj.Add("province", "上海");
  96. // 门店市行政区号
  97. obj.Add("city_code", "310100");
  98. // 门店城市
  99. obj.Add("city", "上海市");
  100. // 门店街道区号
  101. obj.Add("district_code", "310107");
  102. // 门店街道
  103. obj.Add("district", "普陀区");
  104. // 门店场所填写门店详细地址
  105. obj.Add("store_address", "消息路");
  106. // 门店门头照信息或摊位照
  107. obj.Add("store_door_img", "afce08c5-1548-30f8-bf70-1752c3012f66");
  108. // 门店店内照片或者摊位照侧面
  109. obj.Add("store_inner_img", "51dd13bb-6268-36d0-ac84-c4cdc19eccba");
  110. return JsonConvert.SerializeObject(obj);
  111. }
  112. private static string getQualificationInfoList() {
  113. Dictionary<string, object> obj = new Dictionary<string, object>();
  114. // 行业类目id
  115. obj.Add("mcc_code", "2015050700000000");
  116. // 行业经营许可证资质照片
  117. obj.Add("image_list", "a5d373f6-3e79-405f-9993-fb7ea051c372");
  118. JArray objList = new JArray();
  119. objList.Add(JToken.FromObject(obj));
  120. return JsonConvert.SerializeObject(objList);
  121. }
  122. private static string getAuthIdentityInfo() {
  123. Dictionary<string, object> obj = new Dictionary<string, object>();
  124. // 主体类型
  125. obj.Add("business_type", "2");
  126. // 是否金融机构
  127. obj.Add("finance_institution_flag", "N");
  128. // 金融机构类型
  129. obj.Add("financial_type", "INST");
  130. // 金融机构许可证图片
  131. obj.Add("finance_license_pics", "a5d373f6-3e79-405f-9993-fb7ea051c372");
  132. // 证照类型
  133. obj.Add("certificate_type", "BUSINESS_CERT");
  134. // 登记证书信息
  135. obj.Add("certificate_info", getCertificateInfo());
  136. // 单位证明函照片
  137. obj.Add("company_prove_copy", "71da066c-5d15-3658-a86d-4e85ee67808a");
  138. // 辅助证明材料信息
  139. obj.Add("support_credentials", getSupportCredentials());
  140. // 经营许可证
  141. obj.Add("qualification_info_list", getQualificationInfoList());
  142. return JsonConvert.SerializeObject(obj);
  143. }
  144. private static string getLegalPersonInfo() {
  145. Dictionary<string, object> obj = new Dictionary<string, object>();
  146. // 证件持有人类型
  147. obj.Add("legal_type", "SUPER");
  148. // 证件类型
  149. obj.Add("card_type", "00");
  150. // 法人姓名
  151. obj.Add("person_name", "李四");
  152. // 证件号码
  153. obj.Add("card_no", "110101199909291419");
  154. // 证件生效时间
  155. obj.Add("effect_time", "19990101");
  156. // 证件过期时间
  157. obj.Add("expire_time", "长期");
  158. // 证件正面照
  159. obj.Add("card_front_img", "afce08c5-1548-30f8-bf70-1752c3012f66");
  160. // 证件反面照
  161. obj.Add("card_back_img", "51dd13bb-6268-36d0-ac84-c4cdc19eccba");
  162. // 授权函照片
  163. obj.Add("auth_letter_img", "51dd13bb-6268-36d0-ac84-c4cdc19eccba");
  164. // 是否为受益人
  165. obj.Add("is_benefit_person", "N");
  166. return JsonConvert.SerializeObject(obj);
  167. }
  168. private static string getContactPersonInfo() {
  169. Dictionary<string, object> obj = new Dictionary<string, object>();
  170. // 联系人身份证号码
  171. obj.Add("id_card_number", "120103198507275017");
  172. // 联系人姓名
  173. obj.Add("name", "谢季");
  174. // 联系人手机号
  175. obj.Add("mobile", "18900400032");
  176. return JsonConvert.SerializeObject(obj);
  177. }
  178. private static string getUboInfo() {
  179. Dictionary<string, object> obj = new Dictionary<string, object>();
  180. // 证件姓名
  181. obj.Add("ubo_id_doc_name", "消化");
  182. // 证件类型
  183. obj.Add("ubo_id_doc_type", "00");
  184. // 证件号码
  185. obj.Add("ubo_id_doc_number", "110101199909291419");
  186. // 证件有效期开始时间
  187. obj.Add("ubo_period_begin", "19990101");
  188. // 证件有效期结束时间
  189. obj.Add("ubo_period_end", "20260606");
  190. // 证件正面照片
  191. obj.Add("ubo_id_doc_copy", "afce08c5-1548-30f8-bf70-1752c3012f66");
  192. // 证件反面照片
  193. obj.Add("ubo_id_doc_copy_back", "51dd13bb-6268-36d0-ac84-c4cdc19eccba");
  194. return JsonConvert.SerializeObject(obj);
  195. }
  196. }
  197. }