AliThirdMiniController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\alliance\controllers;
  8. use app\modules\alliance\controllers\BaseController;
  9. use app\modules\alliance\models\third\ali\FaceMiniForm;
  10. use app\modules\alliance\models\third\ali\PerfectMiniForm;
  11. use app\modules\alliance\models\third\ali\PhoneMiniForm;
  12. use app\modules\alliance\models\third\ali\ProgressMiniForm;
  13. use app\modules\alliance\models\third\ali\QrcodeMiniForm;
  14. use app\modules\alliance\models\third\ali\RegisterMiniForm;
  15. use app\modules\alliance\models\third\ali\SubmitMiniForm;
  16. class AliThirdMiniController extends BaseController
  17. {
  18. /**
  19. * 支付宝小程序
  20. */
  21. public function actionGetParams()
  22. {
  23. $form = new RegisterMiniForm();
  24. $form->store_id = post_params('bind_store_id');
  25. $form->status = post_params('status');
  26. $res = $form->getParams();
  27. return $this->asJson($res);
  28. }
  29. /**
  30. * 创建小程序
  31. */
  32. //快速创建小程序 alipay.open.mini.isv.create(isv服务商代商户创建小程序) 获取order_no 依然需要使用被动模式获取auth_code、auth_token、userid、refresh_token
  33. public function actionFastRegisterMini()
  34. {
  35. $form = new RegisterMiniForm();
  36. $form->store_id = post_params('bind_store_id');
  37. $form->param_info = post_params('mini_info');
  38. $res = $form->fastRegisterMini();
  39. return $this->asJson($res);
  40. }
  41. //查询快速注册状态 alipay.open.mini.isv.query(isv查询代商家创建小程序记录) 根据order_no获取快速注册状态 获取appid
  42. //获取aes密钥用于登录以及支付 alipay.open.auth.app.aes.set(授权应用aes密钥设置) 根据appid获取aes_key
  43. /**
  44. * 完善小程序
  45. */
  46. //小程序类目查询 alipay.open.mini.category.query(小程序类目树查询)
  47. //小程序修改基础信息 alipay.open.mini.baseinfo.modify(小程序修改基础信息)
  48. public function actionSetMiniBaseInfo()
  49. {
  50. $form = new PerfectMiniForm();
  51. $form->mini_id = post_params('mini_id');
  52. $form->param_info = post_params('mini_info');
  53. $res = $form->setMiniBaseInfo();
  54. return $this->asJson($res);
  55. }
  56. /**
  57. * 当面付签约
  58. */
  59. //创建事务 alipay.open.agent.create(开启代商户签约、创建应用事务)
  60. public function actionOpenAgentCreate()
  61. {
  62. $form = new FaceMiniForm();
  63. $form->mini_id = post_params('mini_id');
  64. $res = $form->openAgentCreate();
  65. if ($res['code'] != 0) {
  66. return $this->asJson($res);
  67. }
  68. $res = $form->openFaceToFaceSign();
  69. if ($res['code'] != 0) {
  70. return $this->asJson($res);
  71. }
  72. if ($res['batch_status'] == 6) {
  73. return $this->asJson([
  74. 'code' => 0,
  75. 'msg' => "签约成功"
  76. ]);
  77. }
  78. $res = $form->openAgentConfirm();
  79. return $this->asJson($res);
  80. }
  81. //当面付签约 alipay.open.agent.facetoface.sign(代签约当面付产品)
  82. //提交事务 alipay.open.agent.confirm(提交代商户签约、创建应用事务)
  83. //查询状态 alipay.open.agent.order.query(查询申请单状态)
  84. /**
  85. * 申请接入敏感字段
  86. */
  87. //获取敏感字段 alipay.open.app.api.query(查询应用可申请的接口出参敏感字段列表)
  88. //获取敏感字段使用场景 alipay.open.app.api.scene.query(查询接口字段使用场景)
  89. //申请接入敏感字段 alipay.open.app.api.field.apply(申请获取接口用户敏感信息字段)
  90. public function actionApplyPhone()
  91. {
  92. $form = new PhoneMiniForm();
  93. $form->mini_id = post_params('mini_id');
  94. $form->param_info = post_params('mini_info');
  95. $res = $form->applyPhone();
  96. return $this->asJson($res);
  97. }
  98. //手动查询手机号申请状态 alipay.open.app.api.field.query(用户信息申请记录查询)
  99. /**
  100. * 上传代码/提交审核
  101. */
  102. //小程序上传代码版本 alipay.open.mini.version.upload(小程序基于模板上传版本)
  103. public function actionMiniUpVersion()
  104. {
  105. $form = new SubmitMiniForm();
  106. $form->mini_id = post_params('mini_id');
  107. $form->store_id = post_params('bind_store_id');
  108. $res = $form->miniUpVersion();
  109. return $this->asJson($res);
  110. }
  111. //小程序提交审核 alipay.open.mini.version.audit.apply(小程序提交审核)
  112. public function actionSubmitVersionAudit()
  113. {
  114. $form = new SubmitMiniForm();
  115. $form->mini_id = post_params('mini_id');
  116. $form->param_info = post_params('mini_info');
  117. $res = $form->submitVersionAudit();
  118. return $this->asJson($res);
  119. }
  120. //小程序上架 alipay.open.mini.version.online(小程序上架)
  121. public function actionUpMiniVersion()
  122. {
  123. $form = new SubmitMiniForm();
  124. $form->mini_id = post_params('mini_id');
  125. $res = $form->upMiniVersion();
  126. return $this->asJson($res);
  127. }
  128. /**
  129. * 绑定聚合码
  130. */
  131. //关联普通二维码 alipay.open.mini.qrcode.bind(关联普通二维码)
  132. public function actionBindMiniQrcode()
  133. {
  134. $form = new QrcodeMiniForm();
  135. $form->mini_id = post_params('mini_id');
  136. $form->qrcode_id = post_params('qrcode_id');
  137. $res = $form->bindMiniQrcode();
  138. return $this->asJson($res);
  139. }
  140. /**
  141. * 判断进度信息
  142. */
  143. public function actionGetProgress()
  144. {
  145. $form = new ProgressMiniForm();
  146. $form->mini_id = input_params('mini_id', 0);
  147. $form->store_id = input_params('bind_store_id', 0);
  148. $res = $form->registerMiniStatus();
  149. return $this->asJson($res);
  150. }
  151. }