54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
namespace app\api\wxapi;
|
|
|
|
use app\api\wxapi\pay\WxPayApi;
|
|
use app\api\wxapi\pay\JsApiPay;
|
|
use app\api\wxapi\pay\WxPayConfig;
|
|
use app\api\wxapi\pay\WxPayUnifiedOrder;
|
|
use app\api\wxapi\pay\Log;
|
|
|
|
class WxPay{
|
|
//打印输出数组信息
|
|
function printf_info($data)
|
|
{
|
|
foreach($data as $key=>$value){
|
|
echo "<font color='#00ff55;'>$key</font> : ".htmlspecialchars($value, ENT_QUOTES)." <br/>";
|
|
}
|
|
}
|
|
|
|
function unifiedorder(){
|
|
try{
|
|
|
|
$tools = new JsApiPay();
|
|
$openId = $tools->GetOpenid();
|
|
|
|
//②、统一下单
|
|
$input = new WxPayUnifiedOrder();
|
|
$input->SetBody("test");
|
|
$input->SetAttach("test");
|
|
$input->SetOut_trade_no("sdkphp".date("YmdHis"));
|
|
$input->SetTotal_fee("1");
|
|
$input->SetTime_start(date("YmdHis"));
|
|
$input->SetTime_expire(date("YmdHis", time() + 600));
|
|
$input->SetGoods_tag("test");
|
|
$input->SetNotify_url('http://'.$_SERVER['HTTP_HOST']."/index.php/Api/wxjsapi/notify");
|
|
$input->SetTrade_type("JSAPI");
|
|
$input->SetOpenid($openId);
|
|
$config = new WxPayConfig();
|
|
$order = WxPayApi::unifiedOrder($config, $input);
|
|
//echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
|
|
$this->printf_info($order);
|
|
$PayConf['jsApiParameters'] = $tools->GetJsApiParameters($order);
|
|
|
|
//获取共享收货地址js函数参数
|
|
$PayConf['editAddress'] = $tools->GetEditAddressParameters();
|
|
return $PayConf;
|
|
} catch(Exception $e) {
|
|
Log::ERROR(json_encode($e));
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|