chengkun
2025-05-22 3b321a2882db082c68aaf8771e0f55daa58a63d3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
 
/*
 * 生成微信订单
 */
 
function wxOrder($data=array()){
    
    
    require_once APP_PATH."api/wxpay/lib/WxPay.Api.php";
    require_once APP_PATH."api/wxpay/WxPay.NativePay.php";
 
    $notify = new NativePay();
    
    $input = new WxPayUnifiedOrder();
    $input->SetBody($data['body']);
    $input->SetOut_trade_no($data['id']);
    $input->SetTotal_fee($data['total_fee']*100);
    $input->SetTime_start(date("YmdHis"));
    $input->SetTime_expire(date("YmdHis", time() + 600));
    $input->SetNotify_url($data['url']."/api/wxpay/notify.php");
    $input->SetTrade_type("NATIVE");
    $input->SetProduct_id($data['id']);
    $result = $notify->GetPayUrl($input);
    $url = $result["code_url"];
    return $url;
}
 
 
function wxWapOrder($data=array()){
    
    require_once APP_PATH."api/wxpay/lib/WxPay.Api.php";
    require_once APP_PATH."api/wxpay/WxPay.JsApiPay.php";
 
    //①、获取用户openid
    $tools = new JsApiPay();
 
    $openId = $tools->GetOpenid();
    
    if(!$openId){
        return false;
    }
    //②、统一下单
    $input = new WxPayUnifiedOrder();
    $input->SetBody($data['body']);
    $input->SetOut_trade_no($data['id']);
    $input->SetTotal_fee($data['total_fee']*100);
    $input->SetTime_start(date("YmdHis"));
    $input->SetTime_expire(date("YmdHis", time() + 600));
    $input->SetNotify_url($data['url']."/api/wxpay/notify.php");
    $input->SetTrade_type("JSAPI");
    $input->SetOpenid($openId);
    $order = WxPayApi::unifiedOrder($input);
    $jsApiParameters = $tools->GetJsApiParameters($order);
    
    return $jsApiParameters;
}
function wxWapOrderMweb($data=array()){
    
    require_once APP_PATH."api/wxpay/lib/WxPay.Api.php";
    require_once APP_PATH."api/wxpay/WxPay.JsApiPay.php";
 
    $tools = new JsApiPay();
 
    
    $input = new WxPayUnifiedOrder();
 
 
    $input = new WxPayUnifiedOrder();
    $input->SetBody($data['body']);
    $input->SetOut_trade_no($data['id']);
    $input->SetTotal_fee($data['total_fee']*100);
    $input->SetTime_start(date("YmdHis"));
    $input->SetTime_expire(date("YmdHis", time() + 600));
    $input->SetNotify_url($data['url']."/api/wxpay/notify.php");
    $input->SetTrade_type("MWEB");
    
    //$input->SetSpbill_create_ip(fun_ip_get());
    
    $order = WxPayApi::unifiedOrder($input);
    
    
    return $order;
}
 
function wxXcxOrder($data=array()){
    require_once APP_PATH."api/wxpay/lib/WxPay.Api.php";
    require_once APP_PATH."api/wxpay/WxPay.JsApiPay.php";
    //①、获取用户openid
    $openId = $data['openid'];
    if(!$openId){
        return false;
    }
    //②、统一下单  
    $input = new WxPayUnifiedOrder();
    $input->SetBody($data['body']);
    $input->SetOut_trade_no($data['id']);
    $input->SetTotal_fee($data['total_fee']*100);
    $input->SetTime_start(date("YmdHis"));
    $input->SetTime_expire(date("YmdHis", time() + 600));
    $input->SetNotify_url($data['url']."/api/wxpay/notify.php");
    $input->SetTrade_type("JSAPI");
    $input->SetOpenid($openId);
    $order = WxPayApi::unifiedOrder($input,6,2);
    
    if ($order['return_code'] == 'SUCCESS' && $order['result_code'] == 'SUCCESS'){
        
        $tools = new JsApiPay();
        $jsApiParameters = $tools->GetJsApiParameters($order);
        
        return $jsApiParameters;
    }else{
        
        return $order;
    }
}
?>