/** * 设置签名 * @param string $value **/ public function SetSign() { $this->values['sign'] = parent::SetSign(); }
//参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay $timestamp = time(); $arr = array(); //公众账号ID $arr['appid'] = trim(WxPayConfig::APPID); //商户号 $arr['partnerid'] = trim(WxPayConfig::MCHID); //预支付交易会话标识 $arr['prepayid'] = $order['prepay_id']; //包的格式 $arr['package'] = 'Sign=WXPay'; //随机字符串 $arr['noncestr'] = $order['nonce_str']; //时间戳 $arr['timestamp'] = $timestamp; $obj = new WxPayDataBase(); $obj->SetValues($arr); $sign = $obj->SetSign(); $data = array(); $data['return_code'] = $order['return_code']; $data['return_msg'] = $order['return_msg']; $data['prepay_id'] = $order['prepay_id']; $data['trade_type'] = $order['trade_type']; $data['nonce_str'] = $order['nonce_str']; $data['timestamp'] = $timestamp; $data['sign'] = $sign; $data['out_trade_no'] = $outTradeNo; $order = json_encode($order); file_put_contents("log.txt", "\n\n预支付成功----{$order}", FILE_APPEND); echo json_encode(array('code' => 1, 'msg' => '成功', 'data' => $data)); }