| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- /**
- * Created by PhpStorm.
- * Name: 芸众商城系统
- * Author: 广州市芸众信息科技有限公司
- * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
- * Date: 2022/3/30
- * Time: 17:58
- */
- namespace app\payment\controllers;
- use app\common\models\PayOrder;
- use app\common\models\PayType;
- use app\payment\PaymentController;
- use Yunshop\CodeSciencePay\services\CodeSciencePay;
- class CodeSciencePayController extends PaymentController
- {
- const PAY_ID = 99;
- public function notifyUrl()
- {
- $data = json_decode(request()->getContent(), true);
- \Log::debug(self::class. '--接收回调: ' . $data);
- $payOrder = PayOrder::where('out_order_no', $data['data']['orderid'])->first();
- if (!$payOrder) {
- \Log::debug(self::class. '--: 未找到支付订单');
- return;
- }
- \YunShop::app()->uniacid = $payOrder->uniacid;
- \Setting::$uniqueAccountId = $payOrder->uniacid;
- $codeSciencePay = new CodeSciencePay;
- $codeSciencePay->reqData = $data;
- try {
- $res = $codeSciencePay->verify();
- } catch (\Exception $e) {
- \Log::debug(self::class. '--验签失败 失败原因: ' . $e->getMessage());
- $res = false;
- }
- if (!$res) {
- \Log::debug(self::class. '--: 验签失败');
- return;
- }
- $currentPayType = $this->currentPayType(self::PAY_ID);
- $data = $this->setData($data['data']['orderid'], $data['data']['orderid'], $data['amount'], $currentPayType['id'], $currentPayType['name']);
- $this->payResutl($data);
- \Log::debug(self::class . '订单支付成功--订单号: ' . $data['data']['orderid']);
- return json_encode([
- 'result' => '0000',
- 'resultdesc' => '成功'
- ]);
- }
- /**
- * 支付回调参数
- *
- * @param $order_no
- * @param $parameter
- * @return array
- */
- public function setData($order_no, $trade_no, $total_fee, $pay_type_id, $pay_type)
- {
- return [
- 'total_fee' => $total_fee,
- 'out_trade_no' => $order_no,
- 'trade_no' => $trade_no,
- 'unit' => 'fen',
- 'pay_type' => $pay_type,
- 'pay_type_id' => $pay_type_id,
- ];
- }
- public function currentPayType($payId)
- {
- return PayType::find($payId);
- }
- }
|