AliThirdMiniController.php 5.7 KB

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