V2MerchantBusiRealnameRequestDemo.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. /**
  3. * 微信实名认证 - 示例
  4. *
  5. * @author sdk-generator
  6. * @Description
  7. */
  8. namespace BsPayDemo;
  9. // 1. 资源及配置加载
  10. require_once dirname(__FILE__) . "/loader.php";
  11. require_once dirname(__FILE__). "/../BsPaySdk/request/V2MerchantBusiRealnameRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2MerchantBusiRealnameRequest;
  14. // 2.组装请求参数
  15. $request = new V2MerchantBusiRealnameRequest();
  16. // 请求流水号
  17. $request->setReqSeqId(date("YmdHis").mt_rand());
  18. // 请求日期
  19. $request->setReqDate(date("Ymd"));
  20. // 汇付ID
  21. $request->setHuifuId("6666000104854510");
  22. // 联系人姓名
  23. $request->setName("小枫");
  24. // 联系人手机号
  25. $request->setMobile("17521205027");
  26. // 联系人身份证号码
  27. $request->setIdCardNumber("130224198806083798");
  28. // 联系人类型
  29. $request->setContactType("SUPER");
  30. // 设置非必填字段
  31. $extendInfoMap = getExtendInfos();
  32. $request->setExtendInfo($extendInfoMap);
  33. // 3. 发起API调用
  34. $client = new BsPayClient();
  35. $result = $client->postRequest($request);
  36. if (!$result || $result->isError()) { //失败处理
  37. var_dump($result -> getErrorInfo());
  38. } else { //成功处理
  39. var_dump($result);
  40. }
  41. /**
  42. * 非必填字段
  43. *
  44. */
  45. function getExtendInfos() {
  46. // 设置非必填字段
  47. $extendInfoMap = array();
  48. // 子渠道号
  49. $extendInfoMap["pay_channel_id"]= "JP00001";
  50. // 支付场景
  51. $extendInfoMap["pay_scene"]= "01";
  52. // 经营者/法人是否为受益人
  53. $extendInfoMap["owner"]= "N";
  54. // 法人证件居住地址
  55. $extendInfoMap["identification_address"]= "上海市徐汇区宜山路789号789室";
  56. // 受益人信息
  57. $extendInfoMap["ubo_info_list"]= getUboInfoList();
  58. // 联系人证件类型
  59. $extendInfoMap["contact_id_doc_type"]= "01";
  60. // 联系人证件有效期开始时间
  61. $extendInfoMap["contact_period_begin"]= "1990-03-07";
  62. // 联系人证件有效期结束时间
  63. $extendInfoMap["contact_period_end"]= "长期";
  64. // 证书类型
  65. $extendInfoMap["cert_type"]= "CERTIFICATE_TYPE_2389";
  66. // 证书编号
  67. $extendInfoMap["cert_number"]= "1234567892";
  68. // 证书照片
  69. $extendInfoMap["cert_copy"]= "";
  70. // 小微经营类型
  71. $extendInfoMap["micro_biz_type"]= "";
  72. // 门店名称
  73. $extendInfoMap["store_name"]= "";
  74. // 门店门头照片
  75. $extendInfoMap["store_header_copy"]= "";
  76. // 店内环境照片
  77. $extendInfoMap["store_indoor_copy"]= "";
  78. // 门店省市编码
  79. $extendInfoMap["store_address_code"]= "";
  80. // 门店地址
  81. $extendInfoMap["store_address"]= "";
  82. // 身份证件正面照片
  83. $extendInfoMap["identification_front_copy"]= "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4";
  84. // 身份证件反面照片
  85. $extendInfoMap["identification_back_copy"]= "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4";
  86. // 单位证明函照片
  87. $extendInfoMap["company_prove_copy"]= "";
  88. // 是否金融机构
  89. $extendInfoMap["finance_institution_flag"]= "N";
  90. // 金融机构类型
  91. $extendInfoMap["finance_type"]= "";
  92. // 特殊行业Id
  93. $extendInfoMap["category_id"]= "";
  94. // 文件列表
  95. $extendInfoMap["special_file_info_list"]= getSpecialFileInfoList();
  96. return $extendInfoMap;
  97. }
  98. function getUboInfoList() {
  99. $dto = array();
  100. // 受益人证件类型
  101. $dto["ubo_id_doc_type"] = "00";
  102. // 证件正面照片
  103. $dto["ubo_id_doc_copy"] = "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4";
  104. // 受益人证件姓名
  105. $dto["ubo_id_doc_name"] = "杨雷";
  106. // 受益人证件号码
  107. $dto["ubo_id_doc_number"] = "110101199003072631";
  108. // 证件居住地址
  109. $dto["ubo_id_doc_address"] = "上海市徐汇区宜山路789号";
  110. // 证件有效期开始时间
  111. $dto["ubo_period_begin"] = "19900307";
  112. // 证件有效期结束时间
  113. $dto["ubo_period_end"] = "长期";
  114. // 证件反面照片
  115. $dto["ubo_id_doc_copy_back"] = "c7faf0e6-39e9-3c35-9075-2312ad6f4ea4";
  116. $dtoList = array();
  117. array_push($dtoList, $dto);
  118. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  119. }
  120. function getSpecialFileInfoList() {
  121. $dto = array();
  122. // 文件类型
  123. $dto["file_type"] = "F33";
  124. // 文件jfileID
  125. $dto["file_id"] = "49ac7d9b-851c-31b4-8b21-2983ea97b98c";
  126. $dtoList = array();
  127. array_push($dtoList, $dto);
  128. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  129. }