好的,谢谢
开发版小程序已过期,请在开发者工具重新扫码小程序开发阶段,分享出去的单独页面,无法打开,显示开发版小程序已过期,请在开发者工具重新扫码,有人碰到过这个问题吗?谢谢指导
2018-09-04小程序开发者工具--项目管理--新建项目--appid填写公司的小程序appid,后台同时根据公司appid获取openid。
求大神帮忙 小程序支付 appid和openid不匹配以下是代码 namespace app\api\service; use app\api\model\Order as OrderModel; use app\lib\enum\OrderStatusEnum; use app\lib\exception\OrderException; use app\lib\exception\TokenException; use think\Exception; use think\Loader; use think\Log; Loader::import('WxPay.WxPay', EXTEND_PATH, '.Api.php'); class Pay { private $orderNo; private $orderID; function __construct($orderID) { if (!$orderID) { throw new Exception('订单号不允许为NULL'); } $this->orderID = $orderID; } public function pay() { $this->checkOrderValid(); $order = new Order(); //这里是service的 Order $status = $order->checkOrderStock($this->orderID); if (!$status['pass']) { return $status; } return $this->makeWxPreOrder($status['orderPrice']); } // 构建微信支付订单信息 private function makeWxPreOrder($totalPrice) { $openid = Token::getCurrentTokenVar('openid'); if (!$openid) { throw new TokenException(); } $wxOrderData = new \WxPayUnifiedOrder(); $wxOrderData->SetOut_trade_no($this->orderNo); //订单号 $wxOrderData->SetTrade_type('JSAPI'); //交易类型 $wxOrderData->SetTotal_fee($totalPrice * 100); //金额 $wxOrderData->SetBody('测试'); //设置商品或支付单简要描述 $wxOrderData->SetOpenid($openid); //用户的openid $wxOrderData->SetNotify_url(config('secure.pay_back_url')); //设置接收微信支付异步通知回调地址 return $this->getPaySignature($wxOrderData); } //向微信请求订单号并生成签名 /** * @param $wxOrderData * @return array */ private function getPaySignature($wxOrderData) { $wxOrder = \WxPayApi::unifiedOrder($wxOrderData); // 失败时不会返回result_code if($wxOrder['return_code'] != 'SUCCESS' || $wxOrder['result_code'] !='SUCCESS'){ //dump($wxOrder); Log::record($wxOrder,'error'); Log::record('获取预支付订单失败','error'); //throw new Exception('获取预支付订单失败'); } $this->recordPreOrder($wxOrder); $signature = $this->sign($wxOrder); return $signature; } private function recordPreOrder($wxOrder){ // 必须是update,每次用户取消支付后再次对同一订单支付,prepay_id是不同的 OrderModel::where('id', '=', $this->orderID) ->update(['prepay_id' => $wxOrder['prepay_id']]); } // 签名 private function sign($wxOrder) { $jsApiPayData = new \WxPayJsApiPay(); $jsApiPayData->SetAppid(config('wx.app_id')); $jsApiPayData->SetTimeStamp((string)time()); $rand = md5(time() . mt_rand(0, 1000)); $jsApiPayData->SetNonceStr($rand); $jsApiPayData->SetPackage('prepay_id=' . $wxOrder['prepay_id']); $jsApiPayData->SetSignType('md5'); $sign = $jsApiPayData->MakeSign(); $rawValues = $jsApiPayData->GetValues(); //数组 $rawValues['paySign'] = $sign; unset($rawValues['appId']); return $rawValues; } /** * @return bool * @throws OrderException * @throws TokenException */ private function checkOrderValid() { $order = OrderModel::where('id', '=', $this->orderID) ->find(); if (!$order) { throw new OrderException(); } // $currentUid = Token::getCurrentUid(); if(!Token::isValidOperate($order->user_id)) { throw new TokenException( [ 'msg' => '订单与用户不匹配', 'errorCode' => 10003 ]); } if($order->status != OrderStatusEnum::UNPAID){ throw new OrderException([ 'msg' => '订单已支付过啦', 'errorCode' => 80003, 'code' => 400 ]); } $this->orderNo = $order->order_no; return true; } }
2018-08-15我也遇到同样的问题了,求解
使用新版开发者工具,二维码打不开.网络连接失败.老是这样!使用新版开发者工具,二维码打不开.网络连接失败.老是这样!或者直接登录不了!
2018-08-10wx.requestPayment({ 'timeStamp': '', 'nonceStr': '', 'package': '', 'signType': 'MD5', 'paySign': '', 'success': function (res) { }, 'fail': function (res) { } }) 你知道这些参数是从哪来的吗?
小程序支付JAVA实现您好,我现在遇到个问题,是这样的,现在开发到小程序的支付,但是JAVA的开发文档不知道看哪部分?
2018-08-09可以了,谢谢,是我这的请求没有写完整,我把请求参数,类型,写上之后就好了,谢谢同行们
wx.request为什么发出的是http请求这是请求: wx.request({ url: 'https://his-dev.gusmedsci.cn/hservice', data: { code: res.code }, success: function (res) { console.log(res.data) } }) 这是实际发出的请求: GET http://his-dev.gusmedsci.cn:443/hservice/?code=011JLmyc1b0Wpu0SIbxc1Ksryc1JLmyE 400 (Bad Request) 为什么发出的请求会变为http呢
2018-08-03