1、订单生成后金额改变
$input = new WxPayUnifiedOrder();
$input->SetBody($orderDetail["orderid"]);
$input->SetAttach($orderDetail["cartdata"]);
$input->SetGoods_tag($orderDetail["orderid"]);
[b]$input->SetOut_trade_no($orderDetail["orderid"]);//////如果第一次支付取消了,第二次发起支付金额改变之后会不能支付,没有反映 建议重新生成订单[/b]
后台显示 prepay_id参数错误
$input->SetTotal_fee($orderDetail["totalprice"] * 100);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$input->SetNotify_url("http://www.XXX.com/index.php/A ... 6quot;);
$order = WxPayApi::unifiedOrder($input);
$jsApiParameters = $tools->GetJsApiParameters($order);
$this->ajaxReturn($jsApiParameters);
也就是说,订单生成后金额就不能改变了,要么重新生成订单,要么固定金额。。。对于有需要动态改变金额的项目(范萌,优惠减免),只能重新下单了。。。
2、ThinkPHP和微信支付
微信支付会有授权页面的情况,如果使用ThinkPHP开发项目。
支付授权目录 http://www.XXXXX.com/ 写成这样
实际支付页面的网址
不能这样 index.php/App/SubmitTask/index
必须这样 index.php?g=App&m=SubmitOrder&a=index
重要的事情说三遍:不能上面那样!不能上面那样!不能上面那样!
index.php/App/SubmitTask/index
跳转到
index.php?g=App&m=SubmitOrder&a=index
会变成。。。。
index.php/App/SubmitTask/index.php?g=App&m=SubmitOrder&a=index
不要问我为什么,微信支付就认不出这种网址,(虽然TP可以)
所以 务必保持代码风格的一致性