示例#1
0
        //支付成功
        $order_sn = $notify->data["out_trade_no"];
        $order_sn = trim($order_sn);
        $log->write('wxpay_notify', array('out_trade_no' => $order_sn));
        //把订单中的支付改为微信支付
        $order_info = OrderInfo::get_order_info_by_sn($order_sn);
        if ($order_info) {
            //检查支付钱数是否被修改过
            $total_fee = $notify->data["total_fee"] / 100;
            $money_paid = $order_info[0]['order_money'] + $order_info[0]['shipping_fee'] - $order_info[0]['bonus'];
            if ($total_fee != $money_paid) {
                $log->write('wxpay_money', "支付钱数对不上, 订单号为:" . $order_info[0]['sn'] . ", 微信返回总钱数" . $total_fee . "!=订单总钱数" . $money_paid . "\n" . json_encode($notify->data) . "\n" . json_encode($order_info) . "\n");
                exit('error');
            }
            $order_id = $order_info[0]['order_id'];
            //支付成功,改变支付状态为yes
            if ($order_info[0]['pay_status'] == 'no') {
                $order = new OrderInfo($order_id);
                $modify = $order->wx_pay_status();
                $log->write('wxpay_notify_changepay', $modify);
                $log->write('wxpay_notify', "【支付成功】:\n" . $xml . "\n");
            }
        } else {
            exit('error');
        }
    }
    //商户自行增加处理流程,
    //例如:更新订单状态
    //例如:数据库操作
    //例如:推送支付完成信息
}