ec-apply.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <?php
  2. /**
  3. * 1.1 商户进件 -> 电子合同申请
  4. * 接口:/api/v3/mms/open_api/ec/apply
  5. * 请求加密:无 返回解密:无
  6. *
  7. * 说明:电子合同签约成功后,将返回的电子合同号(ecNo)填入「新增商户进件」接口的
  8. * contract_no 字段即可,此编号与 AGREE_MENT 附件二选一。
  9. * ec_content_parameters 为按合同类别(ec_type_code)传递的 JSON 字符串参数集合。
  10. */
  11. $config = require __DIR__ . '/bootstrap.php';
  12. $api = new \Lakala\OpenAPISDK\V3\Api\LakalaApi($config, \Lakala\OpenAPISDK\V3\Api\EncryptMode::NONE);
  13. // 电子合同内容参数集合(EC015 全量文本域,编码含义参见「EC015合同参数说明」;
  14. // 不涉及的业务/费率文本域统一以 "/" 占位,符合文档「横线处填 /」规范)
  15. $ecContentParameters = json_encode([
  16. // ===== A 系列:合作协议(业务功能 / 费率 / 结算 / 签约信息)=====
  17. 'A1' => '拉卡拉科技有限公司', // 签约商户的商户名称
  18. 'A2' => '是', // 业务功能:消费类
  19. 'A3' => '/', // 业务功能:预授权类
  20. 'A4' => '/', // 业务功能:其他
  21. 'A5' => '/', // 业务功能(其他)填写信息
  22. 'A6' => '是', // 收单借记卡:选择
  23. 'A7' => '0.50', // 收单借记卡:费率
  24. 'A8' => '20', // 收单借记卡:封顶值
  25. 'A9' => '是', // 收单贷记卡:选择
  26. 'A10' => '0.60', // 收单贷记卡:费率
  27. 'A11' => '是', // 银联二维码借记:选择
  28. 'A12' => '0.38', // 银联二维码借记:费率
  29. 'A13' => '是', // 银联二维码贷记:选择
  30. 'A14' => '0.38', // 银联二维码贷记:1000元以下费率
  31. 'A15' => '0.60', // 银联二维码贷记:1000元以上费率
  32. 'A16' => '/', // 外卡业务功能:消费类
  33. 'A17' => '/', // 外卡业务功能:预授权类
  34. 'A18' => '/', // 外卡业务功能:其他
  35. 'A19' => '/', // 外卡业务功能(其他)填写信息
  36. 'A20' => '/', 'A21' => '/', // 外卡VISA:DCC / 非DCC 费率
  37. 'A22' => '/', 'A23' => '/', // 外卡MasterCard:DCC / 非DCC 费率
  38. 'A24' => '/', 'A25' => '/', // 外卡American Express:DCC / 非DCC 费率
  39. 'A26' => '/', 'A27' => '/', // 外卡Diners:DCC / 非DCC 费率
  40. 'A28' => '/', 'A29' => '/', // 外卡Discover:DCC / 非DCC 费率
  41. 'A30' => '/', 'A31' => '/', // 外卡JCB:DCC / 非DCC 费率
  42. 'A32' => '/', 'A33' => '/', // 外卡其他类:DCC / 非DCC 费率
  43. 'A34' => '0.38', // 扫码支付:支付宝费率
  44. 'A35' => '0.38', // 扫码支付:微信费率
  45. 'A36' => '/', // 扫码支付:京东费率
  46. 'A37' => '/', // 扫码支付:拉卡拉钱包费率
  47. 'A38' => '/', // 扫码支付:数字人民币费率
  48. 'A39' => '/', // 扫码支付:(其他)填写信息
  49. 'A40' => '/', // 业务功能:单笔代付选择
  50. 'A41' => '/', 'A42' => '/', 'A43' => '/', // 单笔代付:费率 / 封顶值 / 下限阈值
  51. 'A44' => '/', // 业务功能:批量代付选择
  52. 'A45' => '/', 'A46' => '/', 'A47' => '/', // 批量代付:费率 / 封顶值 / 下限阈值
  53. 'A48' => '/', // 业务功能:银联线上统一收银台选择
  54. 'A49' => '/', 'A50' => '/', // 银联线上统一收银台:借记 / 贷记费率
  55. 'A51' => '/', // 业务功能:无跳转支付选择
  56. 'A52' => '/', 'A53' => '/', 'A54' => '/', // 无跳转支付:借记费率 / 借记封顶 / 贷记费率
  57. 'A55' => '/', // 业务功能:云微小程序选择
  58. 'A56' => '/', 'A57' => '/', 'A58' => '/', // 云微小程序:借记费率 / 借记封顶 / 贷记费率
  59. 'A59' => '/', // 业务功能:B2B订单选择
  60. 'A60' => '/', 'A61' => '/', 'A62' => '/', // B2B订单:费率 / 封顶 / 下限阈值
  61. 'A63' => '是', // 业务功能:微信支付选择
  62. 'A64' => '0.38', // 微信支付:手续费费率
  63. 'A65' => '是', // 业务功能:支付宝支付选择
  64. 'A66' => '0.38', // 支付宝支付:手续费费率
  65. 'A67' => '/', // 业务功能:银联代收/网联商委选择
  66. 'A68' => '/', 'A69' => '/', 'A70' => '/', // 银联代收/网联商委借记:费率 / 封顶 / 下限阈值
  67. 'A71' => '/', 'A72' => '/', 'A73' => '/', // 银联代收/网联商委贷记:费率 / 封顶 / 下限阈值
  68. 'A74' => '/', // 业务功能:快捷/协议支付选择
  69. 'A75' => '/', 'A76' => '/', 'A77' => '/', // 快捷/协议支付借记:费率 / 封顶 / 下限阈值
  70. 'A78' => '/', 'A79' => '/', 'A80' => '/', // 快捷/协议支付贷记:费率 / 封顶 / 下限阈值
  71. 'A81' => '/', // 业务功能:网银B2B选择
  72. 'A82' => '/', 'A83' => '/', 'A84' => '/', 'A85' => '/', // 网银B2B:单笔 / 费率 / 封顶 / 下限阈值
  73. 'A86' => '/', // 业务功能:网银B2C选择
  74. 'A87' => '/', 'A88' => '/', 'A89' => '/', // 网银B2C借记:费率 / 封顶 / 下限阈值
  75. 'A90' => '/', 'A91' => '/', 'A92' => '/', // 网银B2C贷记:费率 / 封顶 / 下限阈值
  76. 'A93' => '/', // 业务功能:签约支付选择
  77. 'A94' => '/', 'A95' => '/', 'A96' => '/', // 签约支付借记:费率 / 封顶 / 下限阈值
  78. 'A97' => '/', 'A98' => '/', 'A99' => '/', // 签约支付贷记:费率 / 封顶 / 下限阈值
  79. 'A100' => '/', // 大额付款:收单手续费支付方式选择
  80. 'A101' => '/', 'A102' => '/', // 大额付款:费率 / 封顶
  81. 'A103' => '/', 'A104' => '/', 'A105' => '/', // 大额付款:对私费率 / 对私封顶 / 对公单笔
  82. 'A106' => '/', // 快速结算业务:手续费费率
  83. 'A107' => '/', 'A108' => '/', // 定时结算:预计到账时间 / 手续费费率
  84. 'A109' => '/', // 通讯服务:终端运营服务费金额
  85. 'A110' => '/', 'A111' => '/', // 通讯服务费支付方式:线上 / 线下
  86. 'A112' => '/', 'A113' => '/', // 平台系统服务:收取接入费限定天数 / 接入费用
  87. 'A114' => '/', 'A115' => '/', // 平台系统服务:维护年费 / 期满支付维护年费限定天数
  88. 'A116' => '自动结算', // 默认结算模式选择
  89. 'A117' => '是', 'A118' => '/', // 退货业务:开通 / 不开通
  90. 'A119' => '/', 'A120' => '是', // 数字人民币业务:开通 / 不开通
  91. 'A121' => '广西柳州市', // 终端使用地区
  92. 'A122' => '/', // 接入平台法律主体
  93. 'A123' => '/', // 平台名称/APP名称
  94. 'A124' => 2026, 'A125' => 6, 'A126' => 12, // 甲方签约 年/月/日
  95. 'A127' => 2026, 'A128' => 6, 'A129' => 12, // 乙方签约 年/月/日
  96. 'A130' => '拉卡拉科技有限公司', // 甲方电子签名/签字/盖章
  97. // ===== B 系列:商户注册登记 / 基本信息 / 结算账户 / 法人联系人 / 终端 / 拓展 =====
  98. 'B1' => 2026, 'B2' => 6, // 商户注册登记表 年/月
  99. 'B3' => '是', // 登记类型:增商选择
  100. 'B4' => '/', // 登记类型:增终选择
  101. 'B5' => '/', // 登记类型:续约选择
  102. 'B6' => '/', // 登记类型:商户更名选择
  103. 'B7' => '/', // 商户更名前的原名称
  104. 'B8' => '拉卡拉科技有限公司', // 基本信息:工商注册名称(中英文)
  105. 'B9' => '未列入其他代码的食品商店', // 基本信息:主营业务
  106. 'B10' => '拉卡拉科技有限公司', // 基本信息:对外经营名称(中英文)
  107. 'B11' => '/', // 基本信息:网站地址
  108. 'B12' => '/', // 基本信息:商户简称(互联网支付)
  109. 'B13' => '广西柳州市解放南路金鱼巷1号', // 基本信息:办公地址
  110. 'B14' => '90000000MA1FPFRF44', // 基本信息:营业执照注册号
  111. 'B15' => '/', // 基本信息:交易IP地址
  112. 'B16' => '是', // 结算账户名称:同工商注册名称选择
  113. 'B17' => '/', // 结算账户名称:其他名称选择
  114. 'B18' => '/', // 结算账户名称:其他名称填写
  115. 'B19' => '招商银行股份有限公司柳州分行', // 开户行(含支行)
  116. 'B20' => '6221884568549653222', // 结算账号
  117. 'B21' => 'yhws@psbc-ubank.com', // 对账单投递邮箱
  118. 'B22' => '/', // 数字人民币开户行
  119. 'B23' => '/', // 数字人民币钱包名称(如开通)
  120. 'B24' => '徐文', // 法定代表人/负责人姓名
  121. 'B25' => '431003198708066555', // 法人证件号码
  122. 'B26' => '18259179840', // 法定代表人/负责人手机
  123. 'B27' => '徐文', // 联系人姓名
  124. 'B28' => 'yhws@psbc-ubank.com', // 联系人邮箱
  125. 'B29' => '431003198708066555', // 联系人证件号码
  126. 'B30' => '18259179840', // 联系人手机号
  127. 'B31' => '拉卡拉科技有限公司', // 分店营业名称(中英文)
  128. 'B32' => '徐文', // 网点联系人姓名
  129. 'B33' => '广西柳州市解放南路金鱼巷1号', // 终端布放地址(中英文)
  130. 'B34' => '18259179840', // 网点联系人手机号
  131. 'B35' => '/', // 签约单名称(中英文)
  132. 'B36' => '1', // 申请台数
  133. 'B37' => '是', // 终端类型:智能POS选择
  134. 'B38' => '/', // 终端类型:传统POS选择
  135. 'B39' => '/', // 终端类型:超级收款宝选择
  136. 'B40' => '/', // 终端类型:微智能选择
  137. 'B41' => '/', // 终端类型:一体化终端选择
  138. 'B42' => '/', // 终端类型:蓝精灵选择
  139. 'B43' => '/', // 终端类型:码牌音箱选择
  140. 'B44' => '/', // 终端类型:自定义选择
  141. 'B45' => '/', // 终端类型:自定义填写
  142. 'B46' => '是', // 终端通讯方式:网络选择
  143. 'B47' => '/', // 终端通讯方式:移动通讯卡选择
  144. 'B48' => '/', // 终端通讯方式:自定义选择
  145. 'B49' => '/', // 终端通讯方式:自定义填写
  146. 'B50' => '是', // 拓展信息:直营拓展选择
  147. 'B51' => '/', // 拓展信息:行业合作选择
  148. 'B52' => '/', // 拓展信息:代理选择
  149. 'B53' => '/', // 拓展信息:银行推荐选择
  150. 'B54' => '/', // 拓展信息:其他选择
  151. 'B55' => '/', // 拓展信息:其他填写
  152. 'B56' => '/', // 拓展信息:发展方
  153. 'B57' => '/', // 拓展信息:发展人
  154. 'B58' => '/', // 终端型号填写
  155. // ===== C 系列:受益人 / 高级管理层 / 董事会 / 控制人(非企业商户不涉及,统一占位 "/")=====
  156. 'C1' => '/', 'C2' => '/', 'C3' => '/', 'C4' => '/', 'C5' => '/', 'C6' => '/', // 受益人1
  157. 'C7' => '/', 'C8' => '/', 'C9' => '/', 'C10' => '/', 'C11' => '/', 'C12' => '/', // 受益人2
  158. 'C13' => '/', 'C14' => '/', 'C15' => '/', 'C16' => '/', 'C17' => '/', 'C18' => '/', // 高管1
  159. 'C19' => '/', 'C20' => '/', 'C21' => '/', 'C22' => '/', 'C23' => '/', 'C24' => '/', // 高管2
  160. 'C25' => '/', 'C26' => '/', 'C27' => '/', 'C28' => '/', 'C29' => '/', 'C30' => '/', // 董事会成员1
  161. 'C31' => '/', 'C32' => '/', 'C33' => '/', 'C34' => '/', 'C35' => '/', 'C36' => '/', // 董事会成员2
  162. 'C37' => '/', 'C38' => '/', 'C39' => '/', 'C40' => '/', 'C41' => '/', // 其他控制成员1
  163. 'C42' => '/', 'C43' => '/', 'C44' => '/', 'C45' => '/', 'C46' => '/', // 其他控制成员2
  164. 'C47' => '/', 'C48' => '/', 'C49' => '/', 'C50' => '/', 'C51' => '/', // 超25%合伙权益自然人1
  165. 'C52' => '/', 'C53' => '/', 'C54' => '/', 'C55' => '/', 'C56' => '/', // 超25%合伙权益自然人2
  166. // ===== D 系列:各类授权书 =====
  167. 'D1' => '招商银行', // 授权书(银行):结算账户所属银行
  168. 'D2' => '徐文', // 授权书(银行):授权承诺方签字
  169. 'D3' => '2026/06/12', // 授权书(银行):签章/签字日期
  170. 'D4' => '徐文', // 授权书(开通微信、支付宝收单):承诺授权方签名
  171. 'D5' => '2026/06/12', // 授权书(开通微信、支付宝收单):盖章/签字日期
  172. 'D6' => '/', // 授权书(数据处理方):数据处理方名称
  173. 'D7' => '/', // 授权书(数据处理方):联系方式
  174. 'D8' => '/', // 授权书(数据处理方):承诺授权方签名
  175. 'D9' => '/', // 授权书(数据处理方):签章/签字日期
  176. 'D10' => '/', 'D11' => '/', // 授权书(外卡业务):签名 / 日期
  177. 'D12' => '/', 'D13' => '/', // 授权书(开通MOSS产品):签名 / 日期
  178. 'D14' => '/', 'D15' => '/', // 授权书(开通青橙产品):签名 / 日期
  179. 'D16' => '/', 'D17' => '/', // 授权书(邮政项目):签名 / 日期
  180. // ===== E 系列:分银行费率明细(费率一致则不填,统一占位 "/")=====
  181. 'E1' => '/', 'E2' => '/', 'E3' => '/', 'E4' => '/', // 银联代收/网联商委借记卡 银行1
  182. 'E5' => '/', 'E6' => '/', 'E7' => '/', 'E8' => '/', // 银联代收/网联商委借记卡 银行2
  183. 'E9' => '/', 'E10' => '/', 'E11' => '/', // 银联代收/网联商委借记卡 其他银行
  184. 'E12' => '/', 'E13' => '/', 'E14' => '/', 'E15' => '/', // 银联代收/网联商委贷记卡 银行1
  185. 'E16' => '/', 'E17' => '/', 'E18' => '/', 'E19' => '/', // 银联代收/网联商委贷记卡 银行2
  186. 'E20' => '/', 'E21' => '/', 'E22' => '/', // 银联代收/网联商委贷记卡 其他银行
  187. 'E23' => '/', 'E24' => '/', 'E25' => '/', 'E26' => '/', // 快捷/协议/签约支付借记卡 银行1
  188. 'E27' => '/', 'E28' => '/', 'E29' => '/', 'E30' => '/', // 快捷/协议/签约支付借记卡 银行2
  189. 'E31' => '/', 'E32' => '/', 'E33' => '/', // 快捷/协议/签约支付借记卡 其他银行
  190. 'E34' => '/', 'E35' => '/', 'E36' => '/', 'E37' => '/', // 快捷/协议/签约支付贷记卡 银行1
  191. 'E38' => '/', 'E39' => '/', 'E40' => '/', 'E41' => '/', // 快捷/协议/签约支付贷记卡 银行2
  192. 'E42' => '/', 'E43' => '/', 'E44' => '/', // 快捷/协议/签约支付贷记卡 其他银行
  193. 'E45' => '/', 'E46' => '/', 'E47' => '/', 'E48' => '/', // 网银B2B企业账户 银行1
  194. 'E49' => '/', 'E50' => '/', 'E51' => '/', 'E52' => '/', // 网银B2B企业账户 银行2
  195. 'E53' => '/', 'E54' => '/', 'E55' => '/', // 网银B2B企业账户 其他银行
  196. 'E56' => '/', 'E57' => '/', 'E58' => '/', 'E59' => '/', // 网银B2C借记卡 银行1
  197. 'E60' => '/', 'E61' => '/', 'E62' => '/', 'E63' => '/', // 网银B2C借记卡 银行2
  198. 'E64' => '/', 'E65' => '/', 'E66' => '/', // 网银B2C借记卡 其他银行
  199. 'E67' => '/', 'E68' => '/', 'E69' => '/', 'E70' => '/', // 网银B2C贷记卡 银行1
  200. 'E71' => '/', 'E72' => '/', 'E73' => '/', 'E74' => '/', // 网银B2C贷记卡 银行2
  201. 'E75' => '/', 'E76' => '/', 'E77' => '/', // 网银B2C贷记卡 其他银行
  202. 'E78' => '徐文', // 电子签约服务授权委托书:承诺授权方签名
  203. 'E79' => '徐文', // 电子签约服务授权委托书:承诺签名或盖章
  204. ], JSON_UNESCAPED_UNICODE);
  205. $request = new \Lakala\OpenAPISDK\V3\Model\ModelRequest();
  206. $request->setReqData([
  207. 'order_no' => date('YmdHis', time()) . substr(str_shuffle('01234567890'), 0, 8),
  208. 'org_id' => (int) JINGJIAN_ORG_CODE,
  209. 'ec_type_code' => 'EC015',
  210. 'cert_type' => 'RESIDENT_ID',
  211. 'cert_name' => '徐文',
  212. 'cert_no' => '431003198708066555',
  213. 'mobile' => '18259179840',
  214. 'business_license_no' => '90000000MA1FPFRF44',
  215. 'business_license_name' => '拉卡拉科技有限公司',
  216. 'openning_bank_code' => '403100000004',
  217. 'openning_bank_name' => '招商银行',
  218. 'acct_type_code' => '57',
  219. 'acct_no' => '6221884568549653222',
  220. 'acct_name' => '农建',
  221. 'ec_content_parameters' => $ecContentParameters,
  222. 'remark' => '测试'
  223. ]);
  224. try {
  225. $response = $api->tradeApi('/api/v3/mms/open_api/ec/apply', $request);
  226. print_r($response->getRespData());
  227. // echo $response->getCode();
  228. // print_r($response->getHeaders());
  229. echo $response->getOriginalText();
  230. // {"code":"000000","msg":"成功","resp_data":{"order_no":"2026061208203432970480","ec_apply_id":1117850953870880768,"result_url":"https://jrt.wsmsd.cn/signature/s/yxkusph1inogzv2f?rdm=1781252444861"}}
  231. } catch (\Lakala\OpenAPISDK\V3\ApiException $e) {
  232. echo $e->getMessage();
  233. }