GetFaceInitializeController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2019/10/8
  6. * Time: 16:41
  7. */
  8. namespace app\frontend\modules\alipay\controllers;
  9. use app\common\components\ApiController;
  10. use app\common\exceptions\AppException;
  11. use app\common\services\alipay\AlipayScanPayService;
  12. use app\common\services\alipay\f2fpay\model\AlipayConfig;
  13. use app\common\services\alipay\f2fpay\model\builder\AlipayInitializeContentBuilder;
  14. use app\common\services\alipay\f2fpay\service\AlipayTradeService;
  15. use app\common\services\wechat\lib\WxPayApi;
  16. use app\common\services\wechat\lib\WxPayConfig;
  17. use app\common\services\wechat\lib\WxPayFaceAuthInfo;
  18. use app\frontend\modules\order\services\OrderService;
  19. use Yunshop\FacePayment\common\services\PlutusPayService;
  20. class GetFaceInitializeController extends ApiController
  21. {
  22. /**
  23. * @return mixed
  24. * @throws \Exception
  25. */
  26. public function index()
  27. {
  28. $store_id = request()->store_id;
  29. $app_id = request()->app_id;
  30. $zimMetaInfo = request()->zimmetainfo;
  31. $set = \Setting::get('shop.alipay_set');
  32. $initializeRequestRequestBuilder = new AlipayInitializeContentBuilder();
  33. $initializeRequestRequestBuilder->setZimMetaInfo($zimMetaInfo);
  34. if (!$set['app_type']) {
  35. //第三方应用授权令牌,商户授权系统商开发模式下使用
  36. $appAuthToken = (new AlipayScanPayService())->getAuthToken();//根据真实值填写
  37. $initializeRequestRequestBuilder->setAppAuthToken($appAuthToken);
  38. }
  39. $config = (new AlipayConfig())->getConfig();
  40. $barPay = new AlipayTradeService($config);
  41. $result = (array)$barPay->initialize($initializeRequestRequestBuilder);
  42. if ($result['code'] != 10000) {
  43. return $this->errorJson('失败:'.$result['sub_msg']);
  44. }
  45. return $this->successJson('成功',$result['result']);
  46. }
  47. }