V2MerchantBasicdataIndvRequestDemo.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. /**
  3. * 个人商户基本信息入驻(2022) - 示例
  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/V2MerchantBasicdataIndvRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2MerchantBasicdataIndvRequest;
  14. // 2.组装请求参数
  15. $request = new V2MerchantBasicdataIndvRequest();
  16. // 请求流水号
  17. $request->setReqSeqId(date("YmdHis").mt_rand());
  18. // 请求日期
  19. $request->setReqDate(date("Ymd"));
  20. // 上级主体ID
  21. $request->setUpperHuifuId("6666000107803321");
  22. // 商户名
  23. $request->setRegName("张天德");
  24. // 经营省
  25. $request->setProvId("310000");
  26. // 经营市
  27. $request->setAreaId("310100");
  28. // 经营区
  29. $request->setDistrictId("310105");
  30. // 经营详细地址
  31. $request->setDetailAddr("上海市长宁区定西路1310号");
  32. // 联系人姓名
  33. $request->setContactName("张天德");
  34. // 联系人手机号
  35. $request->setContactMobileNo("13111112222");
  36. // 联系人电子邮箱
  37. $request->setContactEmail("jeff.peng@huifu.com");
  38. // 结算卡信息配置
  39. $request->setCardInfo(getCardInfo());
  40. // 设置非必填字段
  41. $extendInfoMap = getExtendInfos();
  42. $request->setExtendInfo($extendInfoMap);
  43. // 3. 发起API调用
  44. $client = new BsPayClient();
  45. $result = $client->postRequest($request);
  46. if (!$result || $result->isError()) { //失败处理
  47. var_dump($result -> getErrorInfo());
  48. } else { //成功处理
  49. var_dump($result);
  50. }
  51. /**
  52. * 非必填字段
  53. *
  54. */
  55. function getExtendInfos() {
  56. // 设置非必填字段
  57. $extendInfoMap = array();
  58. // 商户简称
  59. $extendInfoMap["short_name"]= "张天德";
  60. // 商户通知标识
  61. $extendInfoMap["sms_send_flag"]= "1";
  62. // 管理员账号
  63. $extendInfoMap["login_name"]= "tinysword0116";
  64. // 取现信息配置
  65. $extendInfoMap["cash_config"]= getCashConfig();
  66. // 结算规则配置
  67. $extendInfoMap["settle_config"]= getSettleConfig();
  68. // 异步通知地址
  69. $extendInfoMap["async_return_url"]= "http://192.168.85.157:30031/sspm/testVirgo";
  70. // D1结算协议图片文件
  71. $extendInfoMap["settle_agree_pic"]= "119bc780-b1c5-3a9c-8b18-f911de6ff28c";
  72. // 商户主页URL
  73. // $extendInfoMap["mer_url"]= "";
  74. // 商户ICP备案编号
  75. // $extendInfoMap["mer_icp"]= "";
  76. // 结算卡反面
  77. // $extendInfoMap["settle_card_back_pic"]= "";
  78. // 结算卡正面
  79. // $extendInfoMap["settle_card_front_pic"]= "";
  80. // 授权委托书
  81. // $extendInfoMap["auth_enturst_pic"]= "";
  82. return $extendInfoMap;
  83. }
  84. function getCardInfo() {
  85. $dto = array();
  86. // 卡户名
  87. $dto["card_name"] = "张天德";
  88. // 结算账号
  89. $dto["card_no"] = "4367421217494235081";
  90. // 银行所在省
  91. $dto["prov_id"] = "310000";
  92. // 银行所在市
  93. $dto["area_id"] = "310100";
  94. // 持卡人证件类型
  95. $dto["cert_type"] = "00";
  96. // 持卡人证件号码
  97. $dto["cert_no"] = "321084198912066512";
  98. // 持卡人证件有效期类型
  99. $dto["cert_validity_type"] = "0";
  100. // 持卡人证件有效期开始
  101. $dto["cert_begin_date"] = "20180824";
  102. // 持卡人证件有效期截止日期格式yyyyMMdd,以北京时间为准。&lt;font color&#x3D;&quot;green&quot;&gt;示例值:20220125&lt;/font&gt;&lt;br/&gt;当cert_validity_type&#x3D;0时必填 &lt;br/&gt;当cert_validity_type&#x3D;1时为空
  103. $dto["cert_end_date"] = "20380824";
  104. // 结算人手机号
  105. $dto["mp"] = "13700000214";
  106. // 银行编号
  107. $dto["bank_code"] = "01030000";
  108. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  109. }
  110. function getCashConfig() {
  111. $dto = array();
  112. // 取现类型
  113. $dto["cash_type"] = "D1";
  114. // 取现固定手续费(元)fix_amt与fee_rate至少填写一项,单位元,需保留小数点后两位,不收费请填写0.00; &lt;font color&#x3D;&quot;green&quot;&gt;示例值:1.00&lt;/font&gt;
  115. $dto["fix_amt"] = "1.00";
  116. // 取现手续费率(%)fix_amt与fee_rate至少填写一项,单位%,需保留小数点后两位,取值范围[0.00,100.00],不收费请填写0.00;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:0.05&lt;/font&gt;&lt;br/&gt;注:如果fix_amt与fee_rate都填写了则手续费&#x3D;fix_amt+支付金额\*fee_rate
  117. $dto["fee_rate"] = "";
  118. // 是否交易手续费外扣
  119. // $dto["out_fee_flag"] = "";
  120. // 手续费承担方
  121. // $dto["out_fee_huifu_id"] = "";
  122. // 交易手续费外扣的账户类型
  123. // $dto["out_fee_acct_type"] = "";
  124. $dtoList = array();
  125. array_push($dtoList, $dto);
  126. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  127. }
  128. function getSettleConfig() {
  129. $dto = array();
  130. // 结算周期
  131. $dto["settle_cycle"] = "D1";
  132. // 结算手续费外扣商户号结算手续费外扣商户号,填写承担手续费的汇付商户号&lt;br/&gt;当out_settle_flag&#x3D;1时必填,否则非必填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:6666000123123123&lt;/font&gt;
  133. $dto["out_settle_huifuid"] = "";
  134. // 起结金额
  135. $dto["min_amt"] = "1.00";
  136. // 留存金额
  137. $dto["remained_amt"] = "2.00";
  138. // 结算摘要
  139. $dto["settle_abstract"] = "我这里显示结算摘要";
  140. // 手续费外扣标记
  141. $dto["out_settle_flag"] = "2";
  142. // 结算手续费外扣账户类型
  143. // $dto["out_settle_acct_type"] = "";
  144. // 节假日结算手续费率(%)
  145. $dto["fixed_ratio"] = "5.00";
  146. // 结算方式
  147. // $dto["settle_pattern"] = "";
  148. // 结算批次号
  149. // $dto["settle_batch_no"] = "";
  150. // 是否优先到账
  151. // $dto["is_priority_receipt"] = "";
  152. // 自定义结算处理时间
  153. // $dto["settle_time"] = "";
  154. // 节假日结算手续费固定金额(元)
  155. // $dto["constant_amt"] = "";
  156. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  157. }