<?php
namespace Payment\Common\Weixin\Data\Charge; use Payment\Common\PayException; use Payment\Utils\ArrayUtil; class BarChargeData extends ChargeBaseData { protected function checkDataParam() { parent::checkDataParam(); $authCode = $this->auth_code; if (empty($authCode)) { throw new PayException('扫码支付授权码,必须设置该参数.'); } } protected function buildData() { $info = $this->scene_info; $sceneInfo = []; if ($info && is_array($info)) { $sceneInfo['store_info'] = $info; } $signData = [ 'appid' => trim($this->appId), 'mch_id' => trim($this->mchId), 'device_info' => $this->terminal_id, 'nonce_str' => $this->nonceStr, 'sign_type' => $this->signType, 'body' => trim($this->subject), 'attach' => trim($this->return_param), 'out_trade_no' => trim($this->order_no), 'total_fee' => $this->amount, 'fee_type' => $this->feeType, 'spbill_create_ip' => trim($this->client_ip), 'limit_pay' => $this->limitPay, 'auth_code' => $this->auth_code, 'scene_info' => $sceneInfo ? json_encode($sceneInfo, JSON_UNESCAPED_UNICODE) : '', 'sub_appid' => $this->sub_appid, 'sub_mch_id' => $this->sub_mch_id, ]; $this->retData = ArrayUtil::paraFilter($signData); } } 